<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6592780324121647341</id><updated>2026-05-05T02:57:59.570+07:00</updated><category term="VB.Net"/><category term="PHP"/><category term="VB"/><category term="JavaScript"/><category term="CSS"/><category term="JQuery"/><category term="Java"/><title type='text'>Listingprogram.Log</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-3293712261918935677</id><published>2010-11-03T08:04:00.011+07:00</published><updated>2012-05-29T10:21:47.283+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JQuery"/><title type='text'>Membuat Color Slider Dengan JQuery UI</title><content type='html'>&lt;span style=&quot;font-weight: bold;&quot;&gt;JQuery UI merupakan library JavaScript untuk membangun user interface web dengan lebih mudah dan cepat. Salah satu widget user interface yang ada di JQuery UI adalah Slider.&lt;/span&gt;&lt;br /&gt;
Tip kali ini adalah memanfaatkan widget slider pada JQuery UI untuk membuat Color Slider (simulasi pencampuran warna RGB). Untuk menampilkan widget slider menggunakan JQuery UI kita dapat menggunakan kode berikut:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot;
href=&quot;development-bundle/themes/smoothness/ui.all.css&quot;&amp;gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt;
&amp;lt;title&amp;gt;jQuery UI Slider Example&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div id=&quot;mySlider&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;
src=&quot;development-bundle/jquery-1.3.2.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;
src=&quot;development-bundle/ui/ui.core.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;
src=&quot;development-bundle/ui/ui.slider.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
 $(function(){
  $(&quot;#mySlider&quot;).slider();
});
&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Hasil yang didapatkan ketika ditampilkan di layar adalah sebuah slider seperti pada gambar.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioQq7VyC4HPPZGJzYh-0ioAKZc8r8PrgBUqn4XJCe0JMjDBByvy5PYmbRpra3vrWx7W1pu59MaOx9k1ImjussmaL6lquQV6wBEo60Tiz72moRx-Jc5eGkrQaCUxyqsSuh1nuOUJSTNrs8/s1600/02.tif&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5612350718089562658&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioQq7VyC4HPPZGJzYh-0ioAKZc8r8PrgBUqn4XJCe0JMjDBByvy5PYmbRpra3vrWx7W1pu59MaOx9k1ImjussmaL6lquQV6wBEo60Tiz72moRx-Jc5eGkrQaCUxyqsSuh1nuOUJSTNrs8/s320/02.tif&quot; style=&quot;cursor: hand; cursor: pointer; float: left; height: 119px; margin: 0 10px 10px 0; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Slider tersebut telah memiliki fungsi-fungsi dasar seperti digeser dengan menggunakan mouse atau keyboard. Untuk pembuatan color slider dibutuhkan 3 buah slider yang mewakili warna merah, hijau dan biru. Langkah-langkah pembuatannya adalah sebagai berikut:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Buat terlebih dulu style sheet yang nanti akan dibutuhkan.&lt;/li&gt;
&lt;pre&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
 &amp;lt;style type=&quot;text/css&quot;&amp;gt;
 #container {
   width:426px;
   height:150px;
   position:relative;
   font:bold 13px Georgia;
   padding:20px 20px 0;
   background:#eeeeee;
 }

 #container label {
   float:left;
   text-align:right;
   margin:0 30px 26px 0;
   clear:left;
 }

 .ui-slider {
    width:240px;
    float:left;
  }

 .ui-slider-handle {
   width:15px;
   height:27px;
 }

 #colorBox {
   width:104px;
   height:94px;
   float:right;
   margin:-83px 0 0 0;
   background:#ffffff;
 }

 #container #outputLabel {
    float:right;
   margin:-14px 10px 0 0;
 }

 #output {
   width:100px;
   text-align:center;
   float:right;
   clear:both;
   margin-top:-17px;
}
 &amp;lt;/style&amp;gt;

 &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot;
   href=&quot;development-bundle/themes/smoothness/ui.all.css&quot;&amp;gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;
   charset=utf-8&quot;&amp;gt;
 &amp;lt;title&amp;gt;jQuery UI Color Slider Example&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;li&gt;Untuk interface utamanya, kita menggunakan tiga buah slider yang mewakili merah, hijau dan biru. Untuk menampilkan widget slider ini dibutuhkan beberapa library, yaitu ui.all.css, jquery-1.3.2.js, ui.core.css, dan ui.slider.js. (File-file tambahan jquery dapat diunduh di &lt;a href=&quot;http://docs.jquery.com/Release:jQuery_1.3.2&quot;&gt;http://docs.jquery.com/Release:jQuery_1.3.2&lt;/a&gt;)&lt;/li&gt;
&lt;br /&gt;&lt;pre&gt;&amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;container&quot; class=&quot;ui-corner-all ui-widget-content 
      ui-helper-clearfix&quot;&amp;gt;
      &amp;lt;label&amp;gt;R:&amp;lt;/label&amp;gt;&amp;lt;div id=&quot;rSlider&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;
      &amp;lt;label&amp;gt;G:&amp;lt;/label&amp;gt;&amp;lt;div id=&quot;gSlider&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;
      &amp;lt;label&amp;gt;B:&amp;lt;/label&amp;gt;&amp;lt;div id=&quot;bSlider&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;colorBox&quot; class=&quot;ui-corner-all ui-widget- 
        content&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;input id=&quot;output&quot; type=&quot;text&quot; value=&quot;rgb(255,255,255)&quot;&amp;gt;
      &amp;lt;label id=&quot;outputLabel&quot;&amp;gt;Color value:&amp;lt;/label&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;script type=&quot;text/javascript&quot;  
      src=&quot;development-bundle/jquery-1.3.2.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script type=&quot;text/javascript&quot;  
      src=&quot;development-bundle/ui/ui.core.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script type=&quot;text/javascript&quot;  
      src=&quot;development-bundle/ui/ui.slider.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script type=&quot;text/javascript&quot;&amp;gt;       
      $(function(){
        var r = 255,
          g = 255,
          b = 255,
     rgbString;
        var sliderOpts = {
     min:0,
          max: 255,
     value: 255,
          slide: function(e, ui) {
            r = $(&quot;#rSlider&quot;).slider(&quot;value&quot;);
            g = $(&quot;#gSlider&quot;).slider(&quot;value&quot;);
            b = $(&quot;#bSlider&quot;).slider(&quot;value&quot;);
            rgbString = &quot;rgb(&quot; + r + &quot;,&quot; + g + &quot;,&quot; + b + &quot;)&quot;;
            
            $(&quot;#colorBox&quot;).css({ backgroundColor: rgbString });
            $(&quot;#output&quot;).val(rgbString);
          }
        };
        $(&quot;#rSlider, #gSlider, #bSlider&quot;).slider(sliderOpts);
      });
    &amp;lt;/script&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;li&gt;Tampilan yang didapatkan ketika program dijalankan adalah sebagai berikut:&lt;/li&gt;
&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIo_RUfLA9tn0_gRmTFJkPv5RxNKlCu_TTM6KO-NBR3updcx-vvFXeKeu06PZ-sIA338thM7rZFoiEYWJCgZcDvRvtfXYCtqhuvChs7dHYrKn_IMXkiq1kv5qEDer5ewRP838jEWIJ1M4/s1600/01.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5612350608844705602&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIo_RUfLA9tn0_gRmTFJkPv5RxNKlCu_TTM6KO-NBR3updcx-vvFXeKeu06PZ-sIA338thM7rZFoiEYWJCgZcDvRvtfXYCtqhuvChs7dHYrKn_IMXkiq1kv5qEDer5ewRP838jEWIJ1M4/s320/01.jpg&quot; style=&quot;cursor: hand; cursor: pointer; float: left; height: 187px; margin: 0 10px 10px 0; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/3293712261918935677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/11/membuat-color-slider-dengan-jquery-ui.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/3293712261918935677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/3293712261918935677'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/11/membuat-color-slider-dengan-jquery-ui.html' title='Membuat Color Slider Dengan JQuery UI'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioQq7VyC4HPPZGJzYh-0ioAKZc8r8PrgBUqn4XJCe0JMjDBByvy5PYmbRpra3vrWx7W1pu59MaOx9k1ImjussmaL6lquQV6wBEo60Tiz72moRx-Jc5eGkrQaCUxyqsSuh1nuOUJSTNrs8/s72-c/02.tif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-568661574917988479</id><published>2010-02-03T18:58:00.002+07:00</published><updated>2010-02-03T19:03:49.501+07:00</updated><title type='text'>Visual Basic – Mendeteksi CD Rom dan Removable Disk</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Ingin tahu bagaimana mendeteksi CD Rom dan Removable Drive di Visual Basic? Tips kali ini akan membahas bagaimana mendeteksi CD Rom dan Removable Drive termasuk USB Flash Disc yang tertancap pada komputer saat itu.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Untuk mendeteksi keseluruhan drive yang ada di sebuah komputer, ada dua pemanggilan API (Application Programming Interface) yang dibutuhkan, yaitu Function GetdriveType dan Function GetLogicalDriveStrings. Function GetLogicalDriveStrings akan menghasilkan seluruh drive yang terpasang pada komputer, sedangakan function GetDriveType akan menghasilkan tipe drive. Jenis-jenis drive yang dapat dideteksi adalah Removable, Fixed, Remote, CD Rom dan RAM Drive.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Langkah-langkah untuk membuat programnya adalah:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Rancang sebuah form dengan sebuah button bernama command1, dua buah label, masing-masing bernama lblCDRom dan lblRemovable.&lt;/li&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQGFXeBgvi8l3wxrC3B8QPFwO1krQg7HhpZnV-53NBlkPvIeVk0rB84Qvu3zyeESw__643GMX8RBbF7M_JTm38vD7y3AqcHNz8EsumS7opC9582I9WM2PTb-T38fhBo4vOgMgfjuUPg0/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 159px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQGFXeBgvi8l3wxrC3B8QPFwO1krQg7HhpZnV-53NBlkPvIeVk0rB84Qvu3zyeESw__643GMX8RBbF7M_JTm38vD7y3AqcHNz8EsumS7opC9582I9WM2PTb-T38fhBo4vOgMgfjuUPg0/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5433986548275068498&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Bagian deklarasi untuk pemanggilan fungsi API adalah sebagai berikut:&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;Private Declare Function GetDriveType Lib &quot;kernel32&quot; _&lt;br /&gt;  Alias &quot;GetDriveTypeA&quot; (ByVal nDrive As String) As Long&lt;br /&gt;Private Declare Function GetLogicalDriveStrings Lib &quot;kernel32&quot; _ &lt;br /&gt;  Alias &quot;GetLogicalDriveStringsA&quot; (ByVal nBufferLength As Long, _ &lt;br /&gt;  ByVal lpBuffer As String) As Long&lt;br /&gt;&lt;br /&gt;Private Const DRIVE_REMOVABLE = 2&lt;br /&gt;Private Const DRIVE_CDROM = 5&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Dan event penekanan button:&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;Private Sub Command1_Click()&lt;br /&gt;&lt;br /&gt;Dim r&amp;, allDrives$, JustOneDrive$, pos%, DriveType&amp;&lt;br /&gt;Dim RemovableDrive$, CDRomDrive$&lt;br /&gt;Dim Removable As Integer, CDRom As Integer&lt;br /&gt;&lt;br /&gt;allDrives$ = Space$(64)&lt;br /&gt;r&amp; = GetLogicalDriveStrings(Len(allDrives$), allDrives$)&lt;br /&gt;allDrives$ = Left$(allDrives$, r&amp;)&lt;br /&gt;Do&lt;br /&gt;pos% = InStr(allDrives$, Chr$(0))&lt;br /&gt;If pos% Then&lt;br /&gt;        JustOneDrive$ = Left$(allDrives$, pos%)&lt;br /&gt;        allDrives$ = Mid$(allDrives$, pos% + 1, Len(allDrives$))&lt;br /&gt;        DriveType&amp; = GetDriveType(JustOneDrive$)&lt;br /&gt;        If DriveType&amp; = DRIVE_REMOVABLE Then&lt;br /&gt;           Removable% = True&lt;br /&gt;           RemovableDrive$ = RemovableDrive$ &amp; &quot; &quot; &amp; JustOneDrive$&lt;br /&gt;        End If&lt;br /&gt;        If DriveType&amp; = DRIVE_CDROM Then&lt;br /&gt;           CDRom% = True&lt;br /&gt;           CDRomDrive$ = CDRomDrive$ &amp; &quot; &quot; &amp; JustOneDrive$&lt;br /&gt;        End If&lt;br /&gt;      End If&lt;br /&gt;  Loop Until allDrives$ = &quot;&quot;&lt;br /&gt;  &lt;br /&gt;  If Removable% Then&lt;br /&gt;    LblRemovable = &quot;Drive Removable ditemukan pada drive &quot; &amp; UCase$(RemovableDrive$)&lt;br /&gt;  Else&lt;br /&gt;    LblRemovable = &quot;Tidak ada Drive Removable.&quot;&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;  If CDRom% Then&lt;br /&gt;    lblCDRom = &quot;CD Rom Drive ditemukan pada drive &quot; &amp; UCase$(CDRomDrive$)&lt;br /&gt;  Else&lt;br /&gt;    lblCDRom = &quot;Tidak ada CD Rom.&quot;&lt;br /&gt;  End If&lt;br /&gt;    &lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Simpan form dengan nama detek.frm. Jalankan program, Anda akan mendapatkan tampilan seperti pada gambar.&lt;/li&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzM0BwXjqX2_GzNSZ4tkWWNHIIII9jJr3-Nk6gj07K3e1PS_TMl029X0g0Q3_M_DXsC5Lwvig9uE21W5r-cCY4ZSm3h8Sg01z-Qav-Ge98YjMBdw5dLd_ufimaea5wz3yMVKmMeH_EdzY/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 157px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzM0BwXjqX2_GzNSZ4tkWWNHIIII9jJr3-Nk6gj07K3e1PS_TMl029X0g0Q3_M_DXsC5Lwvig9uE21W5r-cCY4ZSm3h8Sg01z-Qav-Ge98YjMBdw5dLd_ufimaea5wz3yMVKmMeH_EdzY/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5433986667541286418&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/568661574917988479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/02/visual-basic-mendeteksi-cd-rom-dan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/568661574917988479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/568661574917988479'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/02/visual-basic-mendeteksi-cd-rom-dan.html' title='Visual Basic – Mendeteksi CD Rom dan Removable Disk'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJQGFXeBgvi8l3wxrC3B8QPFwO1krQg7HhpZnV-53NBlkPvIeVk0rB84Qvu3zyeESw__643GMX8RBbF7M_JTm38vD7y3AqcHNz8EsumS7opC9582I9WM2PTb-T38fhBo4vOgMgfjuUPg0/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-8033748708078446377</id><published>2010-01-23T07:32:00.004+07:00</published><updated>2010-01-23T07:37:46.611+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Menggambar Dengan Menggunakan Objek Font, Color dan Graphics Pada Java</title><content type='html'>&lt;span style=&quot;font-weight:bold;&quot;&gt;Java menyediakan berbagai macam objek untuk keperluan grafik 2D yang dapat diakses pada library awt dan swing. Beberapa objek seperti Font, Color dan Graphics dapat dimanfaatkan untuk membuat tampilan grafik yang menarik.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objek Color adalah objek yang berhubungan dengan pewarnaan. Ketika kita menggambar suatu objek atau menuliskan teks tertentu, Java menerima parameter berupa objek color yang dipanggil melalui method setcolor (pada objek graphics) untuk menentukan warna dari objek tersebut. Objek lain yang dapat diterima adalah objek Font untuk menentukan jenis huruf yang muncul ketika dilakukan penulisan (menggunakan method drawstring) pada Canvas/frame.&lt;br /&gt;&lt;br /&gt;Langkah-langkahnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Karena aplikasi ini merupakan aplikasi grafik, maka beberapa library perlu di-import terlebih dulu.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;import java.awt.Font;&lt;br /&gt;import java.awt.FontMetrics;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;&lt;br /&gt;import javax.swing.ImageIcon;&lt;br /&gt;import javax.swing.JComponent;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Beberapa warna yang perlu didefinisikan menjadi objek terlebih dulu adalah warna m_tRed (untuk menghasilkan efek transparansi warna merah), m_tGreen (untuk menghasilkan efek transparansi warna hijau), m_tBlue (untuk menghasilkan efek transparansi warna biru). Begitu pula untuk font yang hendak digunakan, perlu diinisialisasi terlebih dulu hingga menjadi objek yang nantinya dapat digunakan. Karena nama class adalah MyCanvas, maka penyimpanan file menggunakan nama MyCanvas.java&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class MyCanvas extends JComponent {&lt;br /&gt;  private static Color m_tRed = new Color(255, 0, 0, 150);&lt;br /&gt;&lt;br /&gt;  private static Color m_tGreen = new Color(0, 255, 0, 150);&lt;br /&gt;&lt;br /&gt;  private static Color m_tBlue = new Color(0, 0, 255, 150);&lt;br /&gt;&lt;br /&gt;  private static Font monoFont = new Font(&quot;Monospaced&quot;, Font.BOLD&lt;br /&gt;      | Font.ITALIC, 36);&lt;br /&gt;&lt;br /&gt;  private static Font sanSerifFont = new Font(&quot;SanSerif&quot;, Font.PLAIN, 12);&lt;br /&gt;&lt;br /&gt;  private static Font serifFont = new Font(&quot;Serif&quot;, Font.BOLD, 24);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah meletakkan proses penggambaran pada method paintComponent (melakukan override). Method ini akan dipanggil secara otomatis ketika sebuah frame (window) menjadi visible atau di-resize.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public void paintComponent(Graphics g) {&lt;br /&gt;    super.paintComponent(g);&lt;br /&gt;&lt;br /&gt;    // draw entire component white&lt;br /&gt;    g.setColor(Color.white);&lt;br /&gt;    g.fillRect(0, 0, getWidth(), getHeight());&lt;br /&gt;&lt;br /&gt;    // yellow circle&lt;br /&gt;    g.setColor(Color.yellow);&lt;br /&gt;    g.fillOval(0, 0, 240, 240);&lt;br /&gt;&lt;br /&gt;    // magenta circle&lt;br /&gt;    g.setColor(Color.magenta);&lt;br /&gt;    g.fillOval(160, 160, 240, 240);&lt;br /&gt;&lt;br /&gt;    // paint the icon below blue sqaure&lt;br /&gt;    int w = java2sLogo.getIconWidth();&lt;br /&gt;    int h = java2sLogo.getIconHeight();&lt;br /&gt;    java2sLogo.paintIcon(this, g, 280 - (w / 2), 120 - (h / 2));&lt;br /&gt;&lt;br /&gt;    // paint the icon below red sqaure&lt;br /&gt;    java2sLogo.paintIcon(this, g, 120 - (w / 2), 280 - (h / 2));&lt;br /&gt;&lt;br /&gt;    // transparent red square&lt;br /&gt;    g.setColor(m_tRed);&lt;br /&gt;    g.fillRect(60, 220, 120, 120);&lt;br /&gt;&lt;br /&gt;    // transparent green circle&lt;br /&gt;    g.setColor(m_tGreen);&lt;br /&gt;    g.fillOval(140, 140, 120, 120);&lt;br /&gt;&lt;br /&gt;    // transparent blue square&lt;br /&gt;    g.setColor(m_tBlue);&lt;br /&gt;    g.fillRect(220, 60, 120, 120);&lt;br /&gt;&lt;br /&gt;    g.setColor(Color.black);&lt;br /&gt;&lt;br /&gt;    g.setFont(monoFont);&lt;br /&gt;    FontMetrics fm = g.getFontMetrics();&lt;br /&gt;    w = fm.stringWidth(&quot;Java Source&quot;);&lt;br /&gt;    h = fm.getAscent();&lt;br /&gt;    g.drawString(&quot;Java Source&quot;, 120 - (w / 2), 120 + (h / 4));&lt;br /&gt;&lt;br /&gt;    g.setFont(sanSerifFont);&lt;br /&gt;    fm = g.getFontMetrics();&lt;br /&gt;    w = fm.stringWidth(&quot;and&quot;);&lt;br /&gt;    h = fm.getAscent();&lt;br /&gt;    g.drawString(&quot;and&quot;, 200 - (w / 2), 200 + (h / 4));&lt;br /&gt;&lt;br /&gt;    g.setFont(serifFont);&lt;br /&gt;    fm = g.getFontMetrics();&lt;br /&gt;    w = fm.stringWidth(&quot;Support.&quot;);&lt;br /&gt;    h = fm.getAscent();&lt;br /&gt;    g.drawString(&quot;Support.&quot;, 280 - (w / 2), 280 + (h / 4));&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Method lain yang diperlukan adalah method untuk menentukan dimensi dari frame.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public Dimension getPreferredSize() {&lt;br /&gt;    return new Dimension(400, 400);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Dimension getMinimumSize() {&lt;br /&gt;    return getPreferredSize();&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Terakhir adalah implementasi class MyCanvas menjadi objek yang nyata pada void main.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  public static void main(String args[]) {&lt;br /&gt;    JFrame mainFrame = new JFrame(&quot;Graphics demo&quot;);&lt;br /&gt;    mainFrame.getContentPane().add(new MyCanvas());&lt;br /&gt;    mainFrame.pack();&lt;br /&gt;    mainFrame.setVisible(true);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Untuk menjalankan program Java ini, kita dapat mengompilasi dengan javac.exe serta menjalankan menggunakan java.exe&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt; javac MyCanvas.java&lt;br /&gt;&gt; java MyCanvas&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Tampilan yang didapatkan adalah seperti berikut:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi35ZjzPadM-VxYgOAiFaoFvOP_rJh7wa2EjJRoZIHiRMl4qcdyX7luPt_FnBiQVD67EIcHorC8GZVNo4lSa2EXUcDbgkYnmRpwCcQ0eyx8rY3-f3IiI_rQgFVgLpmXwP7a-RErN8p1ml0/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 304px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi35ZjzPadM-VxYgOAiFaoFvOP_rJh7wa2EjJRoZIHiRMl4qcdyX7luPt_FnBiQVD67EIcHorC8GZVNo4lSa2EXUcDbgkYnmRpwCcQ0eyx8rY3-f3IiI_rQgFVgLpmXwP7a-RErN8p1ml0/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5429727809573182258&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/8033748708078446377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/01/menggambar-dengan-menggunakan-objek.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8033748708078446377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8033748708078446377'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/01/menggambar-dengan-menggunakan-objek.html' title='Menggambar Dengan Menggunakan Objek Font, Color dan Graphics Pada Java'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi35ZjzPadM-VxYgOAiFaoFvOP_rJh7wa2EjJRoZIHiRMl4qcdyX7luPt_FnBiQVD67EIcHorC8GZVNo4lSa2EXUcDbgkYnmRpwCcQ0eyx8rY3-f3IiI_rQgFVgLpmXwP7a-RErN8p1ml0/s72-c/02.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-5417706448059639106</id><published>2010-01-23T07:20:00.002+07:00</published><updated>2010-01-23T07:26:00.053+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>Komponen Kalender Pada Layout 2 Kolom</title><content type='html'>&lt;span style=&quot;font-weight:bold;&quot;&gt;Situs dengan layout 2 kolom sering digunakan untuk memberikan ruang penambahan untuk komponen tertentu, misalnya clock, kalender, shoutbox, dan sebagainya. Layout 2 kolom ini, dapat dibuat dengan mendefinisikan style menggunakan Cascading Style Sheet (CSS).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tip kali ini adalah menerapkan layout 2 kolom dengan menambahkan komponen kalender di sisi kanan. Komponen kalender dibuat dengan menggunakan JavaScript.Langkah-langkah untuk membuatnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Kita buat kode awal untuk HTML dan mendefinisikan style untuk layout 2 kolom ini.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html lang=&quot;en&quot;&amp;gt; &lt;br /&gt;&amp;lt;head&amp;gt; &lt;br /&gt;  &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt; &lt;br /&gt;  &amp;lt;title&amp;gt;Kalender&amp;lt;/title&amp;gt; &lt;br /&gt;  &amp;lt;style type=&quot;text/css&quot;&amp;gt; &lt;br /&gt;    body { background: #bfadad; }&lt;br /&gt;    #container {&lt;br /&gt;      width: 755px;&lt;br /&gt;      margin: 0 0 0 auto;  }    &lt;br /&gt;    #header { height: 70px; }&lt;br /&gt;    #footer {&lt;br /&gt;    height: 68px;&lt;br /&gt;    clear: both; }&lt;br /&gt;#content {&lt;br /&gt;  width: 470px;&lt;br /&gt;  float: left;&lt;br /&gt;  margin-top: -80px;&lt;br /&gt;  padding-left: 46px; }&lt;br /&gt;#navigation {&lt;br /&gt;  width: 190px;&lt;br /&gt;  float: left;&lt;br /&gt;  margin-top: -20px;&lt;br /&gt;  padding-left: 30px; } &lt;br /&gt;&amp;lt;/style&amp;gt; &lt;br /&gt;&amp;lt;/head&amp;gt; &lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Layout dapat dibagi menjadi beberapa bagian, yaitu header (yang diletakkan di atas), content (sebagai bagian utama/isi) dan navigation (tempat meletakkan kalender). &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;div id=&quot;container&quot;&amp;gt;&lt;br /&gt;&amp;lt;div id=&quot;header&quot;&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id=&quot;content&quot;&amp;gt;&lt;br /&gt;&amp;lt;h1&amp;gt;Lorem Ipsum&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut...&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Untuk bagian navigation, kita akan langsung letakkan kode JavaScript untuk menampilkan kalender.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;div id=&quot;navigation&quot;&amp;gt;&lt;br /&gt;&amp;lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&amp;gt; &lt;br /&gt;&amp;lt;!-- Begin &lt;br /&gt;monthnames = new Array( &quot;January&quot;, &quot;Februrary&quot;, &quot;March&quot;, &quot;April&quot;, &quot;May&quot;, &quot;June&quot;, &quot;July&quot;, &lt;br /&gt;&quot;August&quot;, &quot;September&quot;, &quot;October&quot;, &quot;November&quot;, &quot;Decemeber&quot;); &lt;br /&gt;var linkcount=0; &lt;br /&gt;&lt;br /&gt;function addlink(month, day, href) { &lt;br /&gt;  var entry = new Array(3); &lt;br /&gt;  entry[0] = month; &lt;br /&gt;  entry[1] = day; &lt;br /&gt;  entry[2] = href; &lt;br /&gt;  this[linkcount++] = entry; &lt;br /&gt;} &lt;br /&gt;  Array.prototype.addlink = addlink; &lt;br /&gt;  linkdays = new Array(); &lt;br /&gt;  monthdays = new Array(12); &lt;br /&gt;  monthdays[0]=31; monthdays[1]=28; monthdays[2]=31; &lt;br /&gt;  monthdays[3]=30; monthdays[4]=31; monthdays[5]=30; &lt;br /&gt;  monthdays[6]=31; monthdays[7]=31; monthdays[8]=30; &lt;br /&gt;  monthdays[9]=31; monthdays[10]=30; monthdays[11]=31; &lt;br /&gt;  &lt;br /&gt;  todayDate=new Date(); &lt;br /&gt;  thisday=todayDate.getDay(); &lt;br /&gt;  thismonth=todayDate.getMonth(); &lt;br /&gt;  thisdate=todayDate.getDate(); &lt;br /&gt;  thisyear=todayDate.getYear(); &lt;br /&gt;&lt;br /&gt;  thisyear = thisyear % 100; &lt;br /&gt;  thisyear = ((thisyear &amp;lt; 50) ? (2000 + thisyear) : (1900 + thisyear)); &lt;br /&gt;  if (((thisyear % 4 == 0) &amp;&amp; !(thisyear % 100 == 0)) ||(thisyear % 400 == 0)) &lt;br /&gt;    monthdays[1]++; &lt;br /&gt;  &lt;br /&gt;  startspaces=thisdate; &lt;br /&gt;  while (startspaces &amp;gt; 7) startspaces-=7; &lt;br /&gt;  startspaces = thisday - startspaces + 1; &lt;br /&gt;  if (startspaces &amp;lt; 0) startspaces+=7; &lt;br /&gt;&lt;br /&gt;  document.write(&quot;&amp;lt;table border=2 bgcolor=white &quot;); &lt;br /&gt;  document.write(&quot;bordercolor=black&amp;gt;&amp;lt;font color=black&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan=7&amp;gt;&amp;lt;center&amp;gt;&amp;lt;strong&amp;gt;&quot; + monthnames[thismonth] + &quot; &quot; + thisyear + &quot;&amp;lt;/strong&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;); &lt;br /&gt;&lt;br /&gt;  document.write(&quot;&amp;lt;tr&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;Su&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;M&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;Tu&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;W&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;Th&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;F&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;td align=center&amp;gt;Sa&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;/tr&amp;gt;&quot;); &lt;br /&gt;  document.write(&quot;&amp;lt;tr&amp;gt;&quot;); &lt;br /&gt;&lt;br /&gt;  for (s=0;s&amp;lt;startspaces;s++) { &lt;br /&gt;    document.write(&quot;&amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&quot;); } &lt;br /&gt;  &lt;br /&gt;  count=1; &lt;br /&gt;  while (count &amp;lt;= monthdays[thismonth]) { &lt;br /&gt;    for (b = startspaces;b&amp;lt;7;b++) { &lt;br /&gt;      linktrue=false; &lt;br /&gt;      document.write(&quot;&amp;lt;td&amp;gt;&quot;); &lt;br /&gt;      for (c=0;c&amp;lt;linkdays.length;c++) { &lt;br /&gt;        if (linkdays[c] != null) { &lt;br /&gt;          if ((linkdays[c][0]==thismonth + 1) &amp;&amp; (linkdays[c][1]==count)) { &lt;br /&gt;            document.write(&quot;&amp;lt;a href=\&quot;&quot; + linkdays[c][2] + &quot;\&quot;&amp;gt;&quot;); &lt;br /&gt;            linktrue=true; &lt;br /&gt;          } &lt;br /&gt;        } &lt;br /&gt;      } &lt;br /&gt;&lt;br /&gt;      if (count==thisdate) { &lt;br /&gt;        document.write(&quot;&amp;lt;font color=&#39;FF0000&#39;&amp;gt;&amp;lt;strong&amp;gt;&quot;); } &lt;br /&gt;  &lt;br /&gt;      if (count &amp;lt;= monthdays[thismonth]) { &lt;br /&gt;        document.write(count); &lt;br /&gt;      } else { &lt;br /&gt;        document.write(&quot; &quot;); } &lt;br /&gt;  &lt;br /&gt;      if (count==thisdate) { &lt;br /&gt;        document.write(&quot;&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&quot;); &lt;br /&gt;      } &lt;br /&gt;  &lt;br /&gt;      if (linktrue) &lt;br /&gt;        document.write(&quot;&amp;lt;/a&amp;gt;&quot;); &lt;br /&gt;      document.write(&quot;&amp;lt;/td&amp;gt;&quot;); &lt;br /&gt;      count++; &lt;br /&gt;    } &lt;br /&gt;    document.write(&quot;&amp;lt;/tr&amp;gt;&quot;); &lt;br /&gt;    document.write(&quot;&amp;lt;tr&amp;gt;&quot;); &lt;br /&gt;    startspaces=0; &lt;br /&gt;  } &lt;br /&gt;  document.write(&quot;&amp;lt;/table&amp;gt;&amp;lt;/p&amp;gt;&quot;); // End &lt;br /&gt;--&amp;gt; &amp;lt;/SCRIPT&amp;gt; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id=&quot;footer&quot;&amp;gt;&lt;br /&gt;Copyright &amp;copy; &amp;lt;a href=&quot;mailto:your@address.here&quot;&amp;gt;Your Name&amp;lt;/a&amp;gt;.&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&amp;lt;!--container end--&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Berikut adalah contoh tampilan yang didapatkan:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2M3cKGNVzBe4bnUa2A09ny1LW7jvO4C177vk6IsEJtQ5H1fACrDa9Xev_NT1-KoJUCw0EFXWdmPJf6ksIAEDJ_HZXNOa3gVMTsM4GRrzkHY4iMaT2-w-f_yqXvTl1rrmrhbwTwdYwrg/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 223px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2M3cKGNVzBe4bnUa2A09ny1LW7jvO4C177vk6IsEJtQ5H1fACrDa9Xev_NT1-KoJUCw0EFXWdmPJf6ksIAEDJ_HZXNOa3gVMTsM4GRrzkHY4iMaT2-w-f_yqXvTl1rrmrhbwTwdYwrg/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5429724869542776882&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/5417706448059639106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/01/komponen-kalender-pada-layout-2-kolom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/5417706448059639106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/5417706448059639106'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/01/komponen-kalender-pada-layout-2-kolom.html' title='Komponen Kalender Pada Layout 2 Kolom'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2M3cKGNVzBe4bnUa2A09ny1LW7jvO4C177vk6IsEJtQ5H1fACrDa9Xev_NT1-KoJUCw0EFXWdmPJf6ksIAEDJ_HZXNOa3gVMTsM4GRrzkHY4iMaT2-w-f_yqXvTl1rrmrhbwTwdYwrg/s72-c/02.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-290482072222101794</id><published>2010-01-18T15:44:00.003+07:00</published><updated>2010-01-18T15:53:07.311+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Menerapkan Re-Captcha Untuk Form Pendaftaran</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;CAPTCHA merupakan singkatan dari Completely Automated Public Turing test to tell Computers and Humans. Digunakan untuk melakukan tes dalam menentukan apakah data diisi oleh bot (komputer) atau manusia. CAPTCHA berisikan sebuah atau lebih tulisan yang tidak memiliki arti khusus dengan kumpulan karakter yang didistorsi sedemikian rupa serta background warna tertentu namun masih dalam batas yang wajar untuk dikenali oleh mata manusia. Sedangkan bagi komputer, karakter tersebut tidak dapat terbaca.&lt;br /&gt;&lt;br /&gt;RECAPTCHA tidak jauh berbeda dengan CAPTCHA dan memiliki tujuan utama yang sama. Yang berbeda adalah tulisan yang diminta dimasukkan biasanya minimal dua kata, salah satu merupakan CAPTCHA biasa dan yang lain adalah kata dari sebuah buku atau media cetak yang akan di-digitalisasikan.&lt;br /&gt;&lt;br /&gt;Proses digitalisasi sering kali menghadapi masalah pada karakter yang kurang tajam/banyak noise. Bagi mesin untuk mengenali karakter  semacam itu amatlah sulit, namun bagi mata manusia, hal tersebut tidaklah terlalu sulit. Dari permasalahan digitalisasi tersebut, muncullah ide reCaptcha. Kata dari suatu buku yang sulit didigitalisasi (karena kurang baiknya kualitas scan), ditampilkan sebagai Captcha untuk meminta “bantuan” dari manusia agar mengetikkan kata apa sebenarnya yang dimaksud.&lt;br /&gt;&lt;br /&gt;Untuk menggunakan re-Captcha, kita memerlukan library yang dapat diunduh di situs re-CAPTCHA, yaitu http://www.recaptcha.net. Tip kali ini adalah membuat halaman login dengan validasi menggunakan re-Captcha&lt;br /&gt;&lt;br /&gt;Langkah-langkah untuk membuatnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Kode PHP awal untuk aplikasi ini adalah mendefinisikan publickey dan privatekey. Kedua kunci ini bisa didapatkan dengan gratis melalui registrasi pada recaptcha.net.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$publickey = &quot;6LeSGAkAAAAAAGHNAavz-_-DsdYdIfV_HoIuam67&quot;;&lt;br /&gt;$privatekey = &quot;6LeSGAkAAAAAAGuMfcuG9A0_740-qQ4auCon5piv &quot;;&lt;br /&gt;&lt;br /&gt;require_once(&#39;recaptchalib.php&#39;);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kita siapkan style untuk memperbaiki tampilan form login ini.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&lt;br /&gt;&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;style&amp;gt;&lt;br /&gt;&lt;br /&gt;.label{&lt;br /&gt;  font-family:Verdana, Arial, Helvetica, sans-serif;&lt;br /&gt;  font-size:11px;&lt;br /&gt;  color:#0066FF;&lt;br /&gt;}&lt;br /&gt;.tableBorder{&lt;br /&gt;  border:solid 1px #0066FF;&lt;br /&gt;  margin-top:100px;&lt;br /&gt;}&lt;br /&gt;.message{&lt;br /&gt;  font-family:Verdana, Arial, Helvetica, sans-serif;&lt;br /&gt;  font-size:14px;&lt;br /&gt;  font-weight:bold;&lt;br /&gt;  color:#0066FF;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;PHP Recaptcha&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Proses berikutnya adalah menampilkan form yang terdiri dari masukan nama, email, telepon, dan password.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;   if(!$_POST)&lt;br /&gt;    {&lt;br /&gt;       echo &quot;&amp;lt;form action=\&quot;\&quot; method=\&quot;POST\&quot;&amp;gt;&quot;;&lt;br /&gt;       echo &#39;&amp;lt;table cellpadding=&quot;2px&quot; cellspacing=&quot;1px&quot; bgcolor=&quot;#F4F5F7&quot; width=&quot;400px&quot; class=&quot;tableBorder&quot; align=&quot;center&quot;&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td colspan=&quot;2&quot; bgcolor=&quot;#0066FF&quot; align=&quot;center&quot; &amp;gt; &amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;/tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td colspan=&quot;2&quot; class=&quot;label&quot;&amp;gt; &amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;/tr&amp;gt;&#39;;&lt;br /&gt;       echo &quot;&amp;lt;tr&amp;gt;&quot;;&lt;br /&gt;       echo &#39;&amp;lt;td class=&quot;label&quot; align=&quot;right&quot; width=&quot;40%&quot;&amp;gt;Nama:&amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td&amp;gt;&amp;lt;input type=&quot;text&quot; name=&quot;newname&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td class=&quot;label&quot; align=&quot;right&quot; width=&quot;40%&quot;&amp;gt;Email:&amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td&amp;gt;&amp;lt;input type=&quot;text&quot; name=&quot;email&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&#39;;&lt;br /&gt;   echo &#39;&amp;lt;td class=&quot;label&quot; align=&quot;right&quot; width=&quot;40%&quot;&amp;gt;Telp:&amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td&amp;gt;&amp;lt;input type=&quot;text&quot; name=&quot;telp&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td class=&quot;label&quot; align=&quot;right&quot; width=&quot;40%&quot;&amp;gt;Password:&amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td&amp;gt;&amp;lt;input type=&quot;password&quot; name=&quot;newsandi1&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td class=&quot;label&quot; align=&quot;right&quot; width=&quot;40%&quot;&amp;gt;Re-type Password:&amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td&amp;gt;&amp;lt;input type=&quot;password&quot; name=&quot;newsandi2&quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td colspan=2  align=&quot;center&quot; class=&quot;label&quot; &amp;gt;&#39;;&lt;br /&gt;       echo recaptcha_get_html($publickey);&lt;br /&gt;       echo &#39;&amp;lt;/td&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;tr&amp;gt;&#39;;&lt;br /&gt;       echo &#39;&amp;lt;td colspan=2 align=&quot;right&quot;&amp;gt;&amp;lt;input type=&quot;submit&quot; value=&quot;Submit&quot; /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&#39;;&lt;br /&gt;       echo &quot;&amp;lt;/table&amp;gt;&quot;;&lt;br /&gt;     &lt;br /&gt;       echo &quot;&amp;lt;/form&amp;gt;&quot;;&lt;br /&gt;     &lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Proses pengujian dilakukan dengan memanfaatkan fungsi recaptch_check_answer yang ada di library recaptcha. Jika respon benar, maka ditampilkan di layara &quot;Respon re-captcha BENAR&quot;.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;      $response = recaptcha_check_answer(&lt;br /&gt;      $privatekey,&lt;br /&gt;      $_SERVER[&#39;REMOTE_ADDR&#39;],&lt;br /&gt;      $_POST[&#39;recaptcha_challenge_field&#39;],&lt;br /&gt;      $_POST[&#39;recaptcha_response_field&#39;]);&lt;br /&gt;     &lt;br /&gt;      echo &quot;Nama     : &quot; . $_POST[&#39;newname&#39;] . &quot;&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;      echo &quot;Email    : &quot; . $_POST[&#39;email&#39;] . &quot;&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;      echo &quot;Telp     : &quot; . $_POST[&#39;telp&#39;] . &quot;&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;      echo &quot;Password : &quot; . $_POST[&#39;newsandi1&#39;] . &quot;&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;      if ( $response-&amp;gt;is_valid )&lt;br /&gt;      {&lt;br /&gt;        echo &quot;&amp;lt;h3&amp;gt;Respon re-captcha BENAR&amp;lt;/h3&amp;gt;&quot;;&lt;br /&gt;      &lt;br /&gt;      }&lt;br /&gt;        else&lt;br /&gt;      {&lt;br /&gt;        echo &quot;&amp;lt;h3&amp;gt;Respon re-captcha SALAH&amp;lt;/h3&amp;gt;.&quot;;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; ?&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;5. Berikut adalah beberapa contoh tampilan yang didapatkan:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvwbeqgOOtjLRnesEUbdXd70qHUqTDlq_gUO5uFbwlSss8ezFcFQlVqvIZ4RxKiun6qMkUXoMrCeipYcDyuo_TP9RyMxhwGxuJXQyhDNDd7kRq4m8q9l_wMj6AETA1XOBCE3zRrHr5X8/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 307px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvwbeqgOOtjLRnesEUbdXd70qHUqTDlq_gUO5uFbwlSss8ezFcFQlVqvIZ4RxKiun6qMkUXoMrCeipYcDyuo_TP9RyMxhwGxuJXQyhDNDd7kRq4m8q9l_wMj6AETA1XOBCE3zRrHr5X8/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5428000069725807906&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWphAgB-KIkTjosNBHBkq_4C0Ob5ol-M2Gq4mq4p5y0rm8aBXQQamjFrcV8l2olGz1Bi9MO_Pae0k56td1g9csRiHHkVGTgC4ZHWlRPKual33dITTf1wucbc4mf5R-ec3VZKTzoVblYm4/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 215px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWphAgB-KIkTjosNBHBkq_4C0Ob5ol-M2Gq4mq4p5y0rm8aBXQQamjFrcV8l2olGz1Bi9MO_Pae0k56td1g9csRiHHkVGTgC4ZHWlRPKual33dITTf1wucbc4mf5R-ec3VZKTzoVblYm4/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5428000187729844402&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/290482072222101794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/01/menerapkan-re-captcha-untuk-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/290482072222101794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/290482072222101794'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/01/menerapkan-re-captcha-untuk-form.html' title='Menerapkan Re-Captcha Untuk Form Pendaftaran'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUvwbeqgOOtjLRnesEUbdXd70qHUqTDlq_gUO5uFbwlSss8ezFcFQlVqvIZ4RxKiun6qMkUXoMrCeipYcDyuo_TP9RyMxhwGxuJXQyhDNDd7kRq4m8q9l_wMj6AETA1XOBCE3zRrHr5X8/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-3937969698619689053</id><published>2010-01-18T07:53:00.000+07:00</published><updated>2010-01-18T07:54:09.015+07:00</updated><title type='text'>Membuat Calculator dengan Java</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Java merupakan salah satu bahasa pemrograman yang cukup populer baik di kalangan mahasiswa IT maupun programmer/developer. Java mengusung konsep “Write once run anywhere”, yang artinya sekali programmer menuliskan kode untuk membuat suatu aplikasi, maka aplikasi tersebut dapat dijalankan di berbagai macam platform. Sebagai hasilnya, muncullah aplikasi-aplikasi Java pada berbagai platform,  mulai dari Windows, Linux, Web, Mobile Phone, Peripheral dan banyak lagi.&lt;br /&gt;&lt;br /&gt;Sebagai tip awal untuk Java, kita akan membuat aplikasi sederhana, yaitu kalkulator. Aplikasi kalkulator ini menggunakan mode GUI (Graphical User Interface) yang dilengkapi dengan button-button seperti halnya aplikasi Calculator pada Windows.&lt;br /&gt;Langkah-langkahnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Karena aplikasi ini merupakan aplikasi grafik, maka beberapa library perlu di-import terlebih dulu.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import java.awt.BorderLayout;&lt;br /&gt;import java.awt.Button;&lt;br /&gt;import java.awt.Container;&lt;br /&gt;import java.awt.GridLayout;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;&lt;br /&gt;import javax.swing.JApplet;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;import javax.swing.JTextField;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aplikasi Calculator merupakan turunan dari class JFrame yang ada di library Java.swing. Kita mendefisinikan terlebih dulu class utamanya, yaitu class Calculator, yang sekaligus menunjukkan nama file untuk aplikasi ini, yaitu Calculator.java.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Calculator extends JFrame {&lt;br /&gt;private JTextField display;&lt;br /&gt;private double arg = 0;&lt;br /&gt;private String op = &quot;=&quot;;&lt;br /&gt;private boolean start = true;&lt;br /&gt;TextFieldHandler handler = new TextFieldHandler();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kita siapkan sebuah konstruktor (yang pertama dieksekusi oleh aplikasi) untuk aplikasi calculator ini.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  public Calculator() {&lt;br /&gt;    setLayout(new BorderLayout());&lt;br /&gt;&lt;br /&gt;    display = new JTextField(&quot;0&quot;);&lt;br /&gt;    display.setEditable(false);&lt;br /&gt;    add(display, &quot;North&quot;);&lt;br /&gt;&lt;br /&gt;    JPanel p = new JPanel();&lt;br /&gt;    p.setLayout(new GridLayout(4, 4));&lt;br /&gt;    String buttons = &quot;789/456*123-0.=+&quot;;&lt;br /&gt;    for (int i = 0; i &amp;lt; buttons.length(); i++)&lt;br /&gt;      addButton(p, buttons.substring(i, i + 1));&lt;br /&gt;    add(p, &quot;Center&quot;);&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Pada setiap button, kita perlu memanggil method addActionListener untuk &quot;mendengar&quot; setiap event yang terjadi pada button yang ada.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;private void addButton(Container c, String s) {&lt;br /&gt;  JButton b = new JButton(s);&lt;br /&gt;  c.add(b);&lt;br /&gt;  b.addActionListener(handler);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Event click yang terjadi pada setiap button, akan ditangkap oleh method ActionPerformed. Pada method inilah proses kalkulasi dilakukan.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;private class TextFieldHandler implements ActionListener {&lt;br /&gt;public void actionPerformed( ActionEvent event ) {&lt;br /&gt;  String s = event.getActionCommand();&lt;br /&gt;  if (&#39;0&#39; &lt;= s.charAt(0) &amp;amp;&amp;amp; s.charAt(0) &lt;= &#39;9&#39; || s.equals(&quot;.&quot;)) {       &lt;br /&gt;    if (start)  //pertama kali user menekan button         &lt;br /&gt;      display.setText(s);       &lt;br /&gt;    else&lt;br /&gt;      display.setText(display.getText() + s);       &lt;br /&gt;    start = false;     &lt;br /&gt;    } else {&lt;br /&gt;    if (start) {         &lt;br /&gt;      if (s.equals(&quot;-&quot;)) {           &lt;br /&gt;        display.setText(s);           &lt;br /&gt;        start = false;         &lt;br /&gt;      } else           &lt;br /&gt;          op = s;       &lt;br /&gt;    } else {         //text pada display diubah menjadi double           &lt;br /&gt;      calculate(Double.parseDouble(display.getText()));         &lt;br /&gt;      op = s;         &lt;br /&gt;      start = true;&lt;br /&gt;    } &lt;br /&gt;  }   &lt;br /&gt;} } &lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Setelah database sukses dibuat, kita dapat menjalankan program VB.Net untuk menguji apakah koneksi dapat dibuat atau tidak. Konfigurasi standard yang kita masukkan adalah: Server: localhost, Username: root, Password: [kosong], Database: testkoneksi&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  public void calculate(double n) {&lt;br /&gt;  if (op.equals(&quot;+&quot;))&lt;br /&gt;    arg += n;&lt;br /&gt;  else if (op.equals(&quot;-&quot;))&lt;br /&gt;    arg -= n;&lt;br /&gt;  else if (op.equals(&quot;*&quot;))&lt;br /&gt;    arg *= n;&lt;br /&gt;  else if (op.equals(&quot;/&quot;))&lt;br /&gt;    arg /= n;&lt;br /&gt;  else if (op.equals(&quot;=&quot;))&lt;br /&gt;    arg = n;&lt;br /&gt;  //hasil ditampilkan&lt;br /&gt;  display.setText(&quot;&quot; + arg);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Terakhir adalah membuat void main yang merupakan penerapan class Calculator yang telah dibuat.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;  Calculator calc = new Calculator();&lt;br /&gt;  calc.setTitle(&quot;Calculator&quot;);&lt;br /&gt;  calc.setSize(200, 200);&lt;br /&gt;  calc.setVisible(true);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Untuk menjalankan program Java ini, kita dapat mengompilasi dengan javac.exe serta menjalankan menggunakan java.exe&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt; javac Calculator.java&lt;br /&gt;&lt;br /&gt;&gt; java Calculator&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Tampilan yang didapatkan adalah seperti berikut:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPjxZ-LzI4kXcR6EFAww19LeZ5aZ1yff5hEBacc4LabMy89tsivLUaXgD9jZlLhzygTLsLnsMmFQwXdQT6nHzwuaKqImW-tn6m-ymZugWK-PdrqfrkHbDGxN5QsV8aEanYU4jXtZ_e_g/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 303px; height: 306px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPjxZ-LzI4kXcR6EFAww19LeZ5aZ1yff5hEBacc4LabMy89tsivLUaXgD9jZlLhzygTLsLnsMmFQwXdQT6nHzwuaKqImW-tn6m-ymZugWK-PdrqfrkHbDGxN5QsV8aEanYU4jXtZ_e_g/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5427875325516094018&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/3937969698619689053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/01/membuat-calculator-dengan-java.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/3937969698619689053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/3937969698619689053'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/01/membuat-calculator-dengan-java.html' title='Membuat Calculator dengan Java'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPjxZ-LzI4kXcR6EFAww19LeZ5aZ1yff5hEBacc4LabMy89tsivLUaXgD9jZlLhzygTLsLnsMmFQwXdQT6nHzwuaKqImW-tn6m-ymZugWK-PdrqfrkHbDGxN5QsV8aEanYU4jXtZ_e_g/s72-c/01.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-143189771732878123</id><published>2010-01-05T20:16:00.001+07:00</published><updated>2010-01-05T20:21:32.985+07:00</updated><title type='text'>Visual Basic – Membuat Teks Berjalan</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Teks berjalan seringkali digunakan pada display di toko untuk menarik perhatian. Dengan program yang pendek, kita dapat membuat teks berjalan seperti itu.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Langkah-langkah pembuatannya:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Buat form baru dengan 2 buah label yang bernama lblteks1 dan lblteks2. Sebuah timer yang bernama timer1 serta sebuah command button yang bernama cmdExit.&lt;/li&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThylNubME1lbMsF8jxBeypVEkx2wsCq3pQzwWoSQveY75kAPCO55X7YMAJ2kS-2bQ2MTr_hc7hOpGOWTk0xp1_tus28BMnx9aLHZ066GnXoijb9h2__1aZr7kQYyXLUNV_EUSBVed6yg/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 300px; height: 167px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThylNubME1lbMsF8jxBeypVEkx2wsCq3pQzwWoSQveY75kAPCO55X7YMAJ2kS-2bQ2MTr_hc7hOpGOWTk0xp1_tus28BMnx9aLHZ066GnXoijb9h2__1aZr7kQYyXLUNV_EUSBVed6yg/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5423245000231681746&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Interval untuk timer diubah menjadi 100. Logika programnya adalah meletakkan huruf terakhir pada posisi pertama setiap 0.1 detik (100 milisekon). Efek yang dihasilkan adalah teks berjalan dari kiri ke kanan. Sedangkan untuk teks yang berjalan dari kanan ke kiri, dilakukan dengan meletakkan huruf pertama pada posisi terakhir.&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;Private Sub cmdExit_Click()&lt;br /&gt;  End&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;  lblTeks1.Caption = &quot;If you think you can win, you can win. &quot;&lt;br /&gt;  lblTeks2.Caption = &quot;Faith is necessary to victory. &quot;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Timer1_Timer()&lt;br /&gt;  s$ = lblTeks1.Caption&lt;br /&gt;  s$ = Right$(s$, 1) &amp; Mid$(s$, 1, Len(s$) - 1)&lt;br /&gt;  lblTeks1.Caption = s$&lt;br /&gt;  &lt;br /&gt;  s$ = lblTeks2.Caption&lt;br /&gt;  s$ = Mid$(s$, 2, Len(s$)) &amp; Left$(s$, 1)&lt;br /&gt;  lblTeks2.Caption = s$&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Simpan form dengan nama FrmScroll. Lalu jalankan program dengan menekan tombol F5. Anda akan mendapatkan tampilan:&lt;/li&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikOfnyxh7QvloJmvrJlO13hRViq1LUTFi4vdDmpPSl9s6u6o-Kkg_ER4lpMxBQi29YwyNse3W715YKeM731iAw4pljf0b-aIU7H7SKKGWrlZWNzSqYKSvrD-xqcxqo2iOCulVI1U47CTo/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 300px; height: 167px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikOfnyxh7QvloJmvrJlO13hRViq1LUTFi4vdDmpPSl9s6u6o-Kkg_ER4lpMxBQi29YwyNse3W715YKeM731iAw4pljf0b-aIU7H7SKKGWrlZWNzSqYKSvrD-xqcxqo2iOCulVI1U47CTo/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5423244993120046642&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/143189771732878123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2010/01/visual-basic-membuat-teks-berjalan.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/143189771732878123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/143189771732878123'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2010/01/visual-basic-membuat-teks-berjalan.html' title='Visual Basic – Membuat Teks Berjalan'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThylNubME1lbMsF8jxBeypVEkx2wsCq3pQzwWoSQveY75kAPCO55X7YMAJ2kS-2bQ2MTr_hc7hOpGOWTk0xp1_tus28BMnx9aLHZ066GnXoijb9h2__1aZr7kQYyXLUNV_EUSBVed6yg/s72-c/02.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-3110951123790794686</id><published>2009-12-29T23:34:00.003+07:00</published><updated>2009-12-29T23:41:57.795+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Dasar-dasar Pembuatan Situs Jejaring Sosial - Bag. 2</title><content type='html'>&lt;b&gt;Di posting lalu, kita mempelajari tentan dasar-dasar pembuatan situs jejaring sosial, khususnya pembuatan fungsi untuk membuat tabel user dan membuat tabel untuk menyimpan koneksi teman. Pada posting ini, akan didemokan bagaimana membuat aplikasi kecil berupa statistik teman, seperti berapa jumlah teman pria, wanita, single, in relationship, usia dan sebagainya.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Langkah-langkah untuk membuatnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Dengan memanfaatkan function.php yang telah dibuat, kita membuat tabel user dan teman.  Struktur untuk tabel user adalah ID, Nama, Password, Tahun lahir, Status, Sex, DateEntry dan TimeEntry. Status mempunyai jenis field angka yang mewakili Single (1), In Relationship (2), It’s Complicated (3), Married (4). Sedangkan Sex diwakili oleh karakter M (Male) dan F (Female).&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;require_once(&#39;function.php&#39;);&lt;br /&gt;&lt;br /&gt;createTable(&quot;user&quot;,array(&quot;ID&quot;,&quot;Nama&quot;,&quot;Password&quot;,&quot;TahunLahir&quot;,&quot;Status&quot;,&quot;Sex&quot;,&quot;DateEntry&quot;,&quot;TimeEntry&quot;),&lt;br /&gt;array(&quot;int(2)&quot;,&quot;char(40)&quot;,&quot;char(40)&quot;,&quot;char(5)&quot;,&quot;int(2)&quot;,&quot;char(2)&quot;,&quot;DATE&quot;,&quot;TIME&quot;));&lt;br /&gt;&lt;br /&gt;createTable(&quot;Teman&quot;,array(&quot;ID&quot;,&quot;Teman&quot;,&quot;DateEntry&quot;,&quot;TimeEntry&quot;),&lt;br /&gt;array(&quot;char(4)&quot;,&quot;char(4)&quot;,&quot;DATE&quot;,&quot;TIME&quot;));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Berikutnya kita mencoba untuk mengisikan data dummy dengan memanggil perintah insert yang ada pada function.php. Pada data dummy ini, kita mensimulasikan ada 10 user yang terdaftar (disimpan pada tabel user). Koneksi teman disimpan pada tabel teman.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;insert(&quot;user&quot;,array(&quot;001&quot;,&quot;Duck 1&quot;,sha1(&#39;001&#39;),&quot;1986&quot;,&quot;2&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;002&quot;,&quot; Duck 2&quot;,sha1(&#39;002&#39;),&quot;1981&quot;,&quot;4&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;003&quot;,&quot; Duck 3&quot;,sha1(&#39;003&#39;),&quot;1988&quot;,&quot;2&quot;,&quot;F&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;004&quot;,&quot; Duck 4&quot;,sha1(&#39;004&#39;),&quot;1989&quot;,&quot;1&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;005&quot;,&quot; Duck 5&quot;,sha1(&#39;005&#39;),&quot;1991&quot;,&quot;1&quot;,&quot;F&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;006&quot;,&quot; Duck 6&quot;,sha1(&#39;006&#39;),&quot;1977&quot;,&quot;3&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;007&quot;,&quot; Duck 7&quot;,sha1(&#39;007&#39;),&quot;1990&quot;,&quot;2&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;008&quot;,&quot; Duck 8&quot;,sha1(&#39;008&#39;),&quot;1975&quot;,&quot;1&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;009&quot;,&quot; Duck 9&quot;,sha1(&#39;009&#39;),&quot;1979&quot;,&quot;3&quot;,&quot;M&quot;));&lt;br /&gt;insert(&quot;user&quot;,array(&quot;010&quot;,&quot; Duck 10&quot;,sha1(&#39;010&#39;),&quot;1984&quot;,&quot;2&quot;,&quot;F&quot;));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;001&quot;,&quot;002&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;001&quot;,&quot;005&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;001&quot;,&quot;007&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;001&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;003&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;004&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;005&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;006&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;007&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;008&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;009&quot;));&lt;br /&gt;insert(&quot;Teman&quot;,array(&quot;002&quot;,&quot;010&quot;));&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Dari data teman di atas, kita dapat membaca bahwa ID 001 berteman dengan ID 002, 005, dan 007. Sedangkan 002 berteman dengan semua yang ada di table user.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Untuk menampilkan statistik, kita bisa mencegat dengan menambahkan beberapa perintah SQL untuk mengolah datanya. Pencegatan ini kita lakukan pada function login2 (di function.php). Mula-mula kita melakukan pengujian apakah password telah dimasukkan dengan benar. Jika benar, browser akan menampilkan selamat datang serta menghitung jumlah teman yang dipunyai.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;function login2($userInput, $pass) {&lt;br /&gt; mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;);&lt;br /&gt; mysql_select_db(&#39;faceduuk&#39;); &lt;br /&gt;&lt;br /&gt; $query = &quot;SELECT * FROM user WHERE ID = &#39;&quot;.$userInput.&quot;&#39;;&quot;; &lt;br /&gt;&lt;br /&gt; $res = mysql_query($query); &lt;br /&gt; if (mysql_numrows($res) &amp;lt;= 0) {&lt;br /&gt;   echo &quot;User ID is not available.&amp;lt;br /&amp;gt;&quot;;&lt;br /&gt; } else&lt;br /&gt; {&lt;br /&gt;   $pass2=sha1($pass);&lt;br /&gt;   $row = mysql_fetch_assoc($res); &lt;br /&gt;   if ($row[&#39;Password&#39;]==$pass2) {&lt;br /&gt;     echo &quot;&amp;lt;h1&amp;gt;Selamat datang, &quot;. $row[&#39;Nama&#39;] . &quot;&amp;lt;/h1&amp;gt;&quot;;&lt;br /&gt;  &lt;br /&gt; $id=$row[&#39;ID&#39;]; &lt;br /&gt;&lt;br /&gt;   $teman = mysql_query(&quot;SELECT * FROM teman where id=&#39;$id&#39;&quot;);&lt;br /&gt; $jumlahTeman = mysql_num_rows($teman);&lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;Jumlah teman Anda : $jumlahTeman&quot;;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kemudian proses perhitungan statistik dimulai dengan menghitung jumlah teman pria, wanita, single, in relationship, dan merried.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; $tteman = mysql_query(&quot;SELECT * FROM teman where id=&#39;$id&#39;&quot;);&lt;br /&gt; $jumlahTemanPria = 0;&lt;br /&gt; for ($i=1; $i&amp;lt;=$jumlahTeman; $i++) {&lt;br /&gt;  $rows=mysql_fetch_array($tteman);&lt;br /&gt;  $jumlahTemanPria += mysql_num_rows(mysql_query(&quot;SELECT * FROM USER where id=&#39;$rows[1]&#39; and sex=&#39;M&#39;&quot;));&lt;br /&gt; }&lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;Teman pria : $jumlahTemanPria - &quot;.floor($jumlahTemanPria/$jumlahTeman*100).&quot;%&quot;;&lt;br /&gt;  &lt;br /&gt; $jumlahTemanWanita = $jumlahTeman-$jumlahTemanPria;&lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;Teman wanita : $jumlahTemanWanita - &quot;.floor($jumlahTemanWanita/$jumlahTeman*100).&quot;%&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;  &lt;br /&gt; $tteman = mysql_query(&quot;SELECT * FROM teman where id=&#39;$id&#39;&quot;);&lt;br /&gt; $jumlahTemanSingle = 0;&lt;br /&gt; for ($i=1; $i&amp;lt;=$jumlahTeman; $i++) {&lt;br /&gt;  $rows=mysql_fetch_array($tteman);&lt;br /&gt;  $jumlahTemanSingle += mysql_num_rows(mysql_query(&quot;SELECT * FROM USER where id=&#39;$rows[1]&#39; and status=&#39;1&#39;&quot;));&lt;br /&gt; }&lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;Single : $jumlahTemanSingle - &quot;.floor($jumlahTemanSingle/$jumlahTeman*100).&quot;%&quot;;&lt;br /&gt; &lt;br /&gt; $tteman = mysql_query(&quot;SELECT * FROM teman where id=&#39;$id&#39;&quot;);&lt;br /&gt; $jumlahTemanInR = 0;&lt;br /&gt; for ($i=1; $i&amp;lt;=$jumlahTeman; $i++) {&lt;br /&gt;  $rows=mysql_fetch_array($tteman);&lt;br /&gt;  $jumlahTemanInR += mysql_num_rows(mysql_query(&quot;SELECT * FROM USER where id=&#39;$rows[1]&#39; and status=&#39;2&#39;&quot;));&lt;br /&gt; }&lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;In Relationship : $jumlahTemanInR - &quot;.floor($jumlahTemanInR/$jumlahTeman*100).&quot;%&quot;; &lt;br /&gt; &lt;br /&gt; $tteman = mysql_query(&quot;SELECT * FROM teman where id=&#39;$id&#39;&quot;);&lt;br /&gt; $jumlahTemanMerried = 0;&lt;br /&gt; for ($i=1; $i&amp;lt;=$jumlahTeman; $i++) {&lt;br /&gt;  $rows=mysql_fetch_array($tteman);&lt;br /&gt;  $jumlahTemanMerried += mysql_num_rows(mysql_query(&quot;SELECT * FROM USER where id=&#39;$rows[1]&#39; and status=&#39;4&#39;&quot;));&lt;br /&gt; } &lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;Married : $jumlahTemanMerried - &quot;.floor($jumlahTemanMerried/$jumlahTeman*100).&quot;%&quot;;&lt;br /&gt; &lt;br /&gt; $tteman = mysql_query(&quot;SELECT * FROM teman where id=&#39;$id&#39;&quot;);&lt;br /&gt; $jumlahUmurTeman = 0;&lt;br /&gt; for ($i=1; $i&amp;lt;=$jumlahTeman; $i++) {&lt;br /&gt;  $rows=mysql_fetch_array($tteman);&lt;br /&gt;  $rows=mysql_fetch_array(mysql_query(&quot;SELECT TahunLahir FROM USER where id=&#39;$rows[1]&#39;&quot;));&lt;br /&gt;  $jumlahUmurTeman += 2009-$rows[0];&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;&quot;;&lt;br /&gt; echo &quot;&amp;lt;br&amp;gt;Rata-rata usia : &quot;.floor($jumlahUmurTeman/$jumlahTeman);&lt;br /&gt;   } // = password&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; } // user exist&lt;br /&gt;} // function login&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Untuk melakukan fungsi pemanggilan login2, kita dapat membuat aplikasi kecil berikut:&lt;br /&gt;&lt;pre&gt;&amp;lt;?php&lt;br /&gt;require_once(&#39;function.php&#39;);&lt;br /&gt;login2(&quot;001&quot;,&quot;001&quot;);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Tampilan berikut merupakan tampilan yang didapatkan untuk pemanggilan login 001. Gambar berikutnya menunjukkan jika pemanggilan fungsi login diubah menjadi login2(&quot;002&quot;,&quot;002&quot;);&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg55eJfrAHh82mFpVJREga0f5BArR3dO7ZeP5n6CQ9ZZk2HlgSBrnVtRAQoBlwaeiw21BaFjj4CDL7vSWLilgzsnF4-EVPZwcp39uqth3efhwwOptYfgC2oBVLkAkIOt4Y5C_cMw2cFuT4/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 265px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg55eJfrAHh82mFpVJREga0f5BArR3dO7ZeP5n6CQ9ZZk2HlgSBrnVtRAQoBlwaeiw21BaFjj4CDL7vSWLilgzsnF4-EVPZwcp39uqth3efhwwOptYfgC2oBVLkAkIOt4Y5C_cMw2cFuT4/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5420698754672096642&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeiT06gBLqnGDLXMUz_I4BfiMzP3c7DJ0U6iZe2Ui-ub64DUgkQArr2HORPAJI2gzaRhKGCOkq1rucelBqioU9iFLGdiYCh5HV00kirX7QNb7P4tf6bq27ABLDx87xBuHY8l2aEdkmzGo/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 265px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeiT06gBLqnGDLXMUz_I4BfiMzP3c7DJ0U6iZe2Ui-ub64DUgkQArr2HORPAJI2gzaRhKGCOkq1rucelBqioU9iFLGdiYCh5HV00kirX7QNb7P4tf6bq27ABLDx87xBuHY8l2aEdkmzGo/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5420698862293080818&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/3110951123790794686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/12/dasar-dasar-pembuatan-situs-jejaring_29.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/3110951123790794686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/3110951123790794686'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/12/dasar-dasar-pembuatan-situs-jejaring_29.html' title='Dasar-dasar Pembuatan Situs Jejaring Sosial - Bag. 2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg55eJfrAHh82mFpVJREga0f5BArR3dO7ZeP5n6CQ9ZZk2HlgSBrnVtRAQoBlwaeiw21BaFjj4CDL7vSWLilgzsnF4-EVPZwcp39uqth3efhwwOptYfgC2oBVLkAkIOt4Y5C_cMw2cFuT4/s72-c/02.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-8372215131274924057</id><published>2009-12-29T23:25:00.004+07:00</published><updated>2009-12-29T23:40:57.132+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Dasar-dasar Pembuatan Situs Jejaring Sosial - Bag. 1</title><content type='html'>&lt;b&gt;Situs jejaring sosial seperti Facebook, MySpace ataupun Twitter sepertinya telah menjadi candu tersendiri bagi penggunanya. Beberapa tidak dapat memulai rutinitas hariannya sebelum membuat situs jejaring sosial untuk membaca kabar-kabar terbaru dari teman-temannya.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Kesuksesan dari situs jejaring sosial, membuat banyak pengembang web membuat situs serupa. Namun tentu saja pioneer dan mereka yang punya diferensiasilah yang akan lebih digemari.&lt;br /&gt;&lt;br /&gt;Sulitkah membuat situs jejaring sosial? Dengan menggunakan PHP (bahasa pemrograman yang juga digunakan oleh Facebook) dan MySQL, kita akan menerapkan konsep sederhana dari suatu situs jejaring sosial, di mana user dapat mendaftar, login dan menampilkan jumlah serta nama teman.&lt;br /&gt;&lt;br /&gt;Langkah-langkah untuk membuatnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Kita buat suatu fungsi bernama createTable untuk membuat tabel pada database MySQL faceduuk. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;function createTable($table_name, $field_name, $field_type) {&lt;br /&gt;  $query = &quot;CREATE TABLE IF NOT EXISTS &quot;.$table_name.&quot; (&quot;;&lt;br /&gt;  for ($i = 0; $i &amp;lt; count($field_name); $i++) {&lt;br /&gt;    $query .= $field_name[$i].&quot; &quot;.$field_type[$i];&lt;br /&gt;    if ($i != count($field_name)-1) $query .= &quot;, &quot;;&lt;br /&gt;  }&lt;br /&gt;  $query .= &quot;)&quot;;&lt;br /&gt;  mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;);&lt;br /&gt;  mysql_select_db(&#39;faceduuk&#39;);&lt;br /&gt;  mysql_query($query);&lt;br /&gt;  echo $query;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;createTable(&quot;user&quot;, array(&quot;UserID&quot;, &quot;Password&quot;, &quot;Nama&quot;, &quot;TanggalEntry&quot;, &quot;JamEntry&quot;), array(&quot;char(10)&quot;, &quot;char(40)&quot;, &quot;char(40)&quot;, &quot;date&quot;, &quot;time&quot;));&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Fungsi kedua yang akan kita buat adalah fungsi insert. Tujuan dari fungsi insert adalah memasukkan data pada tabel. Pada saat proses pendaftaran, fungsi ini akan dipanggil untuk menyimpan data yang telah dientry user ke dalam tabel.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;function insert($tabel, $ins) {&lt;br /&gt;  mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;);&lt;br /&gt;  mysql_select_db(&#39;faceduuk&#39;);  &lt;br /&gt;&lt;br /&gt;  $tanggal = date(&quot;Y-m-d&quot;);&lt;br /&gt;  $jam = date(&quot;G:i:s&quot;);&lt;br /&gt;  $data = &quot;&quot;;&lt;br /&gt;  for ($i=0; $i&amp;lt;count($ins); $i++) {&lt;br /&gt;    $data .= &quot;&#39;&quot;.$ins[$i].&quot;&#39;,&quot;;&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  $query = &quot;INSERT INTO &quot;. $tabel . &lt;br /&gt;  &quot; VALUES (&quot;.$data.&quot; &#39;&quot;.$tanggal.&quot;&#39;, &#39;&quot;.$jam.&quot;&#39;);&quot;;&lt;br /&gt;  mysql_query($query);     &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Fungsi ketiga adalah fungsi saat user melakukan login. Simpan kumpulan fungsi ini dengan function.php.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;function login2($userInput, $pass) {&lt;br /&gt;  mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;);&lt;br /&gt;  mysql_select_db(&#39;faceduuk&#39;);  &lt;br /&gt;  &lt;br /&gt;  $query = &quot;SELECT * FROM user WHERE userID = &#39;&quot;.$userInput.&quot;&#39;;&quot;;  &lt;br /&gt;&lt;br /&gt;  $res = mysql_query($query);  &lt;br /&gt;  if (mysql_numrows($res) &amp;lt;= 0) {&lt;br /&gt;    echo &quot;UserID is not available.&amp;lt;br /&amp;gt;&quot;;&lt;br /&gt;  } else&lt;br /&gt;  {&lt;br /&gt;    $pass2=md5($pass);&lt;br /&gt;    $row = mysql_fetch_assoc($res);&lt;br /&gt;    if ($row[&#39;Password&#39;]==$pass2) {&lt;br /&gt;      echo &quot;&amp;lt;h1&amp;gt;Selamat datang, &quot;. $row[&#39;Nama&#39;] . &quot;&amp;lt;/h1&amp;gt;&quot;;&lt;br /&gt;      echo &quot;&amp;lt;br&amp;gt;Teman Anda:&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;      &lt;br /&gt;      //cari teman&lt;br /&gt;      $query = &quot;SELECT * FROM teman WHERE userID = &#39;&quot;.$userInput.&quot;&#39;;&quot;;  &lt;br /&gt;      $res = mysql_query($query);  &lt;br /&gt;      $tot = mysql_numrows($res);&lt;br /&gt;      echo &quot;&amp;lt;strong&amp;gt;&amp;lt;ul&amp;gt;&quot;;&lt;br /&gt;      for ($i = 0; $i &amp;lt; mysql_numrows($res); $i++) {&lt;br /&gt;        $row = mysql_fetch_assoc($res);&lt;br /&gt;        echo &quot;&amp;lt;li&amp;gt;&quot;.$row[&#39;teman&#39;].&quot;&amp;lt;/li&amp;gt;&quot;;&lt;br /&gt;      }      &lt;br /&gt;      &lt;br /&gt;      $query = &quot;SELECT * FROM teman WHERE teman = &#39;&quot;.$userInput.&quot;&#39;;&quot;;  &lt;br /&gt;      $res = mysql_query($query);  &lt;br /&gt;      $tot += mysql_numrows($res);&lt;br /&gt;      for ($i = 0; $i &amp;lt; mysql_numrows($res); $i++) {&lt;br /&gt;        $row = mysql_fetch_assoc($res);&lt;br /&gt;        echo &quot;&amp;lt;li&amp;gt;&quot;.$row[&#39;userID&#39;].&quot;&amp;lt;/li&amp;gt;&quot;;&lt;br /&gt;      }      &lt;br /&gt;      echo &quot;&amp;lt;/ul&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&quot;;&lt;br /&gt;      echo &quot;Jumlah teman: &quot;.$tot;&lt;br /&gt;    } &lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Dengan memanfaatkan fungsi createTable, kita akan membuat dua buah tabel. Tabel pertama adalah tabel yang berisi data user (dengan field UserID, Password, Nama, TanggalEntry dan JamEntry) dan tabel kedua merupakan tabel teman (dengan field UserID, Teman, TanggalEntry dan JamEntry). Tabel teman ini menunjukkan siapa berteman dengan siapa. Setelah membuat tabel, kita isikan data teman secara manual. Tentu pada penerapannya, kita perlu membuat sebuah form untuk melakukan registrasi. Simpan file ini dengan nama data.php.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;  require(&quot;function.php&quot;);&lt;br /&gt;  createTable(&quot;user&quot;, array(&quot;UserID&quot;, &quot;Password&quot;, &quot;Nama&quot;, &quot;TanggalEntry&quot;, &quot;JamEntry&quot;), array(&quot;char(10)&quot;, &quot;char(40)&quot;, &quot;char(40)&quot;, &quot;date&quot;, &quot;time&quot;));&lt;br /&gt;  &lt;br /&gt;  insert(&quot;user&quot;, array(&quot;kwek&quot;,md5(&quot;kwek&quot;),&quot;Kwek Bebek&quot;));  &lt;br /&gt;  insert(&quot;user&quot;, array(&quot;kwak&quot;,md5(&quot;kwak&quot;),&quot;Kwak Bebek&quot;));  &lt;br /&gt;  insert(&quot;user&quot;, array(&quot;kwik&quot;,md5(&quot;kwik&quot;),&quot;Kwik Bebek&quot;));  &lt;br /&gt;  insert(&quot;user&quot;, array(&quot;kwok&quot;,md5(&quot;kwok&quot;),&quot;Kwok Bebek&quot;));  &lt;br /&gt;&lt;br /&gt;  createTable(&quot;teman&quot;, array(&quot;userID&quot;,&quot;teman&quot;, &quot;tanggal&quot;, &quot;jam&quot;), &lt;br /&gt;  array(&quot;char(10)&quot;,&quot;char(10)&quot;, &quot;date&quot;, &quot;time&quot;));&lt;br /&gt;  insert(&quot;teman&quot;,array(&quot;kwak&quot;,&quot;kwek&quot;));&lt;br /&gt;  insert(&quot;teman&quot;,array(&quot;kwak&quot;,&quot;kwik&quot;));&lt;br /&gt;  insert(&quot;teman&quot;,array(&quot;kwak&quot;,&quot;kwok&quot;));&lt;br /&gt;  insert(&quot;teman&quot;,array(&quot;kwek&quot;,&quot;kwok&quot;));&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Dari data di atas, tabel user akan berisi 4 buah record, yaitu kwek, kwak, kwok dan kwik. Lalu dari tabel teman, kita menyisipkan 4 buah record, yaitu kwak berteman dengan kwek, kwak berteman dengan kwik, kwak berteman dengan kwok dan kwek berteman dengan kwok.&lt;br /&gt;&lt;li&gt;Fungsi terakhir, yaitu fungsi login dapat kita gunakan untuk mensimulasikan saat user melakukan login. Agar praktis, kita akan panggil langsung fungsi login ke dalam sebuah file php. Simpan file php dengan nama testlogin.php. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Faceduuk&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;  require(&quot;function.php&quot;);&lt;br /&gt;  login2(&quot;kwak&quot;, &quot;kwak&quot;);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Tampilan berikut merupakan tampilan yang didapatkan untuk pemanggilan login kwak. Gambar berikutnya menunjukkan jika pemanggilan fungsi login diubah menjadi login2(&quot;kwek&quot;,&quot;kwek&quot;);&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiooeKDDO3WxftOC4KKBCrQ_r7aSPdMQ9e0ipwZBB72pk_g2TYYKXErDO4w7vTsC9lLX6kTyaGo0yT90KutttEyleaN03tG2BRqDk75kcwW0bhycl22FM9zXj6uwsABwh7INpFEPRnR-wc/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 294px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiooeKDDO3WxftOC4KKBCrQ_r7aSPdMQ9e0ipwZBB72pk_g2TYYKXErDO4w7vTsC9lLX6kTyaGo0yT90KutttEyleaN03tG2BRqDk75kcwW0bhycl22FM9zXj6uwsABwh7INpFEPRnR-wc/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5420697021460551138&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_zlhEGm3PXlpXh5FUPcdb2htgcfwpymCoJeGSR8NI43jQ48WZlUpsU32_yGdN-fNqt_Ri4eMJ66hEmZ33AXyaa2XN8Pf4MP4J-cgDxPqf04eCDbn-kjYltPvW8znGoKNKLLP1jb_S-q8/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 294px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_zlhEGm3PXlpXh5FUPcdb2htgcfwpymCoJeGSR8NI43jQ48WZlUpsU32_yGdN-fNqt_Ri4eMJ66hEmZ33AXyaa2XN8Pf4MP4J-cgDxPqf04eCDbn-kjYltPvW8znGoKNKLLP1jb_S-q8/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5420697140099636306&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/8372215131274924057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/12/dasar-dasar-pembuatan-situs-jejaring.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8372215131274924057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8372215131274924057'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/12/dasar-dasar-pembuatan-situs-jejaring.html' title='Dasar-dasar Pembuatan Situs Jejaring Sosial - Bag. 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiooeKDDO3WxftOC4KKBCrQ_r7aSPdMQ9e0ipwZBB72pk_g2TYYKXErDO4w7vTsC9lLX6kTyaGo0yT90KutttEyleaN03tG2BRqDk75kcwW0bhycl22FM9zXj6uwsABwh7INpFEPRnR-wc/s72-c/01.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-2770828170402688727</id><published>2009-12-27T20:29:00.002+07:00</published><updated>2009-12-27T20:38:41.807+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><category scheme="http://www.blogger.com/atom/ns#" term="VB.Net"/><title type='text'>Visual Basic – Memotret Layar Dengan VB</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Windows menyediakan fasilitas pemotretan layar dengan menggunakan tombol print-screen. Program yang menyediakan fasilitas pemotretan layar ini adalah Hypersnap dan AcdSee. Sulitkah membuat program pemotretan layar?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Dengan menggunakan VB, kita bisa mensimulasikan penekanan tombol Print-Screen ini, dan meletakkan ke dalam sebuah picture box. Langkah-langkah pembuatannya:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Buat form baru dengan 2 buah picture box yang bernama picOuter dan picInner, sebuah Scroll bar vertikal yang bernama VBar, sebuah scroll bar horisontal bernama Hbar dan dua buah command button, masing-masing bernama cmdCapture dan cmdExit.&lt;/li&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6nGwuhKDB8p4BuUK-uO449vajVbAZjPLr-emPwB_PVPoXvpKm-SHKFQv5yZmwX0csMiWLni_LbY2zel2bnS_GwHXCICs4LEeWfBju92GMapQklTkEc98UhblfpldCDXH04-7JVuH6hBQ/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 294px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6nGwuhKDB8p4BuUK-uO449vajVbAZjPLr-emPwB_PVPoXvpKm-SHKFQv5yZmwX0csMiWLni_LbY2zel2bnS_GwHXCICs4LEeWfBju92GMapQklTkEc98UhblfpldCDXH04-7JVuH6hBQ/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5419909519950980002&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Modul yang diperlukan yaitu: Sub PrintScreen untuk mensimulasikan penekanan tombol Print Screen dan menampilkan pada picture box serta Sub ArrangeScrollsBars untuk mengatur scroll bar vertikal dan horisontal.&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;Private Function PrintScreen(PictureBox As PictureBox) As Boolean&lt;br /&gt;  On Error GoTo ErrorTrap&lt;br /&gt;  Clipboard.Clear&lt;br /&gt;  DoEvents&lt;br /&gt;  &lt;br /&gt;  &#39;0 = layar, 1 = form&lt;br /&gt;  keybd_event vbKeySnapshot, 0, 0&amp;, 0&amp;&lt;br /&gt;   &lt;br /&gt;  DoEvents&lt;br /&gt;  Set PictureBox.Picture = Clipboard.GetData(0)&lt;br /&gt;  DoEvents&lt;br /&gt;  &#39;Clipboard.Clear&lt;br /&gt;  PrintScreen = True&lt;br /&gt;&lt;br /&gt;ErrorTrap:&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Private Sub ArrangeScrollBars()&lt;br /&gt;  Dim have_wid As Single, have_hgt As Single&lt;br /&gt;  Dim need_wid As Single, need_hgt As Single&lt;br /&gt;  Dim need_hbar As Boolean, need_vbar As Boolean&lt;br /&gt;&lt;br /&gt;  On Error Resume Next&lt;br /&gt;  If WindowState = vbMinimized Then Exit Sub&lt;br /&gt;&lt;br /&gt;  need_wid = picInner.Width + (picOuter.Width - picOuter.ScaleWidth)&lt;br /&gt;  need_hgt = picInner.Height + (picOuter.Height - picOuter.ScaleHeight)&lt;br /&gt;  have_wid = picOuter.Width&lt;br /&gt;  have_hgt = picOuter.Height&lt;br /&gt;  need_hbar = (need_wid &gt; have_wid)&lt;br /&gt;  If need_hbar Then have_hgt = have_hgt - HBar.Height&lt;br /&gt;&lt;br /&gt;  need_vbar = (need_hgt &gt; have_hgt)&lt;br /&gt;  If need_vbar Then&lt;br /&gt;    have_wid = have_wid - VBar.Width&lt;br /&gt;    If Not need_hbar Then&lt;br /&gt;      need_hbar = (need_wid &gt; have_wid)&lt;br /&gt;      If need_hbar Then have_hgt = have_hgt - HBar.Height&lt;br /&gt;    End If&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  picOuter.Move picOuter.Left, picOuter.Top, have_wid, have_hgt&lt;br /&gt;&lt;br /&gt;  If need_hbar Then&lt;br /&gt;    HBar.Move picOuter.Left, have_hgt, have_wid&lt;br /&gt;    HBar.Min = 0&lt;br /&gt;    HBar.Max = picOuter.ScaleWidth - picInner.Width&lt;br /&gt;    HBar.LargeChange = picOuter.ScaleWidth&lt;br /&gt;    HBar.SmallChange = picOuter.ScaleWidth / 5&lt;br /&gt;    HBar.Visible = True&lt;br /&gt;  Else&lt;br /&gt;    HBar.Visible = False&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  If need_vbar Then&lt;br /&gt;    VBar.Move picOuter.Left + picOuter.Width, picOuter.Top, VBar.Width, have_hgt&lt;br /&gt;    VBar.Min = 0&lt;br /&gt;    VBar.Max = picOuter.ScaleHeight - picInner.Height&lt;br /&gt;    VBar.LargeChange = picOuter.ScaleHeight&lt;br /&gt;    VBar.SmallChange = picOuter.ScaleHeight / 5&lt;br /&gt;    VBar.Visible = True&lt;br /&gt;  Else&lt;br /&gt;    VBar.Visible = False&lt;br /&gt;  End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah mengatur event untuk pergeseran scroll bar, form load serta penekanan button.&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Private Declare Sub keybd_event Lib &quot;user32&quot; (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)&lt;br /&gt;&lt;br /&gt;Private Sub cmdCapture_Click()&lt;br /&gt;  On Error Resume Next&lt;br /&gt;&lt;br /&gt;  picInner.Picture = LoadPicture(&quot;&quot;)&lt;br /&gt;  Me.WindowState = vbMinimized&lt;br /&gt;  PrintScreen picInner&lt;br /&gt;  Me.WindowState = vbNormal&lt;br /&gt;  ArrangeScrollBars&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdExit_Click()&lt;br /&gt;  End&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;  Dim Counter As Integer&lt;br /&gt;  Dim TempString() As String&lt;br /&gt;&lt;br /&gt;  On Error Resume Next&lt;br /&gt;  picInner.Move picOuter.ScaleLeft, picOuter.ScaleTop, picOuter.ScaleWidth, picOuter.ScaleHeight&lt;br /&gt;  &lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;4. Simpan program, lalu jalankan. Tampilan yang Anda dapatkan seperti pada gambar.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5uljJ-0BzvDNftu9vFxw3Pn-elEDUXMv3BBm8i4SrLmFeoAjIqp-WHlLO9Gx7fZoVquQ930yOCkI1HVrx_SmUy4CveMrEUEckTmybiQl94OYJDWTX9yeYlaD51R8lak72m70z1asrOUg/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 294px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5uljJ-0BzvDNftu9vFxw3Pn-elEDUXMv3BBm8i4SrLmFeoAjIqp-WHlLO9Gx7fZoVquQ930yOCkI1HVrx_SmUy4CveMrEUEckTmybiQl94OYJDWTX9yeYlaD51R8lak72m70z1asrOUg/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5419909532227042994&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/2770828170402688727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/12/visual-basic-memotret-layar-dengan-vb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/2770828170402688727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/2770828170402688727'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/12/visual-basic-memotret-layar-dengan-vb.html' title='Visual Basic – Memotret Layar Dengan VB'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6nGwuhKDB8p4BuUK-uO449vajVbAZjPLr-emPwB_PVPoXvpKm-SHKFQv5yZmwX0csMiWLni_LbY2zel2bnS_GwHXCICs4LEeWfBju92GMapQklTkEc98UhblfpldCDXH04-7JVuH6hBQ/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-7360403492781726415</id><published>2009-11-29T12:10:00.003+07:00</published><updated>2009-11-29T12:21:43.030+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic – Simulasi Pencampuran Warna</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Salah satu mode warna yang dikenal dalam pengolahan grafis adalah mode RGB. Mode RGB merupakan mode untuk membentuk suatu warna lewat intensitas merah (Red), hijau (Green) dan biru (Biru). Dengan menggunakan VB, kita dapat membuat simulasi pencampuran warna mode RGB ini.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Masing-masing intensitas berkisar antara 0 sampai dengan 255 (dalam heksa FF). Angka 0 adalah yang paling rendah dan 255 adalah yang paling tinggi. Pencampuran warna dengan intesitas 0 semua akan menghasilkan warna hitam, sedangkan pencampuran warna dengan intensitas 255 semua akan menghasilkan warna putih. Untuk membuat simulasi pencampuran warna ini, langkahnya:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Buat form baru dengan 3 buah frame untuk mengatur intensitas merah, hijau dan biru. Masing-masing frame berisi sebuah shape (berbentuk lingkaran dengan nama shape1), slider (yang bernama slider) dan textbox. Shape1 dan slider merupakan array dengan index 0 untuk shape1 dan slide di frame biru, 1 untuk shape1 dan slider di frame hijau dan 2 untuk shape1 dan slider di frame merah. Sedangkan textbox pada masing-masing frame bernama txtblue, txtgreen dan txtred.&lt;br /&gt;Tambahkan sebuah button dengan nama cmdExit dan frame lagi untuk menampilkan hasil pencampuran dengan sebuah shape yang bernama shape2 serta label2 untuk menampilkan nilai dari warna pencampuran.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1RFCpX5JTzkFKxb9H1DCdbgnqMxkZpC32oTObnhIYbCAixCnvIPg_ePHSuUaFrg3_XwkX519VfFZZtJ7sedb0KUdNXS3_QzdCbWKKGHvKl9lRedEPMijU-fggVPsplChC9MMx8pKlrv0/s1600/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 242px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1RFCpX5JTzkFKxb9H1DCdbgnqMxkZpC32oTObnhIYbCAixCnvIPg_ePHSuUaFrg3_XwkX519VfFZZtJ7sedb0KUdNXS3_QzdCbWKKGHvKl9lRedEPMijU-fggVPsplChC9MMx8pKlrv0/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409391270452777362&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Fungsi-fungsi yang diperlukan yaitu: getinten untuk mendapatkan intensitas warna serta setcolor untuk menampilkan hasil dari pencampuran warna pada shape2.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub getinten()&lt;br /&gt;&lt;br /&gt;  Dim tmp As Long&lt;br /&gt;  tmp = Shape2.BackColor&lt;br /&gt;  While tmp &gt; &amp;HFF&lt;br /&gt;    tmp = tmp - &amp;H100&lt;br /&gt;  Wend&lt;br /&gt;  redvalue = tmp&lt;br /&gt;  &lt;br /&gt;  tmp = (Shape2.BackColor - redvalue) / &amp;H100&lt;br /&gt;  While tmp &gt; &amp;HFF&lt;br /&gt;    tmp = tmp - &amp;H100&lt;br /&gt;  Wend&lt;br /&gt;  greenvalue = tmp&lt;br /&gt;  &lt;br /&gt;  bluevalue = Shape2.BackColor \ &amp;H10000&lt;br /&gt;  &lt;br /&gt;  &#39;jangan lupa ngeset slidernya...&lt;br /&gt;  Dim persentase As Integer&lt;br /&gt;    slider(2).Value = redvalue&lt;br /&gt;    persentase = redvalue * 100 / 255&lt;br /&gt;    txtRed.Text = Str(persentase) + &quot; %&quot;&lt;br /&gt;&lt;br /&gt;    slider(1).Value = greenvalue&lt;br /&gt;    persentase = greenvalue * 100 / 255&lt;br /&gt;    txtGreen.Text = Str(persentase) + &quot; %&quot;&lt;br /&gt;  &lt;br /&gt;    slider(0).Value = bluevalue&lt;br /&gt;    persentase = bluevalue * 100 / 255&lt;br /&gt;    txtBlue.Text = Str(persentase) + &quot; %&quot;&lt;br /&gt;  &lt;br /&gt;  &#39;sekarang taruh intensitasnya di tempatnya&lt;br /&gt;  setcolor&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub setcolor()&lt;br /&gt;  Shape1(0).BackColor = bluevalue * 256 ^ 2&lt;br /&gt;  Shape1(1).BackColor = greenvalue * 256&lt;br /&gt;  Shape1(2).BackColor = redvalue  &lt;br /&gt;  Shape2.BackColor = Shape1(0).BackColor + Shape1(1).BackColor + Shape1(2).BackColor&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah mengatur event untuk pergeseran slider serta form load.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub cmdExit_Click()&lt;br /&gt;  End&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;  Dim Index, persentase As Integer&lt;br /&gt;  redvalue = 0&lt;br /&gt;  greenvalue = 0&lt;br /&gt;  bluevalue = 0&lt;br /&gt;&lt;br /&gt;  setcolor&lt;br /&gt;  &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Slider_Scroll(Index As Integer)&lt;br /&gt;  Dim persentase As Integer&lt;br /&gt;  persentase = slider(Index).Value * 100 / 256&lt;br /&gt;  &lt;br /&gt;  Select Case Index&lt;br /&gt;  Case 0&lt;br /&gt;    bluevalue = slider(0).Value&lt;br /&gt;    txtBlue.Text = Str(persentase) + &quot; %&quot;&lt;br /&gt;    Shape1(0).BackColor = bluevalue * 256 ^ 2&lt;br /&gt;  Case 1&lt;br /&gt;    greenvalue = slider(1).Value&lt;br /&gt;    txtGreen.Text = Str(persentase) + &quot; %&quot;&lt;br /&gt;    Shape1(1).BackColor = greenvalue * 256&lt;br /&gt;  Case 2&lt;br /&gt;    redvalue = slider(2).Value&lt;br /&gt;    txtRed.Text = Str(persentase) + &quot; %&quot;&lt;br /&gt;    Shape1(2).BackColor = redvalue&lt;br /&gt;  End Select&lt;br /&gt;  Shape2.BackColor = Shape1(0).BackColor + Shape1(1).BackColor + Shape1(2).BackColor&lt;br /&gt;  lblINtensitas.Caption = Shape2.BackColor &amp; &quot; (&quot; &amp; Hex$(Shape2.BackColor) &amp; &quot;)&quot;&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Simpan program, lalu jalankan. Tampilan yang Anda dapatkan seperti pada gambar.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAlYklLQJn-oXMfLRFs1nT9R4PVcW-JW-m4EoXkFwNXfHqeTXvIKswx8UxsftAaLe0Z_rWURbZvavebHCTLEBqpdi79gXwn9L55EJh67taIRdhyphenhyphenC1zmeDUXo8cJXhQd3yrDkPfXF7vRVY/s1600/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 225px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAlYklLQJn-oXMfLRFs1nT9R4PVcW-JW-m4EoXkFwNXfHqeTXvIKswx8UxsftAaLe0Z_rWURbZvavebHCTLEBqpdi79gXwn9L55EJh67taIRdhyphenhyphenC1zmeDUXo8cJXhQd3yrDkPfXF7vRVY/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409391412371789186&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/7360403492781726415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/11/visual-basic-simulasi-pencampuran-warna.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/7360403492781726415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/7360403492781726415'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/11/visual-basic-simulasi-pencampuran-warna.html' title='Visual Basic – Simulasi Pencampuran Warna'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1RFCpX5JTzkFKxb9H1DCdbgnqMxkZpC32oTObnhIYbCAixCnvIPg_ePHSuUaFrg3_XwkX519VfFZZtJ7sedb0KUdNXS3_QzdCbWKKGHvKl9lRedEPMijU-fggVPsplChC9MMx8pKlrv0/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-4267862735036491357</id><published>2009-11-20T20:15:00.002+07:00</published><updated>2009-11-20T20:20:04.694+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic – Koversi Latin Ke Romawi</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Angka romawi termasuk salah satu sistem penghitungan tertua yang diperkenalkan oleh bangsa Romawi. Walaupun sistem perhitungan modern saat ini menggunakan angka latin, tapi angka romawi ini ternyata masih sering kita temui. Trik VB kali ini adalah mengonversi angka latin menjadi angka romawi.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;VB memang tidak menyediakan secara khusus fungsi untuk mengubah angka latin ke romawi atau sebaliknya. Tapi dengan melihat pola angka romawi, kita dapat membuat sebuah fungsi yang mengonversi angka latin menjadi romawi. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Langkah-langkahnya adalah:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Buat form baru dengan dua buat text box yang bernama txtnumber (untuk memasukkan angka latin) dan txthasil untuk menampilkan hasil konversi. Tambahkan juga sebuah command button yang bernama cmdconvert.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmwtX096dHhSieJ02NIKVnfDck9B5tTHZ51uOeXLe1WwRvp_hrisWZ9Gafq7tT-BCcrCsK7D03hR6C9nhd2kwftEl7Q9OdLTiGuVXmcwHQgsAtn8EmEUyfa2DbodbJg3wNG9zCGeYgkdM/s1600/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 266px; height: 308px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmwtX096dHhSieJ02NIKVnfDck9B5tTHZ51uOeXLe1WwRvp_hrisWZ9Gafq7tT-BCcrCsK7D03hR6C9nhd2kwftEl7Q9OdLTiGuVXmcwHQgsAtn8EmEUyfa2DbodbJg3wNG9zCGeYgkdM/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5406174580651780562&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Ketikan fungsi untuk mengonversi.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Function Latin2Roman(number As Long) As String&lt;br /&gt;  Dim n As Long&lt;br /&gt;  Dim j As Integer, i As Integer&lt;br /&gt;  Dim Rom, Latin&lt;br /&gt;  Dim Romawi As String&lt;br /&gt;  &lt;br /&gt;  Rom = Array(&quot;i&quot;, &quot;iv&quot;, &quot;v&quot;, &quot;ix&quot;, _&lt;br /&gt;              &quot;x&quot;, &quot;xl&quot;, &quot;l&quot;, &quot;xc&quot;, _&lt;br /&gt;              &quot;c&quot;, &quot;cd&quot;, &quot;d&quot;, &quot;cm&quot;, _&lt;br /&gt;              &quot;m&quot;)&lt;br /&gt;              &lt;br /&gt;  Latin = Array(1, 4, 5, 9, _&lt;br /&gt;                10, 40, 50, 90, _&lt;br /&gt;                100, 400, 500, 900, _&lt;br /&gt;                1000)&lt;br /&gt;  &lt;br /&gt;  Romawi = &quot;&quot;&lt;br /&gt;  &lt;br /&gt;  For j = 12 To 0 Step -1&lt;br /&gt;    n = Int(number / Latin(j))&lt;br /&gt;    If n &lt;&gt; 0 Then&lt;br /&gt;      For i = 1 To n&lt;br /&gt;        Romawi = Romawi &amp; Rom(j)&lt;br /&gt;      Next i&lt;br /&gt;    End If&lt;br /&gt;    number = number Mod Latin(j)&lt;br /&gt;  Next&lt;br /&gt;  Latin2Roman = Romawi&lt;br /&gt;&lt;br /&gt;End Function&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah mengatur event untuk penekanan button koversi.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub cmdConvert_Click()&lt;br /&gt;  If Val(txtNumber.Text) = 0 Then Exit Sub&lt;br /&gt;  txthasil.Text = Latin2Roman(Val(txtNumber.Text))&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Simpan program, lalu jalankan. Tampilan yang Anda dapatkan seperti pada gambar.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju8OMM2YzRRMetghqxgbuchRuDAec3PaWoSAAJRXGI0P5i113TiiF_1Pb_BxH8HNbMrnU_9pu2fZHv1rWLWG9Vc6Tgc_sy005y_iH1PmnJbu6GxCokjuROCQ1YviLXl1fGJfOc3H1dXcQ/s1600/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 224px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju8OMM2YzRRMetghqxgbuchRuDAec3PaWoSAAJRXGI0P5i113TiiF_1Pb_BxH8HNbMrnU_9pu2fZHv1rWLWG9Vc6Tgc_sy005y_iH1PmnJbu6GxCokjuROCQ1YviLXl1fGJfOc3H1dXcQ/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5406174893237806258&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/4267862735036491357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/11/visual-basic-koversi-latin-ke-romawi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/4267862735036491357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/4267862735036491357'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/11/visual-basic-koversi-latin-ke-romawi.html' title='Visual Basic – Koversi Latin Ke Romawi'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmwtX096dHhSieJ02NIKVnfDck9B5tTHZ51uOeXLe1WwRvp_hrisWZ9Gafq7tT-BCcrCsK7D03hR6C9nhd2kwftEl7Q9OdLTiGuVXmcwHQgsAtn8EmEUyfa2DbodbJg3wNG9zCGeYgkdM/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-8096389564953641192</id><published>2009-11-11T04:57:00.004+07:00</published><updated>2009-11-11T05:05:38.671+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Menggambar Peta Menggunakan Google Maps API</title><content type='html'>&lt;span style=&quot;font-weight:bold;&quot;&gt;Pada situs sebuah perusahaan umumnya diberikan informasi singkat tentang lokasi atau alamat perusahaan tersebut. Dengan menggunakan Google Maps API, Anda dapat memberikan sentuhan dengan menggambarkan lokasi perusahaan.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Masih mengupas kemampuan Google Web API, kali ini kita akan bermain-main dengan menggunakan Google Maps. Seperti namanya, Google Maps akan memetakan jalan, rute atau lokasi tertentu dari suatu wilayah dan menampilkannya secara visual, lengkap dengan fasilitas zoom dan foto satelit.&lt;br /&gt;&lt;br /&gt;Langkah-langkah untuk membuatnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Membuat header utama untuk kode HTML&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;script src=&quot;http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;key=your gmap api key here&quot;&lt;br /&gt;type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt; Google Map &amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah meng-generate map dengan menggunakan JavaScript. Namun untuk inisialisasi data, kita dapat lakukan dengan menggunakan PHP.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt; $KEY = &quot;Google Key Here&quot;;&lt;br /&gt; $MAPS_HOST = &quot;maps.google.com&quot;;&lt;br /&gt; $delay = 0;&lt;br /&gt; $base_url = &quot;http://&quot; . $MAPS_HOST .&lt;br /&gt;   &quot;/maps/geo?output=xml&quot; . &quot;&amp;amp;key=&quot; . $KEY;&lt;br /&gt; $geocode_pending = true;      &lt;br /&gt; $address = &quot;Malang, Indonesia&quot;;&lt;br /&gt;&lt;br /&gt; $latlonArr = array();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;Setelah mendefinisikan area yang hendak dipetakan, perlu ditentukan lokasi garis bujur dan garis lintang. Lokasi garis bujur dan garis lintang inilah yang akan menjadi parameter bagi Google Maps untuk menggambarkan peta.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;while($geocode_pending)&lt;br /&gt; {&lt;br /&gt;   $request_url = $base_url . &quot;&amp;amp;q=&quot; . urlencode($address);&lt;br /&gt;   $xml = simplexml_load_file($request_url) or die(&quot;url not loading&quot;);&lt;br /&gt;   $status = $xml-&gt;Response-&gt;Status-&gt;code;&lt;br /&gt;   if (strcmp($status, &quot;200&quot;) == 0) {&lt;br /&gt;     // Successful geocode&lt;br /&gt;     $geocode_pending = false;&lt;br /&gt;     $coordinates = $xml-&gt;Response-&gt;Placemark-&gt;Point-&gt;coordinates;&lt;br /&gt;     $coordinatesSplit = split(&quot;,&quot;, $coordinates);&lt;br /&gt;     // Format: Longitude, Latitude, Altitude&lt;br /&gt;     $lat = $coordinatesSplit[1];&lt;br /&gt;     $lng = $coordinatesSplit[0];&lt;br /&gt;     $latlonArr[&#39;lat&#39;] = $lat;&lt;br /&gt;     $latlonArr[&#39;lon&#39;] = $lng;&lt;br /&gt;         &lt;br /&gt;   } else if (strcmp($status, &quot;620&quot;) == 0) {&lt;br /&gt;     // sent geocodes too fast&lt;br /&gt;     $delay += 100000;&lt;br /&gt;   } else {&lt;br /&gt;     // failure to geocode&lt;br /&gt;     $geocode_pending = false;&lt;br /&gt;   }&lt;br /&gt;   usleep($delay);&lt;br /&gt;   break;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Lalu kita memanggil Google Maps API dengan cara menyimpan ke dalam suatu variabel.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; //plot map&lt;br /&gt; $str =  &#39;&amp;lt;script&amp;gt;&lt;br /&gt;   var map = new GMap2(document.getElementById(&quot;map&quot;));&lt;br /&gt;   map.addControl(new GLargeMapControl());&lt;br /&gt;   map.addControl(new GMapTypeControl());&lt;br /&gt;   map.addControl(new GScaleControl());&lt;br /&gt;   map.setCenter(new GLatLng(&#39;.$latlonArr[&#39;lat&#39;].&#39;, &#39;.$latlonArr[&#39;lon&#39;].&#39;), 6);&lt;br /&gt;                                               &lt;br /&gt;   // Creates a default marker whose info window displays the given number&lt;br /&gt;   function createMarker(point, number)&lt;br /&gt;   {&lt;br /&gt;     var marker = new GMarker(point);&lt;br /&gt;     // Show this markers index in the info window when it is clicked&lt;br /&gt;     var html = number;&lt;br /&gt;     GEvent.addListener(marker, &quot;click&quot;, function() {marker.openInfoWindowHtml(html);});&lt;br /&gt;     return marker;&lt;br /&gt;   };&#39;;&lt;br /&gt;   $str .= &quot;var point = new GLatLng(&quot; . $latlonArr[&#39;lat&#39;] . &quot;,&quot; . $latlonArr[&#39;lon&#39;] . &quot;);\n&quot;;&lt;br /&gt;   $str .= &quot;var marker = createMarker(point, &#39;&quot; . addslashes($address).&quot;&#39;);\n&quot;;&lt;br /&gt;   $str .= &quot;map.addOverlay(marker);\n&quot;;&lt;br /&gt;   $str .= &quot;&amp;lt;/script&amp;gt;\n&quot;;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Proses penggambaran peta adalah sebagai berikut:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;div id=&quot;map&quot; style=&quot;width: 500px;height:400px&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;?php&lt;br /&gt;  // plot the map with default marker icon&lt;br /&gt;  echo $str;&lt;br /&gt; ?&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Berikut adalah contoh tampilan yang didapatkan:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSWcHBCE8xRL4ScHoM_4TgikQWchJ973GPFhF61hiEeyIcTHWa-YwRu4yWkYpMBD0ySWnSM8spnZ4w-tEozUj5Wz-DtYkugluve7s7zQFU9irsMiqhChqYsrGW9GOYgSMLljnb3eDo24/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 316px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSWcHBCE8xRL4ScHoM_4TgikQWchJ973GPFhF61hiEeyIcTHWa-YwRu4yWkYpMBD0ySWnSM8spnZ4w-tEozUj5Wz-DtYkugluve7s7zQFU9irsMiqhChqYsrGW9GOYgSMLljnb3eDo24/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5402599477892896530&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/8096389564953641192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/11/menggambar-peta-menggunakan-google-maps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8096389564953641192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8096389564953641192'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/11/menggambar-peta-menggunakan-google-maps.html' title='Menggambar Peta Menggunakan Google Maps API'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSWcHBCE8xRL4ScHoM_4TgikQWchJ973GPFhF61hiEeyIcTHWa-YwRu4yWkYpMBD0ySWnSM8spnZ4w-tEozUj5Wz-DtYkugluve7s7zQFU9irsMiqhChqYsrGW9GOYgSMLljnb3eDo24/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-8678725165576024551</id><published>2009-11-06T14:28:00.004+07:00</published><updated>2009-11-11T05:08:48.051+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Memanfaatkan Yahoo! API untuk Saran Perbaikan Kata Kunci Pencarian</title><content type='html'>&lt;strong&gt;Typographical error atau sering disingkat dengan typo merupakan kesalahan ketik yang terjadi selama proses pengetikkan. Terjadinya kesalahan bisa jadi karena selip pada jari saat mengetik sehingga ada karakter yang kurang atau bertambah. Sebagai contoh, mengetikkan kata “Computer” bisa selip menjadi “Compiter” – yang dikarenakan huruf “u” dan “i” bersebelahan pada keyboard. &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Typo ini sempat dimanfaatkan untuk mencuri account user dan password beberapa web-based email atau situs e-banking. Dengan mengamati typo yang sering terjadi saat pengetikan alamat web-based email atau e-banking, beberapa oknum memanfaatkan untuk membuat situs yang serupa. Alih-alih masuk pada situs yang benar, user malah masuk pada situs tiruan tersebut.&lt;br /&gt;&lt;br /&gt;Tidak kalah dengan Google API, Yahoo! juga mempunyai Application Programming Interface (API) yang dapat digunakan untuk memberikan saran perbaikan dari Typo. &lt;br /&gt;Pada aplikasi sederhana ini kita akan membuat sebuah class untuk memanfaatkan Yahoo! API dalam memberikan saran perbaikan dari suatu kata kunci pencarian.&lt;br /&gt;&lt;br /&gt;Langkah-langkah untuk membuatnya adalah:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Kita buat terlebih dulu atribut-atribut yang dibutuhkan. Beberapa atribut penting yang akan digunakan adalah $title (judul dari chart), $data (berisi data dari chart yang hendak digambar), dan $size (menentukan ukuran dari chart)&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt?php&lt;br /&gt;&lt;br /&gt;class spellingSuggestion {&lt;br /&gt;    var $query;&lt;br /&gt;        &lt;br /&gt;    var &lt;br /&gt;       // Alamat Spelling Suggestion dari Yahoo!&lt;br /&gt;       $request_url = &#39;http://search.yahooapis.com/WebSearchService/V1/spellingSuggestion&#39;, &lt;br /&gt;       // xml, json or php (serialized PHP format)&lt;br /&gt;       $output = &#39;php&#39;, &lt;br /&gt;       $appid = &#39;&#39;, &lt;br /&gt;       $response = &#39;&#39;, &lt;br /&gt;       $result = &#39;&#39;;&lt;br /&gt;&lt;br /&gt;    function search( $query ) {&lt;br /&gt;        $this-&gt;query = $query;&lt;br /&gt;        if ( $this-&gt;response = file_get_contents( $this-&gt;request_url . &quot;?appid=&quot; . urlencode( $this-&gt;appid ) . &quot;&amp;output=&quot; . urlencode( $this-&gt;output ) . &quot;&amp;query=&quot; . urlencode( $this-&gt;query ) ) ) &lt;br /&gt;            return true;&lt;br /&gt;        else&lt;br /&gt;            return false;&lt;br /&gt;    }    &lt;br /&gt;&lt;br /&gt;    function getSuggestedWord( $query ) {&lt;br /&gt;        $this-&gt;query = $query;&lt;br /&gt;        $this-&gt;setOutput( &#39;php&#39; );&lt;br /&gt;        if( $this-&gt;search( $query ) ) {&lt;br /&gt;            $this-&gt;result = unserialize( $this-&gt;response );&lt;br /&gt;            if ( isset( $this-&gt;result[&#39;ResultSet&#39;][&#39;Result&#39;] ) )&lt;br /&gt;                return $this-&gt;result[&#39;ResultSet&#39;][&#39;Result&#39;];&lt;br /&gt;            else&lt;br /&gt;                return &quot;&quot;;&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            return &quot;&quot;;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    function setOutput( $output ) {&lt;br /&gt;        $this-&gt;output = $output;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;?&amp;gt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Setelah class selesai, kita akan buat terlebih dulu form untuk meminta masukkan dari user. Masukan dari user tersebut akan menjadi parameter sebagai teks yang hendak diperbaiki dengan memanggil file suggest.php.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt; &lt;br /&gt;&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;/&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Yahoo! API Spelling Suggestion&amp;lt;/title&amp;gt; &lt;br /&gt;&amp;lt;link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt; &lt;br /&gt;&amp;lt;body&amp;gt; &lt;br /&gt;  &amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;form method=&quot;POST&quot; action=&quot;suggest.php&quot;&amp;gt;&lt;br /&gt;  &amp;lt;div id=&quot;content&quot;&amp;gt; &lt;br /&gt;    &amp;lt;p&amp;gt;Masukkan teks: &amp;lt;/p&amp;gt;&lt;br /&gt;    &amp;lt;p&amp;gt;&amp;lt;form action=&quot;&quot; methos=&quot;get&quot;&amp;gt;&lt;br /&gt;    &amp;lt;input type=&quot;text&quot; name=&quot;q&quot; value=&quot;&quot; /&amp;gt; &lt;br /&gt;    &amp;lt;input type=&quot;submit&quot; name=&quot;s&quot; value=&quot;Cek&quot; /&amp;gt;&amp;lt;/form&amp;gt;&lt;br /&gt;    &amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;File suggest.php akan menggunakan class yang telah dan mendapatkan outputnya untuk ditampilkan.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Saran Perbaikan&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;require_once( &#39;YahooSpell.php&#39; );&lt;br /&gt;if ( isset( $_POST[&#39;q&#39;] ) &amp;&amp; $_POST[&#39;q&#39;] != &#39;&#39; ) {&lt;br /&gt;    $query = strip_tags( $_POST[&#39;q&#39;] );&lt;br /&gt;    // buat objek&lt;br /&gt;    $spellingSuggestion = new spellingSuggestion();&lt;br /&gt;    // Set the application id&lt;br /&gt;    $spellingSuggestion-&amp;gt;appid = &#39;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#39;;&lt;br /&gt;    // Get the suggested word&lt;br /&gt;    $result = $spellingSuggestion-&amp;gt;getSuggestedWord( $query );&lt;br /&gt;    // Respon XML&lt;br /&gt;    $spellingSuggestion-&amp;gt;setOutput( &#39;xml&#39; );&lt;br /&gt;    $spellingSuggestion-&amp;gt;search( $query );&lt;br /&gt;    $xmlResponse = $spellingSuggestion-&amp;gt;response;    &lt;br /&gt;    &lt;br /&gt;    // Respon PHP&lt;br /&gt;    $spellingSuggestion-&amp;gt;setOutput( &#39;php&#39; );&lt;br /&gt;    $spellingSuggestion-&amp;gt;search( $query );&lt;br /&gt;    $phpResponse = $spellingSuggestion-&amp;gt;response;    &lt;br /&gt;    &lt;br /&gt;    // Respon XML - JSON&lt;br /&gt;    $spellingSuggestion-&amp;gt;setOutput( &#39;json&#39; );&lt;br /&gt;    $spellingSuggestion-&amp;gt;search( $query );&lt;br /&gt;    $jsonResponse = $spellingSuggestion-&amp;gt;response;&lt;br /&gt;    &lt;br /&gt;}&lt;br /&gt;    &lt;br /&gt;    echo &#39;&amp;lt;h2&amp;gt;Hasil Pemanggilan API&amp;lt;/h2&amp;gt; &#39;;&lt;br /&gt;    echo &#39;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Saran perbaikan:&amp;lt;/strong&amp;gt;&#39;;&lt;br /&gt;    echo &#39;&amp;lt;h3&amp;gt;&#39;;&lt;br /&gt;      if( $result != &#39;&#39; ) &lt;br /&gt;        echo $result; &lt;br /&gt;      else &lt;br /&gt;        echo &quot; Tidak ada perbaikan &amp;lt;/p&amp;gt;&quot;;&lt;br /&gt;    echo &#39;&amp;lt;/h3&amp;gt;&#39;;    &lt;br /&gt;    echo &quot;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Respon XML:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&quot;;&lt;br /&gt;    echo htmlentities( $xmlResponse ) . &quot;; &amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;/p&amp;gt;    &quot;;&lt;br /&gt;    echo &quot;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Respon PHP:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&quot; .  htmlentities( $phpResponse ) . &quot;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;/p&amp;gt;    &quot;;&lt;br /&gt;    echo &quot;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Respon JSON:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&quot; . htmlentities( $jsonResponse ) . &quot;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;/p&amp;gt;     &quot;;&lt;br /&gt;    echo &quot;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &quot;;&lt;br /&gt;    echo &quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt; &quot;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Langkah terakhir adalah membuat style untuk memperbaiki tampilan. File style ini disimpan dengan nama style.css yang akan digunakan pada 2 file sebelumnya yaitu test.html dan suggest.php.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;body  {&lt;br /&gt;  font-family: Verdana, Arial, Helvetica, sans-serif;&lt;br /&gt;  font-size: 11px;&lt;br /&gt;  background-color: #FFFFFF;}&lt;br /&gt;  &lt;br /&gt;pre   {&lt;br /&gt;  color:#ff6666;&lt;br /&gt;  padding:10px;&lt;br /&gt;  border:1px solid #666;&lt;br /&gt;  margin: 5px 0;} &lt;br /&gt;  &lt;br /&gt;.clear  {&lt;br /&gt;  display:block;&lt;br /&gt;  clear:both;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Contoh tampilan yang didapatkan adalah sebagai berikut:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdVFTFDo1iZf6-MnRl4X-qDgMqWBpeZdpPgRTjaxAWUGKYvsvTx85j09R8Jo2sWpPCEdO0sGCc8tjrNCohfFaI0RHhyphenhyphenFSv5aF7HYFy-r24m9s-GSFv-KC1kD2wneof9ZbnY4MUCv__aE/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 166px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdVFTFDo1iZf6-MnRl4X-qDgMqWBpeZdpPgRTjaxAWUGKYvsvTx85j09R8Jo2sWpPCEdO0sGCc8tjrNCohfFaI0RHhyphenhyphenFSv5aF7HYFy-r24m9s-GSFv-KC1kD2wneof9ZbnY4MUCv__aE/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5402600150891124898&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHVxk_0sBUC3K_zq5bob5hx27BYxYxJf7K4NVOTl6ZsSu30Yx9rLSABa8R0I_7qdoqykUxL8oQFxomkqGsEvfaEbfrFzveGQmjh3o8e6wq5AAb938qe09dqITbZ8pErnNvNazA0q2p-us/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 269px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHVxk_0sBUC3K_zq5bob5hx27BYxYxJf7K4NVOTl6ZsSu30Yx9rLSABa8R0I_7qdoqykUxL8oQFxomkqGsEvfaEbfrFzveGQmjh3o8e6wq5AAb938qe09dqITbZ8pErnNvNazA0q2p-us/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5402600318152181186&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/8678725165576024551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/11/memanfaatkan-yahoo-api-untuk-saran.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8678725165576024551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8678725165576024551'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/11/memanfaatkan-yahoo-api-untuk-saran.html' title='Memanfaatkan Yahoo! API untuk Saran Perbaikan Kata Kunci Pencarian'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdVFTFDo1iZf6-MnRl4X-qDgMqWBpeZdpPgRTjaxAWUGKYvsvTx85j09R8Jo2sWpPCEdO0sGCc8tjrNCohfFaI0RHhyphenhyphenFSv5aF7HYFy-r24m9s-GSFv-KC1kD2wneof9ZbnY4MUCv__aE/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-6193400734505622120</id><published>2009-11-05T22:11:00.000+07:00</published><updated>2009-11-05T22:12:01.679+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic - Mengolah Data Array</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Array termasuk struktur data yang penting dalam bahasa pemrograman terstruktur. Sebuah array mampu menampung banyak data sejenis sekaligus. Pada tip kali ini, diberikan contoh pengolahan data di dalam array untuk melakukan perhitungan total, rata-rata, nilai minimum dan nilai maksimum.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Salah satu keuntungan bahasa Basic dalam mengolah array adalah ukuran array dapat diubah pada saat runtime. Jika pada awal program array disiapkan untuk menampung 100 data misalnya, maka jika sewaktu-waktu pada saat program dijalankan, diperlukan jumlah data lebih dari 100, maka ada perintah REDIM yang dapat dimanfaatkan untuk mengubah ukuran array. Program di bawah ini menunjukkan bagaimana pemanfaatan array untuk menghitung total, rata-rata, nilai minimum dan nilai maksimum.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Langkah-langkahnya adalah:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Buat form baru, tambahkan 2 buah textbox (dengan nama txtData sebagai textbox untuk entry data dan txtHasil sebagai textbox yang menampilkan hasil pengolahan array), 7 buah command button (cmdInsert, cmdRemove, cmdClear, cmdTotal, cmdRata, cmdMaks, dan cmdMin), sebuah list box (lstData untuk menampung data) serta sebuah label (lblNData untuk menampilkan jumlah data yang telah dimasukkan saat ini). &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL7SOcS-xIWAuhNbNvd4wJXZF-l1309l-VM0eEB1xaNyTfNkyBJstsw7ljM_v59pg6ti1JsxNhEpcLgWuD6BeiRi0RH8caLnqs_hux6RZ5KIk3v_40yUKq74OqQL6f8l4S_liL_u3O5VHT/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 305px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL7SOcS-xIWAuhNbNvd4wJXZF-l1309l-VM0eEB1xaNyTfNkyBJstsw7ljM_v59pg6ti1JsxNhEpcLgWuD6BeiRi0RH8caLnqs_hux6RZ5KIk3v_40yUKq74OqQL6f8l4S_liL_u3O5VHT/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5400636811790599330&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Fungsi pengolahan arraynya ada 3, yaitu: ArraySum untuk menghitung total jumlah (Sigma), ArrayMin untuk menghasilkan nilai terkecil dari array, ArrayMaks untuk menghasilkan nilai terbesar dari array, dan RemoveItem untuk menghapus data ke N di dalam array.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Option Explicit&lt;br /&gt;Dim arr() As Double&lt;br /&gt;&lt;br /&gt;Function ArraySum() As Variant&lt;br /&gt;    Dim i As Long, result As Variant&lt;br /&gt;    For i = LBound(arr) To UBound(arr)&lt;br /&gt;      result = result + arr(i)&lt;br /&gt;    Next&lt;br /&gt;    ArraySum = result&lt;br /&gt;End Function&lt;br /&gt;Function ArrayMin() As Variant&lt;br /&gt;    Dim i As Long, Min As Variant&lt;br /&gt;    Min = arr(0)&lt;br /&gt;    For i = 1 To lstData.ListCount - 1&lt;br /&gt;      If Min &gt; arr(i) Then Min = arr(i)&lt;br /&gt;    Next&lt;br /&gt;    ArrayMin = Min&lt;br /&gt;End Function&lt;br /&gt;Function ArrayMaks() As Variant&lt;br /&gt;    Dim i As Long, Maks As Variant&lt;br /&gt;    Maks = arr(0)&lt;br /&gt;    For i = 1 To lstData.ListCount - 1&lt;br /&gt;      If Maks &lt; arr(i) Then Maks = arr(i)&lt;br /&gt;    Next&lt;br /&gt;    ArrayMaks = Maks&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Private Sub RemoveItem(n As Long)&lt;br /&gt;  Dim i As Long&lt;br /&gt;  For i = n To lstData.ListCount - 1&lt;br /&gt;    arr(i) = arr(i + 1)&lt;br /&gt;  Next i&lt;br /&gt;  arr(lstData.ListCount - 1) = 0&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah mengatur event untuk penekanan button serta.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Dim arr() As Double&lt;br /&gt;Private Sub cmdClear_Click()&lt;br /&gt;  lstData.Clear&lt;br /&gt;  lblNData.Caption = &quot;Jumlah data : &quot; &amp; lstData.ListCount&lt;br /&gt;  ReDim arr(0)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdInsert_Click()&lt;br /&gt;  lstData.AddItem Val(txtData.Text)&lt;br /&gt;  ReDim Preserve arr(lstData.ListCount)&lt;br /&gt;  arr(lstData.ListCount - 1) = Val(txtData.Text)&lt;br /&gt;  txtData.Text = &quot;&quot;&lt;br /&gt;  txtData.SetFocus&lt;br /&gt;  lblNData.Caption = &quot;Jumlah data : &quot; &amp; lstData.ListCount&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdMaks_Click()&lt;br /&gt;  txtHasil.Text = Format(ArrayMaks, &quot;##,##0.00&quot;)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdMin_Click()&lt;br /&gt;  txtHasil.Text = Format(ArrayMin, &quot;##,##0.00&quot;)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdRata_Click()&lt;br /&gt;  Dim hasil As Double&lt;br /&gt;  hasil = ArraySum&lt;br /&gt;  txtHasil.Text = Format(hasil / lstData.ListCount, &quot;##,##0.00&quot;)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdRemove_Click()&lt;br /&gt;  If lstData.ListIndex &gt;= 0 Then RemoveItem lstData.ListIndex&lt;br /&gt;  lstData.RemoveItem lstData.ListIndex&lt;br /&gt;  lblNData.Caption = &quot;Jumlah data : &quot; &amp; lstData.ListCount &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdTotal_Click()&lt;br /&gt;  Dim hasil As Double&lt;br /&gt;  hasil = ArraySum&lt;br /&gt;  txtHasil.Text = Format(hasil, &quot;##,##0.00&quot;)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;  lstData.Clear&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Simpan program, lalu jalankan. Tampilan yang Anda dapatkan seperti pada gambar.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSF7A6IfLCZOiAE7G11dGAka3r8dO1sc6pCbkHy3eLRMecI3V2HPGjNzv8AR5oVFn5aK_mH2yCf8vc8Eg25GZIZjHgY2C9AwOAuVhAWNJg44Gu4033Pp6NvGxNE51KrhbpL75phfWzrowG/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 309px; height: 270px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSF7A6IfLCZOiAE7G11dGAka3r8dO1sc6pCbkHy3eLRMecI3V2HPGjNzv8AR5oVFn5aK_mH2yCf8vc8Eg25GZIZjHgY2C9AwOAuVhAWNJg44Gu4033Pp6NvGxNE51KrhbpL75phfWzrowG/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5400636817469793506&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/6193400734505622120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/11/visual-basic-mengolah-data-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/6193400734505622120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/6193400734505622120'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/11/visual-basic-mengolah-data-array.html' title='Visual Basic - Mengolah Data Array'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL7SOcS-xIWAuhNbNvd4wJXZF-l1309l-VM0eEB1xaNyTfNkyBJstsw7ljM_v59pg6ti1JsxNhEpcLgWuD6BeiRi0RH8caLnqs_hux6RZ5KIk3v_40yUKq74OqQL6f8l4S_liL_u3O5VHT/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-557087875329826350</id><published>2009-10-31T09:39:00.004+07:00</published><updated>2009-10-31T09:53:29.325+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic – Membuat Form yang Transparan</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Sebuah form merupakan tempat meletakkan kontrol seperti text box, command button, dan label. Form mempunyai properti warna latar belakang yang standardnya adalah warna dari button face.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Anda bisa dengan mudah mengganti warna latar belakang dari sebuah form lewat properti backcolor dengan format &amp;amp;HRRGGBB, di mana &amp;amp;H merupakan notasi untuk bilangan heksa, RR adalah intensitas warna merah, GG adalah intensitas warna hijau dan BB adalah intensitas warna biru (ketiganya dalam notasi bilangan heksa). Tapi bisakah warna latar belakang dari form dibuat transparan? Bisa. Dengan memanfaatkan fungsi API (Application Programming Interface) yang memang disediakan oleh Windows untuk mengatasi keterbatasan perintah-perintah pada VB.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Langkah-langkah membuat form transparan adalah:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Buat form baru, tambahkan 3 command button (cmdTransparan untuk mengubah form menjadi transparan dan sebaliknya, cmdFrame untuk menghilangkan border dari from dan cmdExit untuk keluar dari program) dan satu text box.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8QmGRnJhfs7C4t5J3ZHtphJdpnpGLP1yW8iCSjHSeJCu2x-v6N4210A0IpsNA3Ov0zbaw2aWRQGFp5T2Nn1EfwTwr4lLUElXpJffHFDBphMrypLqN7j2pgNMWntq1hezRb8p8LjsirmE/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 189px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8QmGRnJhfs7C4t5J3ZHtphJdpnpGLP1yW8iCSjHSeJCu2x-v6N4210A0IpsNA3Ov0zbaw2aWRQGFp5T2Nn1EfwTwr4lLUElXpJffHFDBphMrypLqN7j2pgNMWntq1hezRb8p8LjsirmE/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5398590706021108050&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Buat sebuah modul baru lewat menu Project|Add Module. Pada module inilah deklarasi untuk fungsi-fungsi API diketikkan.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Public Declare Function SendMessage _&lt;br /&gt; Lib &quot;user32&quot; Alias &quot;SendMessageA&quot; (ByVal hwnd As Long, _&lt;br /&gt; ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long&lt;br /&gt;Public Declare Function CreateRectRgn _&lt;br /&gt; Lib &quot;gdi32&quot; (ByVal X1 As Long, ByVal Y1 As Long, _&lt;br /&gt; ByVal X2 As Long, ByVal Y2 As Long) As Long&lt;br /&gt;Public Declare Function CombineRgn _&lt;br /&gt; Lib &quot;gdi32&quot; (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, _&lt;br /&gt; ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long&lt;br /&gt;Public Declare Function SetWindowRgn _&lt;br /&gt; Lib &quot;user32&quot; (ByVal hwnd As Long, ByVal hRgn As Long, _&lt;br /&gt; ByVal bRedraw As Boolean) As Long&lt;br /&gt;Public Declare Function DeleteObject _&lt;br /&gt; Lib &quot;gdi32&quot; (ByVal hObject As Long) As Long&lt;br /&gt;Public Declare Function ReleaseCapture Lib &quot;user32&quot; () As Long&lt;br /&gt;Public Const RGN_OR = 2&lt;br /&gt;Public Const RGN_DIFF = 4&lt;br /&gt;Public Const WM_NCLBUTTONDOWN = &amp;amp;HA1&lt;br /&gt;Public Const HTCAPTION = 2&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Subrutin utamanya adalah Sub changeFormEffect(inEffect As Integer).  Untuk membuat sebuah form transparan, sub ini dipanggil dengan menggunakan parameter 1. Untuk menormalkan form, sub ini dipanggil lagi dengan menggunakan parameter 0.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub changeFormEffect(inEffect As Integer)&lt;br /&gt;   Dim w As Single, h As Single&lt;br /&gt;   Dim edge As Single, topEdge As Single&lt;br /&gt;   Dim mLeft, mTop&lt;br /&gt;   Dim i As Integer&lt;br /&gt;   Dim r As Long&lt;br /&gt;   Dim outer As Long, inner As Long&lt;br /&gt;  &lt;br /&gt;   w = ScaleX(Width, vbTwips, vbPixels)&lt;br /&gt;   h = ScaleY(Height, vbTwips, vbPixels)&lt;br /&gt;  &lt;br /&gt;   If inEffect = 0 Then&lt;br /&gt;       mFormRegion = CreateRectRgn(0, 0, w, h)&lt;br /&gt;       SetWindowRgn hwnd, mFormRegion, True&lt;br /&gt;       Exit Sub&lt;br /&gt;   End If&lt;br /&gt;  &lt;br /&gt;   mFormRegion = CreateRectRgn(0, 0, 0, 0)&lt;br /&gt;   edge = (w - ScaleWidth) / 2&lt;br /&gt;   topEdge = h - edge - ScaleHeight&lt;br /&gt;   If inEffect = 1 Then&lt;br /&gt;       outer = CreateRectRgn(0, 0, w, h)&lt;br /&gt;       inner = CreateRectRgn(edge, topEdge, w - edge, h - edge)&lt;br /&gt;       CombineRgn mFormRegion, outer, inner, RGN_DIFF&lt;br /&gt;   End If&lt;br /&gt;  &lt;br /&gt;   For i = 0 To Me.Controls.Count - 1&lt;br /&gt;       If Me.Controls(i).Visible = True Then&lt;br /&gt;           mLeft = ScaleX(Me.Controls(i).Left, Me.ScaleMode, vbPixels) + edge&lt;br /&gt;           mTop = ScaleX(Me.Controls(i).Top, Me.ScaleMode, vbPixels) + topEdge&lt;br /&gt;           r = CreateRectRgn(mLeft, mTop, _&lt;br /&gt;               mLeft + ScaleX(Me.Controls(i).Width, Me.ScaleMode, vbPixels), _&lt;br /&gt;               mTop + ScaleY(Me.Controls(i).Height, Me.ScaleMode, vbPixels))&lt;br /&gt;           CombineRgn mFormRegion, r, mFormRegion, RGN_OR&lt;br /&gt;       End If&lt;br /&gt;   Next&lt;br /&gt;   SetWindowRgn hwnd, mFormRegion, True&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Berikutnya adalah mengatur event untuk penekanan tombol serta mempersiapkan form pada event form_load.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Dim formEffectIndex As Integer&lt;br /&gt;Dim mFormRegion As Long&lt;br /&gt;Dim msg1 As String, msg2 As String&lt;br /&gt;&lt;br /&gt;Private Sub cmdExit_Click()&lt;br /&gt; End&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdFrame_Click()&lt;br /&gt;   If formEffectIndex = 1 Then&lt;br /&gt;       formEffectIndex = 2&lt;br /&gt;   Else&lt;br /&gt;       formEffectIndex = 1&lt;br /&gt;   End If&lt;br /&gt;   changeFormEffect formEffectIndex&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdTransparan_Click()&lt;br /&gt;   If formEffectIndex &lt;&gt; 0 Then&lt;br /&gt;       formEffectIndex = 0&lt;br /&gt;       cmdFrame.Enabled = False&lt;br /&gt;   Else&lt;br /&gt;       formEffectIndex = 1&lt;br /&gt;       cmdFrame.Enabled = True&lt;br /&gt;   End If&lt;br /&gt;   changeFormEffect formEffectIndex&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;   Me.ScaleMode = vbPixels&lt;br /&gt;   formEffectIndex = 0&lt;br /&gt;   cmdFrame.Enabled = False&lt;br /&gt;   changeFormEffect formEffectIndex&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)&lt;br /&gt;   SetWindowRgn hwnd, 0, False&lt;br /&gt;   DeleteObject mFormRegion&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)&lt;br /&gt;   If Button &lt;&gt; vbLeftButton Then&lt;br /&gt;        Exit Sub&lt;br /&gt;   End If&lt;br /&gt;   ReleaseCapture&lt;br /&gt;   SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&amp;amp;&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Simpan program, lalu jalankan. Tampilan awal form adalah form normal (tidak transparan).&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIIdjXZZoAsLRCknoSDz4-PFf8k69KXOX9Gs4HCllxCt7ixN-HpeWo2UZwJlPODgk_paJYNNR2wk0TV7BHQlKSUGjDl0ALVYwZ5ltqb1E8m9eCkgMBh2X1jSNiuRIQC7Vm5LiRqjL1SKQ/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 258px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIIdjXZZoAsLRCknoSDz4-PFf8k69KXOX9Gs4HCllxCt7ixN-HpeWo2UZwJlPODgk_paJYNNR2wk0TV7BHQlKSUGjDl0ALVYwZ5ltqb1E8m9eCkgMBh2X1jSNiuRIQC7Vm5LiRqjL1SKQ/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5398590709007401874&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Jika Anda mengklik button Transparan, maka Anda akan mendapatkan tampilan seperti pada gambar:&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiofoLVIbbXHb4ML0Qlj3ohbpC5tgz8DQvay6hCbaug1Jt2crN7vur8Zyc8NyGIFPE67q4qX8-ZYMS5aGrvCVytaO3X4PbteiyL_7Pm87cw3KIvhSaP8NLDSWZscIBtnU-umiUhilhwpfc/s1600-h/03.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 258px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiofoLVIbbXHb4ML0Qlj3ohbpC5tgz8DQvay6hCbaug1Jt2crN7vur8Zyc8NyGIFPE67q4qX8-ZYMS5aGrvCVytaO3X4PbteiyL_7Pm87cw3KIvhSaP8NLDSWZscIBtnU-umiUhilhwpfc/s320/03.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5398590712266345986&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Button Frame digunakan untuk menghilangkan frame dari form sehingga form benar-benar transparan.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMJ2ZThk_kx_9a4QrTMEmMSjnkWZtPIsC7wxa3Imx__XD7YrC7r25Ec_ZiDyQ27ilPxwxCq65rF6vGcJKppi-qKml0Du-nQiMqanpLd7EkzodPwuWYIYUnJ3c0fhEoALkaA9GM9tkC36A/s1600-h/04.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 258px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMJ2ZThk_kx_9a4QrTMEmMSjnkWZtPIsC7wxa3Imx__XD7YrC7r25Ec_ZiDyQ27ilPxwxCq65rF6vGcJKppi-qKml0Du-nQiMqanpLd7EkzodPwuWYIYUnJ3c0fhEoALkaA9GM9tkC36A/s320/04.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5398590717070179346&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/557087875329826350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/10/visual-basic-membuat-form-yang.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/557087875329826350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/557087875329826350'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/10/visual-basic-membuat-form-yang.html' title='Visual Basic – Membuat Form yang Transparan'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8QmGRnJhfs7C4t5J3ZHtphJdpnpGLP1yW8iCSjHSeJCu2x-v6N4210A0IpsNA3Ov0zbaw2aWRQGFp5T2Nn1EfwTwr4lLUElXpJffHFDBphMrypLqN7j2pgNMWntq1hezRb8p8LjsirmE/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-8030155382742279859</id><published>2009-10-17T11:10:00.004+07:00</published><updated>2009-10-17T11:20:51.860+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic – Menampilkan Animasi</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Animation Control adalah cara termudah untuk menambahkan animasi pada program VB Anda. Dengan Animation Control ini, Anda dapat mem-play file AVI hanya dengan beberapa baris program.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Control ini hanya mendukung file AVI yang tidak ”bersuara” atau file AVI yang telah dikompres dengan menggunakan Run-Length Encoding (RLE). Selain file AVI jenis tersebut, maka akan muncul errror yaitu error 35752 (Unable to open AVI file).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Komponen Animation control harus ditambahkan terlebih dulu lewat menu Project|Component atau dengan shortcut Ctrl+T. Beri tanda check untuk Microsoft Windows Common Control-2 6.0 atau dengan memilih file MSCOMCT2.OCX lewat button Browse.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib3nRfjzxowwpOmBiRv73aD84ZP6Pm5AvRZ_NzirsSDlnP8pzydczX0fx-HvlRWlQQlOj6i0k-jb52XayFOrP5ehvALT65jENtrVYtXvQ2HfEhrRa2upaYe1QJOCj_lwRKqkG12f81E8Q/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 289px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib3nRfjzxowwpOmBiRv73aD84ZP6Pm5AvRZ_NzirsSDlnP8pzydczX0fx-HvlRWlQQlOj6i0k-jb52XayFOrP5ehvALT65jENtrVYtXvQ2HfEhrRa2upaYe1QJOCj_lwRKqkG12f81E8Q/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5393418774363889714&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Sedangkan untuk form, siapkan 4 buah text box dengan nama txtFileName (digunakan untuk mengisikan nama file AVI yang hendak dijalankan), txtTimes (digunakan untuk mengatur berapa kali animasi dijalankan), txtFrom (digunakan untuk mengisi mulai dari frame ke berapa animasi dijalankan) dan txtTo (digunakan untuk mengisi sampai frame ke berapa animasi dijalankan). Tiga buah command button (dengan nama cmdBrowse, cmdPlay dan cmdStop) serta sebuah animation control (dengan nama animation1).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVIOSNdKRqDAlBi0Ag49u-of3O2VsHp4velek9qo0jVxHaBs-UeLZTZ4VZkEG_Y4wV2u9lgqGjggJLDmsTrHaD9GR0hBTYfhB10etGDRO03eeK-aGJJa00wINnZbtfYYlV_2GfUakY2d0/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 112px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVIOSNdKRqDAlBi0Ag49u-of3O2VsHp4velek9qo0jVxHaBs-UeLZTZ4VZkEG_Y4wV2u9lgqGjggJLDmsTrHaD9GR0hBTYfhB10etGDRO03eeK-aGJJa00wINnZbtfYYlV_2GfUakY2d0/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5393418930317246898&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk keperluan browse (membuka file AVI), kita akan membutuhkan control Common Dialog. Control Common Dialog ini harus ditambahkan dengan cara yang sama seperti menambahkan Animation Control, yaitu lewat menu Project|Component atau dengan shortcut Ctrl+T. Component yang dipilih adalah Microsoft Common Dialog Control 6.0 atau dengan memilih file COMDLG32.OCX.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk menjalankan file AVI, perintah yang digunakan adalah perintah PLAY. Sintaks penulisan untuk perintah PLAY ini adalah:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;Play [RepeatCount], [StartFrame], [EndFrame]&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;RepeatCount adalah jumlah pengulangan yang dilakukan. StartFrame adalah frame awal untuk memulai animasi dan EndFrame adalah frame terakhir yang dijalankan. Ketiga perintah tersebut adalah opsional (boleh ditulis, boleh tidak). Jika RepeatCount tidak diisi apa-apa, artinya animasi akan dijalankan terus menerus sampai animasi dihentikan dengan perintah stop.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Program selengkapnya adalah:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub cmdBrowse_Click()&lt;br /&gt;  CommonDialog1.ShowOpen&lt;br /&gt;  txtFileName.Text = CommonDialog1.FileName&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdPlay_Click()&lt;br /&gt;  Dim times, fromf, tof&lt;br /&gt;  Animation1.Open txtFileName.Text&lt;br /&gt;  If txtTimes.Text &lt;&gt; &quot;&quot; Then times = Val(txtTimes.Text) Else times = -1&lt;br /&gt;  If txtFrom.Text &lt;&gt; &quot;&quot; Then fromf = Val(txtFrom.Text) Else fromf = 0&lt;br /&gt;  If txtTo.Text &lt;&gt; &quot;&quot; Then tof = Val(txtTo.Text) Else tof = -1&lt;br /&gt;  Animation1.Play times, fromf, tof&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdStop_Click()&lt;br /&gt;  Animation1.Stop&lt;br /&gt;  Animation1.Close&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Simpan program ini, lalu jalankan. Jika Anda memilih file filecopy.AVI, Anda akan mendapatkan tampilan seperti pada gambar:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2FClAd0Yx25HFVVy3AKohqDByn0-N-0Zk4IRBnLaNJdj8UDhEGW71jdhKV46OJJfYegOyTtIniDhMcWbhT1sON7gywFrXVVhcaNg6vqxxejd_Oz98RY-gt6aZjC7hfCBVd6ug_tEB6HQ/s1600-h/03.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 112px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2FClAd0Yx25HFVVy3AKohqDByn0-N-0Zk4IRBnLaNJdj8UDhEGW71jdhKV46OJJfYegOyTtIniDhMcWbhT1sON7gywFrXVVhcaNg6vqxxejd_Oz98RY-gt6aZjC7hfCBVd6ug_tEB6HQ/s320/03.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5393419028987692562&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt; Contoh file-file AVI yang bisa dijalankan ada pada folder \Common\Graphics\AVIs yang ada di dalam folder instalasi Visual Studio Anda.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/8030155382742279859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/10/visual-basic-menampilkan-animasi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8030155382742279859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8030155382742279859'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/10/visual-basic-menampilkan-animasi.html' title='Visual Basic – Menampilkan Animasi'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib3nRfjzxowwpOmBiRv73aD84ZP6Pm5AvRZ_NzirsSDlnP8pzydczX0fx-HvlRWlQQlOj6i0k-jb52XayFOrP5ehvALT65jENtrVYtXvQ2HfEhrRa2upaYe1QJOCj_lwRKqkG12f81E8Q/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-4612465131049116343</id><published>2009-10-01T23:21:00.004+07:00</published><updated>2009-10-01T23:32:11.249+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Membuat Program Penerjemah Kalimat dengan Google Translate API</title><content type='html'>&lt;p&gt;&lt;b&gt;Pada posting yang lalu, ada program kamus yang dibuat dengan menggunakan PHP dan XML. Keakuratan aplikasi tersebut dalam menerjemahkan akan tergantung dari isi file XML yang ada. Semakin file XML tersebut lengkap, tentunya aplikasi kamus akan nampak semakin canggih.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Pada tip kali ini, kita akan membuat membuat aplikasi untuk menerjemahkan kalimat Bahasa Indonesia ke dalam empat bahasa dunia, yaitu Inggris, Italia, Spanyol dan Perancis. Tentunya kita tidak akan menyimpan data vocab masing-masing bahasa ataupun mengkodekan struktur grammar dari bahasa-bahasa tersebut. Google Translate API akan dapat kita gunakan untuk membantu dalam melakukan penerjemahan. &lt;/p&gt;&lt;p&gt;Langkah-langkah untuk membuatnya adalah:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Kita buat terlebih dulu halaman awal untuk menerima teks Bahasa Indonesia serta memilih bahasa tujuan. Kita simpan file ini dengan nama index.php sebagai halaman awal yang nanti dipanggil.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Menerjemahkan dengan Google Translate API&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;h2&amp;gt;Masukkan teks dalam Bahasa Indonesia&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;lt;form method=&quot;post&quot; action=&quot;translate.php&quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;input type=&quot;text&quot; size=50 name=&quot;teks&quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;select name=&quot;tujuan&quot;&amp;gt;&lt;br /&gt;    &amp;lt;option value=&quot;en&quot;&amp;gt;Inggris&amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;option value=&quot;it&quot;&amp;gt;Italia&amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;option value=&quot;es&quot;&amp;gt;Spanyol&amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;option value=&quot;fr&quot;&amp;gt;Perancis&amp;lt;/option&amp;gt;    &lt;br /&gt;&amp;lt;/select&amp;gt;&lt;br /&gt;&amp;lt;input type=&quot;submit&quot; value=&quot;Terjemahkan&quot; name=&quot;oke&quot;&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Kita siapkan modul untuk melakukan proses penerjemahan dalam file PHP yang bernama translate.php. Kita buat terlebih dulu header HTML-nya.&lt;/li&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Hasil terjemahan&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;style type=&quot;text/css&quot;&amp;gt;&lt;br /&gt;body {&lt;br /&gt;      background-color : #FFFFFF;&lt;br /&gt;      font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;&lt;br /&gt;      color : #000088;&lt;br /&gt;      margin: 5px; &lt;br /&gt;      }&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Berikutnya kita akan membuat sebuah class PHP yang bertugas untuk memanggil Google Translate API dan menampilkan hasil terjemahan dari bahasa yang telah dipilih. Ada beberapa atribut yang perlu dideklarasikan di awal class ini.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;class GoogleTranslateApi{ &lt;br /&gt;&lt;br /&gt;    var $BaseUrl = &#39;http://ajax.googleapis.com/ajax/services/language/translate&#39;; &lt;br /&gt;    var $FromLang = &#39;id&#39;; &lt;br /&gt;    var $ToLang = &#39;&#39;; &lt;br /&gt;    var $Version = &#39;1.0&#39;; &lt;br /&gt;     &lt;br /&gt;    var $CallUrl; &lt;br /&gt;     &lt;br /&gt;    var $Text = &#39;&#39;; &lt;br /&gt;     &lt;br /&gt;    var $TranslatedText; &lt;br /&gt;    var $DebugMsg; &lt;br /&gt;    var $DebugStatus; &lt;br /&gt;     &lt;br /&gt;    function GoogleTranslateApi(){ &lt;br /&gt;        $this-&amp;gt;CallUrl = $this-&amp;gt;BaseUrl . &quot;?v=&quot; . &lt;br /&gt;        $this-&amp;gt;Version . &quot;&amp;q=&quot; . urlencode($this-&amp;gt;Text) . &lt;br /&gt;        &quot;&amp;langpair=&quot; . $this-&amp;gt;FromLang . &quot;%7C&quot; . $this-&amp;gt;ToLang; &lt;br /&gt;    } &lt;br /&gt;     &lt;br /&gt;    function makeCallUrl(){ &lt;br /&gt;        $this-&amp;gt;CallUrl = $this-&amp;gt;BaseUrl . &quot;?v=&quot; . &lt;br /&gt;        $this-&amp;gt;Version . &quot;&amp;q=&quot; . urlencode($this-&amp;gt;Text) . &lt;br /&gt;        &quot;&amp;langpair=&quot; . $this-&amp;gt;FromLang . &quot;%7C&quot; . $this-&amp;gt;ToLang; &lt;br /&gt;    } &lt;br /&gt;     &lt;br /&gt;    function translate($text = &#39;&#39;){ &lt;br /&gt;        if($text != &#39;&#39;){ &lt;br /&gt;            $this-&amp;gt;Text = $text; &lt;br /&gt;        } &lt;br /&gt;        $this-&amp;gt;makeCallUrl(); &lt;br /&gt;        if($this-&amp;gt;Text != &#39;&#39; &amp;&amp; $this-&amp;gt;CallUrl != &#39;&#39;){ &lt;br /&gt;            $handle = fopen($this-&amp;gt;CallUrl, &quot;rb&quot;); &lt;br /&gt;            $contents = &#39;&#39;; &lt;br /&gt;            while (!feof($handle)) { &lt;br /&gt;            $contents .= fread($handle, 8192); &lt;br /&gt;            } &lt;br /&gt;            fclose($handle); &lt;br /&gt;             &lt;br /&gt;            $json = json_decode($contents, true); &lt;br /&gt;             &lt;br /&gt;            if($json[&#39;responseStatus&#39;] == 200){ //Request berhasil&lt;br /&gt;                $this-&amp;gt;TranslatedText = $json[&#39;responseData&#39;][&#39;translatedText&#39;]; &lt;br /&gt;                $this-&amp;gt;DebugMsg = $json[&#39;responseDetails&#39;]; &lt;br /&gt;                $this-&amp;gt;DebugStatus = $json[&#39;responseStatus&#39;]; &lt;br /&gt;                return $this-&amp;gt;TranslatedText; &lt;br /&gt;            } else { //Ada kesalahan&lt;br /&gt;                return false; &lt;br /&gt;                $this-&amp;gt;DebugMsg = $json[&#39;responseDetails&#39;]; &lt;br /&gt;                $this-&amp;gt;DebugStatus = $json[&#39;responseStatus&#39;]; &lt;br /&gt;            } &lt;br /&gt;        } else { &lt;br /&gt;            return false; &lt;br /&gt;        } &lt;br /&gt;    } &lt;br /&gt;} &lt;br /&gt;$translate = new GoogleTranslateApi; &lt;br /&gt;$to=$_POST[&#39;tujuan&#39;];&lt;br /&gt;&lt;br /&gt;$translate-&amp;gt;FromLang = &#39;id&#39;; &lt;br /&gt;$translate-&amp;gt;ToLang = $to; &lt;br /&gt;switch ($to)&lt;br /&gt;{&lt;br /&gt;  case &#39;en&#39;:$tolang=&quot;Inggris&quot;;break;&lt;br /&gt;  case &#39;it&#39;:$tolang=&quot;Italia&quot;;break;&lt;br /&gt;  case &#39;es&#39;:$tolang=&quot;Spanyol&quot;;break;&lt;br /&gt;  case &#39;fr&#39;:$tolang=&quot;Perancis&quot;;break;&lt;br /&gt;} &lt;br /&gt;$teks=$_POST[&#39;teks&#39;];&lt;br /&gt;echo &#39;&amp;lt;center&amp;gt;Google menerjemahkan &amp;lt;br&amp;gt; &lt;br /&gt;      &amp;lt;b&amp;gt;&quot;&#39;.$teks.&#39;&quot;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;      ke dalam bahasa &#39;.$tolang.&#39; menjadi: &amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&quot;&#39;;&lt;br /&gt;echo $translate-&amp;gt;translate($teks).&#39;&quot;&amp;lt;/b&amp;gt;&#39;; &lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Berikut adalah beberapa contoh tampilan yang didapatkan:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_teaUq6e3TvC0xeJ5qr7CA6fNEIb0KdtPJ19fXCChIw3obFlVTvcTOmPh7NfIdPy39Qwj6z9aJD5vCxux12ymTV_CGmeZx8n3FE6TBWrXAWWIGRhgHepQ0F_Mlp1z-1PQ8Qwn-kEBYa8/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 211px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_teaUq6e3TvC0xeJ5qr7CA6fNEIb0KdtPJ19fXCChIw3obFlVTvcTOmPh7NfIdPy39Qwj6z9aJD5vCxux12ymTV_CGmeZx8n3FE6TBWrXAWWIGRhgHepQ0F_Mlp1z-1PQ8Qwn-kEBYa8/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5387670020365760610&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2L3xsaf3oQY07hq118hs-5IF6UPublPhtngC0OltIDcitAqDjLnhPSjrXRIC45PycoPq-t_HPawAFrTy6gi0Bd2sZApMa3o5LKjR9StFxLdsGAuV6aPTqo_WHdHKLDySb52JYEZRgWzE/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 211px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2L3xsaf3oQY07hq118hs-5IF6UPublPhtngC0OltIDcitAqDjLnhPSjrXRIC45PycoPq-t_HPawAFrTy6gi0Bd2sZApMa3o5LKjR9StFxLdsGAuV6aPTqo_WHdHKLDySb52JYEZRgWzE/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5387670173167723794&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/4612465131049116343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/10/membuat-program-penerjemah-kalimat.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/4612465131049116343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/4612465131049116343'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/10/membuat-program-penerjemah-kalimat.html' title='Membuat Program Penerjemah Kalimat dengan Google Translate API'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_teaUq6e3TvC0xeJ5qr7CA6fNEIb0KdtPJ19fXCChIw3obFlVTvcTOmPh7NfIdPy39Qwj6z9aJD5vCxux12ymTV_CGmeZx8n3FE6TBWrXAWWIGRhgHepQ0F_Mlp1z-1PQ8Qwn-kEBYa8/s72-c/01.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-7302924887518622717</id><published>2009-09-28T21:21:00.002+07:00</published><updated>2009-09-28T21:23:29.294+07:00</updated><title type='text'>Visual Basic – Membuat Fasilitas Find &amp; Replace</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Pada edisi lalu, kita membuat program File Text Viewer yang digunakan untuk menampilkan file teks. Dengan menggunakan fungsi Replace yang ada di VB, kita dapat menambahkan fasilitas Find &amp; Replace pada program File Text Viewer tersebut.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Fungsi Replace di VB digunakan untuk mencari sebuah string dan menggantinya dengan string yang lain. Keistimewaan fungsi Replace ini adalah dapat melakukan pencarian dengan dimulai pada posisi tertentu serta membatasi penggantian dalam jumlah tertentu.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Sintaks penulisan dari fungsi Replace ini adalah&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Replace(expression, find, replace[, start[, count[, compare]]])&lt;/pre&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Expression merupakan sumber dari teks atau string yang hendak dicari. Find merupakan substring yang hendak dicari. Replace merupakan substring pengganti. Start adalah posisi awal pencarian. Count adalah banyaknya penggantian yang dilakukan dan compare menunjukkan cara pembandingan yang dilakukan. Tiga parameter terakhir bersifat optional, bisa ditulis, bisa tidak.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk membuat fasilitas find &amp; replace ini, buka program file text viewer yang lalu. Tambahkan 3 buah text box (txtfind, txtReplace dan txtCount) serta dua buah command button (cmdReplace dan cmdSave).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBmG3UuGlbnTSHfhyoSrtkFHyjrlTfLuB5aWegAL3BPMVzjSVA17rMXcptpNq6mMqRGmmsyJ3eQDGSAiRiIDvPR5M4J3wFMqt81LhrS24ZhC_F6ilgJ_t8fjR7oTruXNyuajd1XK_zntI/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 189px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBmG3UuGlbnTSHfhyoSrtkFHyjrlTfLuB5aWegAL3BPMVzjSVA17rMXcptpNq6mMqRGmmsyJ3eQDGSAiRiIDvPR5M4J3wFMqt81LhrS24ZhC_F6ilgJ_t8fjR7oTruXNyuajd1XK_zntI/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5386523598083403026&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tambahkan kode program untuk event cmdReplace_click dan cmdSave_click.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Untuk event cmdReplace_click:&lt;br /&gt;&lt;pre&gt;Private Sub cmdReplace_Click()&lt;br /&gt;  Dim count As Long&lt;br /&gt;  count = Val(txtCount.Text)&lt;br /&gt;  If txtCount.Text = &quot;&quot; Then count = -1&lt;br /&gt;  Text1.Text = Replace(Text1.Text, txtFind.Text, txtReplace.Text, 1, count)&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Untuk event cmdSave_Click:&lt;br /&gt;&lt;pre&gt;Sub FileSave(filename As String)&lt;br /&gt;    Dim fnum As Integer, isOpen As Boolean&lt;br /&gt;    On Error GoTo Error_Handler&lt;br /&gt;    fnum = FreeFile()&lt;br /&gt;    Open filename For Output As #fnum&lt;br /&gt;    isOpen = True&lt;br /&gt;    Print #fnum, Text1.Text&lt;br /&gt;    &lt;br /&gt;Error_Handler:&lt;br /&gt;    If isOpen Then Close #fnum&lt;br /&gt;    If Err Then Err.Raise Err.Number, , Err.Description&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub cmdSave_Click()&lt;br /&gt;  FileSave File1.Path &amp; &quot;\&quot; &amp; File1.filename&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;Untuk event-event yang lain, sama dengan pada program file text viewer.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Simpan program di atas, lalu jalankan. Anda akan mendapatkan hasil seperti pada gambar.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjakUmLSY3DlllJgB67BB-u-E7PuEdWVtwDGuR8Ze0-iLQarYumHjG_2Pj0qo56GjOlueZ6Z497C3Dc2Xoa9VRzQzNeGq-NEPUY-MpeIVKYIF2cxxZKnIJ25SLy-1P2Iy3dAgV4Eq8vKog/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 186px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjakUmLSY3DlllJgB67BB-u-E7PuEdWVtwDGuR8Ze0-iLQarYumHjG_2Pj0qo56GjOlueZ6Z497C3Dc2Xoa9VRzQzNeGq-NEPUY-MpeIVKYIF2cxxZKnIJ25SLy-1P2Iy3dAgV4Eq8vKog/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5386523753199615938&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/7302924887518622717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/visual-basic-membuat-fasilitas-find.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/7302924887518622717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/7302924887518622717'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/visual-basic-membuat-fasilitas-find.html' title='Visual Basic – Membuat Fasilitas Find &amp; Replace'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBmG3UuGlbnTSHfhyoSrtkFHyjrlTfLuB5aWegAL3BPMVzjSVA17rMXcptpNq6mMqRGmmsyJ3eQDGSAiRiIDvPR5M4J3wFMqt81LhrS24ZhC_F6ilgJ_t8fjR7oTruXNyuajd1XK_zntI/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-152261634538129971</id><published>2009-09-21T13:00:00.002+07:00</published><updated>2009-09-21T13:02:48.138+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic – File Text Viewer</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Berbeda dengan file executable, file teks adalah file yang hanya terdiri dari karakter-karakter biasa seperti angka, huruf, atau tanda baca (plain text). Dengan menggunakan fungsi file pada VB, Anda dapat dengan mudah menampilkan isi suatu file text.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk membuka sebuah file teks, VB mempunyai perintah OPEN. Sintaks penulisannya adalah:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;Open &quot;namafile.txt&quot; For Input As #1&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tambahan perintah setelah nama file dapat terdiri dari 3 macam, yaitu For Input (file dibuka hanya untuk dibaca), For Output (membuat file) dan For Appending (file dibuka dan siap untuk ditambah). Angka di belakang perintah Open menunjukkan file handle. Artinya, operasi file yang dilakukan, bukan lagi mengacu pada nama file, tapi langsung ke file handle.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Di bawah ini adalah fungsi untuk membaca sebuah file teks. Parameternya yaitu nama filenya.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Function ReadTextFileContents(filename As String) As String&lt;br /&gt;    Dim fnum As Integer, isOpen As Boolean&lt;br /&gt;    On Error GoTo Error_Handler&lt;br /&gt;    fnum = FreeFile()&lt;br /&gt;    Open filename For Input As #fnum&lt;br /&gt;    isOpen = True&lt;br /&gt;    ReadTextFileContents = Input(LOF(fnum), fnum)&lt;br /&gt;    &lt;br /&gt;Error_Handler:&lt;br /&gt;    If isOpen Then Close #fnum&lt;br /&gt;    If Err Then Err.Raise Err.Number, , Err.Description&lt;br /&gt;End Function&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk membuat program selengkapnya, siapkan form dengan komponen: drivelistbox (dengan nama drive1), dirlistbox (dengan nama dir1), filelistbox (dengan nama file1), command button (dengan nama cmdView) dan text box (dengan nama text1).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCVWAKGTGPO6N2zwrJ06kcacfIfedr4IOrjSyYJz_vqFFs6LIj7RN4gkLLPUjGl2gd9Mu1e1eCdZvB7rUueM461MSiBv5D-pzklxIG6x8h3k6eQVQlnhgMdHX3zCDNjD6L70QRULGQyP0/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 203px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCVWAKGTGPO6N2zwrJ06kcacfIfedr4IOrjSyYJz_vqFFs6LIj7RN4gkLLPUjGl2gd9Mu1e1eCdZvB7rUueM461MSiBv5D-pzklxIG6x8h3k6eQVQlnhgMdHX3zCDNjD6L70QRULGQyP0/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5383796953087359762&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk text1, Anda harus mengubah properti Multiline (pada window properti) menjadi True agar teks dapat ditampilkan per baris (bukan ke samping) serta properti Scrollbars menjadi 3 - Both.&lt;br /&gt;&lt;br /&gt;Untuk event-event-nya:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub cmdView_Click()&lt;br /&gt;  Text1.Text = ReadTextFileContents(File1.Path &amp; &quot;\&quot; &amp; File1.filename)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Dir1_Change()&lt;br /&gt;  File1.Path = Dir1.Path&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Drive1_Change()&lt;br /&gt;  Dir1.Path = Drive1.Drive&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub File1_DblClick()&lt;br /&gt;  Text1.Text = ReadTextFileContents(File1.Path &amp; &quot;\&quot; &amp; File1.filename)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;  File1.Pattern = &quot;*.txt&quot;&lt;br /&gt;  Text1.MultiLine = True&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Simpan program di atas, lalu jalankan. Anda akan mendapatkan hasil seperti pada gambar.&lt;/p&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Tc39kJIcktJQ1qPN3jexIT4iuKfLNCkW3KiScal_LwxWtvVn3DFseUiOCQDbY-TxIi-IiCoIhyn4JAbZxA2Xo5i1E9iDQPbuPROOsV61cI4xbJTqsUNn_Q1kFzkW5Y-q7lg2NI7cl8M/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 170px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Tc39kJIcktJQ1qPN3jexIT4iuKfLNCkW3KiScal_LwxWtvVn3DFseUiOCQDbY-TxIi-IiCoIhyn4JAbZxA2Xo5i1E9iDQPbuPROOsV61cI4xbJTqsUNn_Q1kFzkW5Y-q7lg2NI7cl8M/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5383797120621702114&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/152261634538129971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/visual-basic-file-text-viewer.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/152261634538129971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/152261634538129971'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/visual-basic-file-text-viewer.html' title='Visual Basic – File Text Viewer'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCVWAKGTGPO6N2zwrJ06kcacfIfedr4IOrjSyYJz_vqFFs6LIj7RN4gkLLPUjGl2gd9Mu1e1eCdZvB7rUueM461MSiBv5D-pzklxIG6x8h3k6eQVQlnhgMdHX3zCDNjD6L70QRULGQyP0/s72-c/01.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-8302229067812808413</id><published>2009-09-19T19:01:00.001+07:00</published><updated>2009-09-19T19:05:21.113+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>Visual Basic – Mencari Hari Suatu Tanggal</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Menghitung umur adalah salah satu perhitungan yang sering dilakukan dalam pengolahan database. Tips kali ini adalah menghitung umur dengan menggunakan VB.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;VB memang menyediakan fungsi untuk menghitung umur dengan menggunakan fungsi DateDiff. Format penulisannya adalah:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;Umur = DateDiff(&quot;yyyy&quot;, TanggalLahir, HariIni)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Namun, fungsi DateDiff mempunyai kekurangan, yaitu jika jika tanggal lahir masih belum dilewati, maka umur akan berkurang setahun. Misalnya jika Anda lahir pada tanggal 25 September 1984, dan tanggal hari ini adalah 24 September 2005, maka umur yang dihasilkan dari fungsi DateDiff adalah 21 tahun. Dalam standard perhitungan umur, umur yang benar adalah 20 tahun (baru keesokan harinya umur menjadi 21 tahun).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Untuk mengatasi hal tersebut, dibuat fungsi khusus yang menghitung umur dengan tepat. Jika tanggal hari ini masih belum melewati tanggal ulang tahun, maka hasil dari fungsi DateDiff akan dikurangi dengan 1.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Function HitungUmur(Ultah As Date, Optional Sekarang As Date = 0) _&lt;br /&gt; As Integer&lt;br /&gt;    Dim intAge As Integer&lt;br /&gt;    If Sekarang = 0 Then&lt;br /&gt;        Sekarang = Date&lt;br /&gt;    End If&lt;br /&gt;    intAge = DateDiff(&quot;yyyy&quot;, Ultah, Sekarang)&lt;br /&gt;    If Sekarang &lt; DateSerial(Year(Sekarang), Month(Ultah), _&lt;br /&gt;     Day(ultah)) Then&lt;br /&gt;        intAge = intAge - 1&lt;br /&gt;    End If&lt;br /&gt;    HitungUmur = intAge&lt;br /&gt;End Function&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Fungsi di atas mempunyai dua parameter yang berjenis tanggal. Parameter pertama adalah tanggal ulang tahun dan parameter kedua adalah tanggal sekarang yang bersifat opsional (boleh diisi boleh tidak). Bila diisi, maka fungsi hitungumur ini adalah hasil pengurangan dari parameter kedua dikurangi parameter kedua.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Contoh penggunaannya:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;Private Sub Form_Load()&lt;br /&gt;Dim TglUltah As Date&lt;br /&gt;  TglUltah = #10/25/1984# &#39;tanggal 25 September 1985&lt;br /&gt;  MsgBox &quot;Umur saat ini: &quot; &amp; HitungUmur(TglUltah)&lt;br /&gt;  End&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tampilan yang dihasilkan:&lt;/p&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP05TYCB7bS7pJfFZu671Muo9yINLLJu3qvgBzOlQNSrImC7_ggCYZJIbqhdSET-9R2NTGgiogDyFPKFyjQuAFhDoBauvZx0dBM0Y1RNTd9MptJzyryamjbsQ3KVW7SWHo7ADyKVP90iw/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 104px; height: 107px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP05TYCB7bS7pJfFZu671Muo9yINLLJu3qvgBzOlQNSrImC7_ggCYZJIbqhdSET-9R2NTGgiogDyFPKFyjQuAFhDoBauvZx0dBM0Y1RNTd9MptJzyryamjbsQ3KVW7SWHo7ADyKVP90iw/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5383148363102247634&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/8302229067812808413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/visual-basic-mencari-hari-suatu-tanggal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8302229067812808413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/8302229067812808413'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/visual-basic-mencari-hari-suatu-tanggal.html' title='Visual Basic – Mencari Hari Suatu Tanggal'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP05TYCB7bS7pJfFZu671Muo9yINLLJu3qvgBzOlQNSrImC7_ggCYZJIbqhdSET-9R2NTGgiogDyFPKFyjQuAFhDoBauvZx0dBM0Y1RNTd9MptJzyryamjbsQ3KVW7SWHo7ADyKVP90iw/s72-c/01.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-1301462219075800776</id><published>2009-09-12T09:15:00.003+07:00</published><updated>2009-09-12T09:26:42.925+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VB"/><title type='text'>VB – Validasi TextBox</title><content type='html'>&lt;p class=&quot;abstract&quot;&gt;Jika dalam satu form ada banyak text box yang harus diisi, maka melakukan validasi untuk satu persatu text box tersebut dapat menjadi sangat membosankan. Apakah validasi harus dilakukan satu-persatu? Tidak juga, kita dapat membuat sebuah fungsi validasi yang dapat digunakan untuk semua textbox yang ada dalam sebuah form.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Validasi yang dilakukan adalah melakukan pengujian apakah text box tersebut masih kosong atau sudah terisi. Jika sudah terisi maka validasi berhasil. Jika belum terisi, kedipkan text box tersebut (untuk “menarik” perhatian dari user) dan setfocus ke text box tersebut.&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;    &lt;li&gt;Langkah pertama buat sebuah form dengan banyak text box. Lihat gambar.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;    &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDvhI14YvyP9CPlon8xCqFWTPppcKUds0ZIx04CuAsc9DglWD9Sv1IMlU4F-tmYZgR6DD6k4AxnIYr_x15kEHatGunQUlzBvkmt15kJ3v1XBLDox0l0CjFf6fGSPPI01oTvSPNy32P-UI/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 229px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDvhI14YvyP9CPlon8xCqFWTPppcKUds0ZIx04CuAsc9DglWD9Sv1IMlU4F-tmYZgR6DD6k4AxnIYr_x15kEHatGunQUlzBvkmt15kJ3v1XBLDox0l0CjFf6fGSPPI01oTvSPNy32P-UI/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5380401230556569954&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Untuk form tersebut, nama untuk masing-masing textbox adalah text1, text2, text3, text4, text5 dan text6. Sedangkan nama untuk button simpan adalah command1.&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;Sebelum membuat proses validasinya, kita akan terlebih membuat modul untuk mengedipkan (blink) suatu objek. Proses blinking suatu objek dapat dengan mengubah properti backcolor. Lama untuk blinking dapat diatur pada perintah For.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Public Sub Blink(ByVal c As Object)&lt;br /&gt;    Dim OldColor As Double&lt;br /&gt;    Dim Delay As Double&lt;br /&gt;    Dim x As Integer&lt;br /&gt;    &lt;br /&gt;    On Error Resume Next&lt;br /&gt;    OldColor = c.BackColor&lt;br /&gt;    &lt;br /&gt;    For x = 1 To 3  &#39;tiga kali berkedip&lt;br /&gt;      c.BackColor = QBColor(12)&lt;br /&gt;      Delay = Timer&lt;br /&gt;      While Timer - Delay &lt; 0.2&lt;br /&gt;        DoEvents&lt;br /&gt;      Wend&lt;br /&gt;      c.BackColor = OldColor&lt;br /&gt;      Delay = Timer&lt;br /&gt;      While Timer - Delay &lt; 0.2&lt;br /&gt;        DoEvents&lt;br /&gt;      Wend&lt;br /&gt;    Next x&lt;br /&gt;&lt;br /&gt;    If c.Enabled Then&lt;br /&gt;      c.SetFocus&lt;br /&gt;    End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Sub blink ini dapat diletakkan pada sebuah modul baru atau pada form utama.&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;Langkah ke tiga adalah membuat sub untuk melakukan validasi. Sub ini mempunyai parameter berupa objek. Nantinya, sub ini dipanggil dengan parameter sebuah array yang berisi semua nama text box yang hendak divalidasi.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Public Function ValidateTextBox(obj As Variant) As Boolean&lt;br /&gt;Dim i As Long&lt;br /&gt;  ValidateTextBox = True&lt;br /&gt;  For i = 0 To UBound(obj)&lt;br /&gt;    If obj(i).Text = &quot;&quot; Then&lt;br /&gt;      If obj(i).Enabled Then&lt;br /&gt;        obj(i).SetFocus&lt;br /&gt;      End If&lt;br /&gt;      FlashControl obj(i)&lt;br /&gt;      ValidateTextBox = False&lt;br /&gt;      Exit Function&lt;br /&gt;    End If&lt;br /&gt;  Next i&lt;br /&gt;End Function&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;Function Validatetextbox, dapat dipanggil ketika event penekanan button Simpan. Di sinilah proses validasi dilakukan.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Private Sub Command1_Click()&lt;br /&gt;  If Not ValidateTextBox(Array(Text1, Text2, Text3, Text4, Text5, Text6)) Then&lt;br /&gt;  Else&lt;br /&gt;    MsgBox &quot;Data sudah lengkap!&quot;&lt;br /&gt;    &#39;lakukan proses penyimpanan&lt;br /&gt;  End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;Simpan Form di atas dengan nama FrmValidate. Jalankan program dengan menekan tombol F5. Jika form masih kosong, dan tombol simpan di-klik, maka text box yang kosong akan berkedip dan kursor akan diarahkan pada textbox yang kosong tersebut.&lt;/li&gt;&lt;br /&gt;    &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGBV64AZGX6MNK9oz0gsYRCv4ZJTEOI2CKLcDNAA9ZB6vLW0xIauhQ6phh5GO80gwqZd8FaSaz9kuzZhAjhe9x7gQXzSlO0KzhGqFDW5NdJeBqz_3ZlyPaLlA50cgGUggbXzD_1-o9HDo/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 221px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGBV64AZGX6MNK9oz0gsYRCv4ZJTEOI2CKLcDNAA9ZB6vLW0xIauhQ6phh5GO80gwqZd8FaSaz9kuzZhAjhe9x7gQXzSlO0KzhGqFDW5NdJeBqz_3ZlyPaLlA50cgGUggbXzD_1-o9HDo/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5380401635111657730&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/1301462219075800776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/vb-validasi-textbox.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/1301462219075800776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/1301462219075800776'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/vb-validasi-textbox.html' title='VB – Validasi TextBox'/><author><name>R†</name><uri>http://www.blogger.com/profile/06404935452790331980</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitSXr-dlNuHPgAW33VuUFM0eEEKF2CmBcn-rp3HkhhFcjhC898xTcYE34TMUJNbNjHvaFZ_yO5E6uO6toUNao6txcds-Xy0Zr6KKYbV1N7KhxzaIhwYsgpP5_ZwHn1-g/s220/milo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDvhI14YvyP9CPlon8xCqFWTPppcKUds0ZIx04CuAsc9DglWD9Sv1IMlU4F-tmYZgR6DD6k4AxnIYr_x15kEHatGunQUlzBvkmt15kJ3v1XBLDox0l0CjFf6fGSPPI01oTvSPNy32P-UI/s72-c/01.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-6679776104287450962</id><published>2009-09-09T07:45:00.000+07:00</published><updated>2009-09-09T07:55:22.640+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>Multiline Tooltip</title><content type='html'>Tooltip dapat membantu user untuk dapat memberikan keterangan. Pada Microsoft Office, Tooltip telah menjadi standard. Ketika mouse berhenti sejenak di atas sebuah button, maka tooltip ditampilkan. Komponen web pun juga bisa diberi tooltip.&lt;br /&gt;&lt;br /&gt;Tip kali ini adalah membuat multiline tooltip. Dalam sebuah komponen web (gambar misalnya), kita bisa memunculkan tooltip lebih dari satu baris.&lt;br /&gt;&lt;br /&gt;Langkah-langkahnya adalah:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Buat header HTML beserta dengan style sheet-nya&lt;br /&gt;&lt;pre&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Multiline tooltip&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;style type=&quot;text/css&quot;&amp;gt;&lt;br /&gt;.xstooltip&lt;br /&gt;{&lt;br /&gt;visibility: hidden;&lt;br /&gt;position: absolute;&lt;br /&gt;top: 0;&lt;br /&gt;left: 0;&lt;br /&gt;z-index: 2;&lt;br /&gt;&lt;br /&gt;font: normal 8pt sans-serif;&lt;br /&gt;padding: 3px;&lt;br /&gt;border: solid 1px;&lt;br /&gt;&lt;br /&gt;background-repeat: repeat;&lt;br /&gt;background-image: url(blue.png);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;tooltip.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Untuk tampilan utamanya adalah:&lt;br /&gt;&lt;pre&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&quot;tooltip_123&quot; class=&quot;xstooltip&quot;&amp;gt;&lt;br /&gt;Gunung Bromo&amp;lt;br/&amp;gt;&lt;br /&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;Location: Probolinggo, Jawa Timur&amp;lt;br/&amp;gt;&lt;br /&gt;Ketinggian 2392 meter dari permukaan laut&amp;lt;br/&amp;gt;&lt;br /&gt;Panorama lanskap pengunungan yang sangat spektakuler&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&quot;tooltip_123b&quot; class=&quot;xstooltip&quot;&amp;gt;&lt;br /&gt;Gunung Everest&amp;lt;br/&amp;gt;&lt;br /&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;Location: Nepal&amp;lt;br/&amp;gt;&lt;br /&gt;Ketinggian 8850 meter dari permukaan laut&amp;lt;br/&amp;gt;&lt;br /&gt;Merupakan gunung tertinggi di dunia&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;img id=&quot;the_image&quot;&lt;br /&gt; src=&quot;images.jpg&quot;&lt;br /&gt; onmouseover=&quot;xstooltip_show(&#39;tooltip_123&#39;, &#39;the_image&#39;, 289, 49);&quot;&lt;br /&gt; onmouseout=&quot;xstooltip_hide(&#39;tooltip_123&#39;);&quot;&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;img id=&quot;the_image2&quot;&lt;br /&gt; src=&quot;everest.jpg&quot;&lt;br /&gt; onmouseover=&quot;xstooltip_show(&#39;tooltip_123b&#39;, &#39;the_image2&#39;, 289, 49);&quot;&lt;br /&gt; onmouseout=&quot;xstooltip_hide(&#39;tooltip_123b&#39;);&quot;&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Sebelum menjalankan, buat sebuah file Javascript bernama tooltip.js.&lt;br /&gt;&lt;pre&gt;function xstooltip_findPosX(obj)&lt;br /&gt;{&lt;br /&gt;var curleft = 0;&lt;br /&gt;if (obj.offsetParent)&lt;br /&gt;{&lt;br /&gt; while (obj.offsetParent)&lt;br /&gt;     {&lt;br /&gt;         curleft += obj.offsetLeft&lt;br /&gt;         obj = obj.offsetParent;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt; else if (obj.x)&lt;br /&gt;     curleft += obj.x;&lt;br /&gt; return curleft;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function xstooltip_findPosY(obj)&lt;br /&gt;{&lt;br /&gt; var curtop = 0;&lt;br /&gt; if (obj.offsetParent)&lt;br /&gt; {&lt;br /&gt;     while (obj.offsetParent)&lt;br /&gt;     {&lt;br /&gt;         curtop += obj.offsetTop&lt;br /&gt;         obj = obj.offsetParent;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt; else if (obj.y)&lt;br /&gt;     curtop += obj.y;&lt;br /&gt; return curtop;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function xstooltip_show(tooltipId, parentId, posX, posY)&lt;br /&gt;{&lt;br /&gt; it = document.getElementById(tooltipId);&lt;br /&gt;&lt;br /&gt; if ((it.style.top == &#39;&#39; || it.style.top == 0)&lt;br /&gt;     &amp;amp;&amp;amp; (it.style.left == &#39;&#39; || it.style.left == 0))&lt;br /&gt; {&lt;br /&gt;     // need to fixate default size (MSIE problem)&lt;br /&gt;     it.style.width = it.offsetWidth + &#39;px&#39;;&lt;br /&gt;     it.style.height = it.offsetHeight + &#39;px&#39;;&lt;br /&gt;  &lt;br /&gt;     img = document.getElementById(parentId);&lt;br /&gt;&lt;br /&gt;     // if tooltip is too wide, shift left to be within parent&lt;br /&gt;     if (posX + it.offsetWidth &amp;gt; img.offsetWidth) posX = img.offsetWidth -&lt;br /&gt;it.offsetWidth;&lt;br /&gt;     if (posX &amp;lt; 0 ) posX = 0;&lt;br /&gt;  &lt;br /&gt;     x = xstooltip_findPosX(img) + posX;&lt;br /&gt;     y = xstooltip_findPosY(img) + posY;&lt;br /&gt;  &lt;br /&gt;     it.style.top = y + &#39;px&#39;;&lt;br /&gt;     it.style.left = x + &#39;px&#39;;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; it.style.visibility = &#39;visible&#39;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function xstooltip_hide(id)&lt;br /&gt;{&lt;br /&gt; it = document.getElementById(id);&lt;br /&gt; it.style.visibility = &#39;hidden&#39;;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Simpan dan load pada browser, tampilan yang didapatkan adalah:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKDtQnkHS9UUjgBAOCtHUqgoyEHDppIxrUw_FzmQtbZRxvYDjYuJmnlqsBtmeZi0Ozt0BPhkOiF_h7WcdTOLfhXdCFS1gi-gW1S60IOWInDD4gmXoBZEvPsv99QCTsBYv_OWcF4rq4NL0/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 214px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKDtQnkHS9UUjgBAOCtHUqgoyEHDppIxrUw_FzmQtbZRxvYDjYuJmnlqsBtmeZi0Ozt0BPhkOiF_h7WcdTOLfhXdCFS1gi-gW1S60IOWInDD4gmXoBZEvPsv99QCTsBYv_OWcF4rq4NL0/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5379264735021803138&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/6679776104287450962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/multiline-tooltip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/6679776104287450962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/6679776104287450962'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/multiline-tooltip.html' title='Multiline Tooltip'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKDtQnkHS9UUjgBAOCtHUqgoyEHDppIxrUw_FzmQtbZRxvYDjYuJmnlqsBtmeZi0Ozt0BPhkOiF_h7WcdTOLfhXdCFS1gi-gW1S60IOWInDD4gmXoBZEvPsv99QCTsBYv_OWcF4rq4NL0/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-4785887027549706432</id><published>2009-09-05T09:08:00.000+07:00</published><updated>2009-09-04T09:20:17.449+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Menggambar Chart di PHP dengan Memanfaatkan XML</title><content type='html'>&lt;b&gt;Menggambar chart di sebuah website dapat berguna untuk memvisualisasikan serangkaian data agar lebih mudah terbaca.  Ada banyak cara untuk melakukan penyimpanan data, bisa melalui database, bisa juga melalui XML.&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Pada tip kali ini, kita akan membuat chart dengan PHP menggunakan data yang disimpan pada sebuah file XML. Menggambar chart di PHP adalah dengan memanfaatkan GD Library yang mempunyai banyak method untuk melakukan pengolahan citra.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Langkah-langkah untuk menggambar Chart dengan memanfaatkan data yang ada di XML adalah sebagai berikut:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;  &lt;li&gt;Buat sebuah file XML yang berisi data yang hendak digambarkan. Simpan file ini dengan nama chart.xml. &lt;/li&gt;&lt;pre&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;chart&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Budi&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;90&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Ahmad S&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;100&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Fabiani&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;85&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Martin P&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;25&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Brandon M&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;75&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Venti A&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;5&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;bar&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;Natan C&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;score&amp;gt;50&amp;lt;/score&amp;gt;&lt;br /&gt;&amp;lt;/bar&amp;gt;&lt;br /&gt;&amp;lt;/chart&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;2&quot;&gt;&lt;li&gt;Untuk file PHP yang bertugas mengambil data pada file XML ini dan menampilkan dalam bentuk chart adalah sebagai berikut:&lt;br /&gt;&lt;/li&gt;&lt;pre&gt;&amp;lt;?php&lt;br /&gt;header(&quot;Content-type: image/jpeg&quot;);&lt;br /&gt;&lt;br /&gt;$filename = &quot;chart.xml&quot;;&lt;br /&gt;$chart = simplexml_load_file($filename);&lt;br /&gt;&lt;br /&gt;$iCh = imagecreatetruecolor(750,550);&lt;br /&gt;$dark = imagecolorallocate($iCh,85,85,85);&lt;br /&gt;imagefill($iCh,0,0,$dark);&lt;br /&gt;$bright = imagecolorallocate($iCh,222,222,222);&lt;br /&gt;imageline($iCh,25,500,725,500,$bright);&lt;br /&gt;$gold = imagecolorallocate($iCh,255,240,0);&lt;br /&gt;$x = 50;&lt;br /&gt;$y = 525;&lt;br /&gt;foreach($chart as $bar){&lt;br /&gt;&lt;br /&gt;$name = $bar-&amp;gt;name;&lt;br /&gt;$score = $bar-&amp;gt;score;&lt;br /&gt;$width = 50;&lt;br /&gt;if($score&amp;gt;100) $score = 100;&lt;br /&gt;$height = $score*3;&lt;br /&gt;&lt;br /&gt;imagestring($iCh,3,$x,$y,$name,$gold);&lt;br /&gt;imagefilledrectangle($iCh,$x,$y-26,$x+$width,$y-26-$height,$gold);&lt;br /&gt;&lt;br /&gt;$x += 100;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;imagejpeg($iCh);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;File PHP ini dapat disimpan dengan nama chart.php&lt;br /&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;3&quot;&gt;&lt;li&gt;Tampilan yang dihasilkan adalah sebagai berikut:&lt;/li&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvDZP7Aab_YLA9WtdeRIFaa4d6LPOiypBFXq4tFxuUFt-n2uoHAG3oTrXw3Shg1BMKqv4iXzCAhRAtmrtePuPWz8IeMcYO32DJFxg_nt-D3ks111npoHMYKhu-6BHVxpIuLi0lnZElNw/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvDZP7Aab_YLA9WtdeRIFaa4d6LPOiypBFXq4tFxuUFt-n2uoHAG3oTrXw3Shg1BMKqv4iXzCAhRAtmrtePuPWz8IeMcYO32DJFxg_nt-D3ks111npoHMYKhu-6BHVxpIuLi0lnZElNw/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5377429765983163314&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/4785887027549706432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/menggambar-chart-di-php-dengan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/4785887027549706432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/4785887027549706432'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/menggambar-chart-di-php-dengan.html' title='Menggambar Chart di PHP dengan Memanfaatkan XML'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQvDZP7Aab_YLA9WtdeRIFaa4d6LPOiypBFXq4tFxuUFt-n2uoHAG3oTrXw3Shg1BMKqv4iXzCAhRAtmrtePuPWz8IeMcYO32DJFxg_nt-D3ks111npoHMYKhu-6BHVxpIuLi0lnZElNw/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6592780324121647341.post-66074400649341746</id><published>2009-09-04T08:51:00.000+07:00</published><updated>2009-09-04T09:19:11.838+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Mencerminkan Citra Menggunakan PHP</title><content type='html'>&lt;b&gt;Mencerminkan citra adalah salah satu fasilitas penting dalam proses pengolahan citra. Pencerminan dapat dilakukan secara horisontal atau secara vertikal. &lt;/b&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pada tip kali ini, kita akan membuat sebuah aplikasi PHP sederhana dengan memanfaatkan library GD untuk melakukan pencerminan terhadap suatu citra. Ada 2 macam proses pencerminan yang dibuat di sini, yaitu pencerminan secara horisontal dan pencerminan secara vertikal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Langkah-langkah untuk membuat proses pencerminan citra ini adalah sebagai berikut:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;  &lt;li&gt;Buat terlebih dulu header untuk file PHP utama dengan style  yang diperlukan.&lt;/li&gt;&lt;pre&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Flip Image&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;style type=&quot;text/css&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;#original {&lt;br /&gt;display:inline;&lt;br /&gt;border:5px solid #555;&lt;br /&gt;float:left;&lt;br /&gt;padding:10px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;2&quot;&gt;&lt;li&gt;Tampilkan citra yang hendak dicerminkan dengan dilengkapi link untuk melakukan proses pencerminan.&lt;br /&gt;&lt;/li&gt;&lt;pre&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;h1&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;div id=&quot;original&quot;&amp;gt;&lt;br /&gt;&amp;lt;img src=&quot;pic2.jpg&quot;/&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;a href=&quot;flipH.php?image=pic2.jpg&amp;amp;tipe=1&quot;&amp;gt;Horizontal Flip&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;a href=&quot;flipH.php?image=pic2.jpg&amp;amp;tipe=2&quot;&amp;gt;Vertical Flip&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;3&quot;&gt;&lt;li&gt;Tampilkan citra yang hendak dicerminkan dengan dilengkapi link untuk melakukan proses pencerminan.&lt;br /&gt;&lt;/li&gt;&lt;pre&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$image = $_GET[&#39;image&#39;];&lt;br /&gt;$tipe = $_GET[&#39;tipe&#39;];&lt;br /&gt;flipH($image, $tipe);&lt;br /&gt;&lt;br /&gt;function flipH($image, $tipe) {&lt;br /&gt;&lt;br /&gt;$xandy = getimagesize($image);&lt;br /&gt;$x = $xandy[0];&lt;br /&gt;$y = $xandy[1];&lt;br /&gt;$type = $xandy[2];&lt;br /&gt;$type = image_type_to_mime_type($type);&lt;br /&gt;header(&quot;Content-type: $type&quot;);&lt;br /&gt;$r = imagecreatefromjpeg($image);&lt;br /&gt;$i = imagecreatetruecolor($x,$y);&lt;br /&gt;$dark = imagecolorallocate($i,100,100,100);&lt;br /&gt;imagefill($i,0,0,$dark);&lt;br /&gt;&lt;br /&gt;$width = $x;&lt;br /&gt;$height = $y;&lt;br /&gt;&lt;br /&gt;for($cntOne = 0;$cntOne &amp;lt; $width;$cntOne++) {&lt;br /&gt;for($cntTwo = 0;$cntTwo &amp;lt; $height;$cntTwo++) {&lt;br /&gt;if ($tipe == 1)&lt;br /&gt;imagecopy($i,$r,$width-$cntOne,$cntTwo,$cntOne,$cntTwo,1,1);&lt;br /&gt;else&lt;br /&gt;imagecopy($i,$r,$cntOne,$height-$cntTwo,$cntOne,$cntTwo,1,1);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;imagejpeg($i);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;4&quot;&gt;&lt;li&gt;Tampilan yang dihasilkan adalah sebagai berikut:&lt;/li&gt;&lt;br /&gt;Gambar asli / Flip Horisontal / Flip Vertical&lt;/ol&gt;&lt;ol start=&quot;4&quot;&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi10mYc31DD_o9GURVdG24mqtoXX015QhGx3Fq2ZWPhJ-rbXTUcs-lAmhzWcQlOi3DUu8tL2iq5dGpyYTLe5rcSHRu3iRzaKm7S0fReawzNSDo7kxL1GarTl3Wdeh3BOUeGalorwcY4x_g/s1600-h/01.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 234px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi10mYc31DD_o9GURVdG24mqtoXX015QhGx3Fq2ZWPhJ-rbXTUcs-lAmhzWcQlOi3DUu8tL2iq5dGpyYTLe5rcSHRu3iRzaKm7S0fReawzNSDo7kxL1GarTl3Wdeh3BOUeGalorwcY4x_g/s320/01.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5377430578484962354&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdQ04WH094kHLn2WjZCFZSHYVtS8HsDVNiZEvVGLWdG7DnTs74h-9aivoBKE59n0KgoJY8aZcKhoFKI3FP0PJ0dnGjnZO-Fqp80Wd8LA6kL_rUOq4hy66NBI-bFxnZTmGyUy2mlva328c/s1600-h/02.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 234px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdQ04WH094kHLn2WjZCFZSHYVtS8HsDVNiZEvVGLWdG7DnTs74h-9aivoBKE59n0KgoJY8aZcKhoFKI3FP0PJ0dnGjnZO-Fqp80Wd8LA6kL_rUOq4hy66NBI-bFxnZTmGyUy2mlva328c/s320/02.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5377430697574404738&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifCmeicVrrk5i76pTVVaiV4rFcbVrU-Q5jjRJph51DdUKUdtVtmo7SHZDhojtZoFvaMsvXlBaMLvVNm9JY3HrrCjIvhO9dgHnX257zEuHTlPqTo74Dx3GajojnotW1TtbvG07s2unvv50/s1600-h/03.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 234px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifCmeicVrrk5i76pTVVaiV4rFcbVrU-Q5jjRJph51DdUKUdtVtmo7SHZDhojtZoFvaMsvXlBaMLvVNm9JY3HrrCjIvhO9dgHnX257zEuHTlPqTo74Dx3GajojnotW1TtbvG07s2unvv50/s320/03.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5377430974198657986&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://listingprogram.blogspot.com/feeds/66074400649341746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://listingprogram.blogspot.com/2009/09/mencerminkan-citra-menggunakan-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/66074400649341746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6592780324121647341/posts/default/66074400649341746'/><link rel='alternate' type='text/html' href='http://listingprogram.blogspot.com/2009/09/mencerminkan-citra-menggunakan-php.html' title='Mencerminkan Citra Menggunakan PHP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi10mYc31DD_o9GURVdG24mqtoXX015QhGx3Fq2ZWPhJ-rbXTUcs-lAmhzWcQlOi3DUu8tL2iq5dGpyYTLe5rcSHRu3iRzaKm7S0fReawzNSDo7kxL1GarTl3Wdeh3BOUeGalorwcY4x_g/s72-c/01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>