<?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: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-6396189155406463002</id><updated>2012-02-16T11:18:51.364-08:00</updated><category term='OOP'/><category term='pemrograman web'/><category term='teknologi'/><category term='Multimedia'/><category term='blogging'/><category term='CSS'/><category term='News'/><title type='text'>Information and technology</title><subtitle type='html'>Selamat datang !!!!!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-8078374404533545084</id><published>2011-09-21T05:22:00.000-07:00</published><updated>2011-09-21T05:25:06.577-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multimedia'/><title type='text'>Memahami ActionScript</title><content type='html'>&lt;div class="Normal-dropcap"&gt;ActionScript adalahbahasa skripting di Flash 5. Anda dapat menggunakan ActionScript untukmengontrol objek di Flash, membuat navigasi dan elemen interaktif lain, sertamembuat movie Flash dan aplikasi Web yang interaktif. ActionScript,dengan sintaks yang sedikit berbeda, sebetulnya telah hadir sejak Flash 4.Namun baru di versi 5-lah nuansa pengembangan dan pemrogramandengan ActionScript terasa lebih kental.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Apabila Anda sebelumnyasudah akrab dengan Javascript, maka Anda tidak akankesulitan menguasai ActionScript, karena ada banyak kesamaan antara keduanya. Keduanya, misalnya, berbasis even. Di Javascript Andamemanggil fungsi atau kode skrip di atribut &lt;tt&gt;onClick&lt;/tt&gt;, &lt;tt&gt;onLoad&lt;/tt&gt;,&lt;tt&gt;unUnload&lt;/tt&gt;, dsb. Di ActionScript pun kode terpantik jikaterjadi sebuah even yang ditentukan, seperti tombol mouse ditekan/dilepas,kursor masuk ke daerah tertentu, dsb. Sebenarnya memang sintaksActionScript dibuat mengikuti Javascript, dan pada dasarnya ActionScript masihlebih sederhana daripada Javascript. Fitur Javascript seperti eksepsi (&lt;tt&gt;try &lt;/tt&gt;…&lt;tt&gt;catch&lt;/tt&gt; dan &lt;tt&gt;throw&lt;/tt&gt;) atau pernyataan switch belum ada. &lt;tt&gt;eval&lt;/tt&gt;-nya juga terbatas.ActionScript pun belum mendukung set karakter Unicode. Barangkali di masa depanActionScript akan terus berevolusi hingga menjadisecanggih Javascript, Java, atau bahasa-bahasa lainnya.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Meskipun Anda belumpernah mengenal Javascript, melalui seri tutorial ini penulis pikir Anda akan belajar bahasa skripting Flash tersebut dengan mudah. AnggaplahAnda sedang belajar bahasa asing, sehingga perlu mengetahui struktur bahasa,tata bahasa, cara menggunakan kata kerja dan katabenda, dsb. Flash jauh lebih mudah dipelajari daripada Java, dan karenasifatnya interpreted, maka Anda tidak perlu melakukansiklus kompilasi. Begitu selesai menulis, bisa langsungmencoba kode.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Pada bagian pertamaseri tutorial ini akan dibahas mengenai konsep-konsepdasar ActionScript.&lt;/div&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name='more'&gt;&lt;/a&gt;Objek dan Kelas&lt;/h2&gt;&lt;div class="Normal-first"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;Objek&lt;/i&gt; adalah tipe dataseperti suara, gambar, teks yang digunakan untuk mengontrol movie. Semua objek merupakan bagian dari suatu &lt;i style="mso-bidi-font-style: normal;"&gt;kelas&lt;/i&gt;. Analoginya adalah seperti pada&lt;a href="http://www.master.web.id/mwmag/issue/01/content/tutorial-actionscript-1/image01.jpg"&gt;Gambar 1&lt;/a&gt;.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Flash memilikivariasi bentuk objek yang sangat beragam, mulai dari gambar yang kelihatansampai dengan yang abstrak seperti tanggal, data, atau deteksi masukan darimouse. Sebelum kita dapat menggunakan objek, kita perlu memberi nama pada objek tersebut, sama seperti tiap orang perlumemiliki nama supaya dapat dikenali. Misalnya Ballerina, Flintstone, dan Napidapat dibedakan berdasar nama mereka. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Di samping objekyang kita definisikan sendiri, Flash juga memiliki &lt;i style="mso-bidi-font-style: normal;"&gt;predefined class &lt;/i&gt;yangdapat digunakan membuat objek-objek untuk dipakai dalam movie. Objek-objek ini berada di dalam kategori Objects di dalamActionScripts, misalnya &lt;tt&gt;MovieClip&lt;/tt&gt;,&lt;tt&gt;Color&lt;/tt&gt;, &lt;tt&gt;Sound&lt;/tt&gt;, dll. Objek dari predefinedclass ini juga harus diberi nama. Proses memberi nama objek ini dinamakan &lt;i style="mso-bidi-font-style: normal;"&gt;instantiating&lt;/i&gt;. Karenaobjek yang berasal dari kelas tertentu, sesungguhnya dapat dianggap bahwa objektersebut adalah juga merupakan instance dari kelas. Ballerina,Flintstone, dan Napi masing-masing merupakan instance dari kelas manusia.&lt;/div&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub2"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Metode dan Properti&lt;/h2&gt;&lt;div class="Normal-first"&gt;Setiap objekselain berbeda dalam nama, juga berbeda dalamkarakteristik. Setiap orang berbeda dalam berbagaikarakteristik seperti jenis kelamin, tinggi badan, berat badan, dan warnarambut. Di dalam ActionScript karakteristik-karakteristikini dinamakan &lt;i style="mso-bidi-font-style: normal;"&gt;properti&lt;/i&gt;. Misalnya kelas &lt;tt&gt;MovieClip&lt;/tt&gt; memiliki berbagai propertiseperti &lt;tt&gt;_height&lt;/tt&gt;, &lt;tt&gt;_width&lt;/tt&gt;, dan &lt;tt&gt;_rotation&lt;/tt&gt; yang mengukur dimensi dan orientasi dari objekmovie klip tersebut. Lihat &lt;a href="http://www.master.web.id/mwmag/issue/01/content/tutorial-actionscript-1/image02.jpg"&gt;Gambar 2&lt;/a&gt;.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Objekjuga melakukan suatu tugas. Seseorang dapat tidur,bekerja, makan. Pekerjaan ini di dalam ActionScriptdinamakan &lt;i style="mso-bidi-font-style: normal;"&gt;metode&lt;/i&gt;. Misalnya kelas &lt;tt&gt;Sound&lt;/tt&gt; memiliki metode &lt;tt&gt;setVolume &lt;/tt&gt;yang dapat membuat suara lebihkeras atau lebih lembut.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;Tip: Untuk memudahkan, anggaplah objeksebagai kata benda, properti sebagai kata sifat yang menerangkan objek dan metodesebagai kata kerja yang menerangkan tindakan apa yangdilakukan objek.&lt;/i&gt;&lt;/div&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub3"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Struktur Bahasa ActionScript&lt;/h2&gt;&lt;div class="Normal-first"&gt;Seperti halnyadalam menggunakan bahasa alamiah, kita perlu menempatkan kata benda, kata sifat,dan kata kerja dalam susunan yang dimengerti orang lain. Disini kita menyusun objek, properti dan metode sampai membentuk &lt;i style="mso-bidi-font-style: normal;"&gt;statement&lt;/i&gt;, atau &lt;i&gt;pernyataan, &lt;/i&gt;yangdimengerti Flash.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Flash 5 menggunakanstruktur bahasa &lt;i style="mso-bidi-font-style: normal;"&gt;sintaks dot&lt;/i&gt;, yangmenggantikan &lt;i style="mso-bidi-font-style: normal;"&gt;sintaks slash&lt;/i&gt; pada versiterdahulu. Dot atau titik digunakan untuk menunjukkanproperti atau metode yang terkait dengan objek. Contoh:&lt;/div&gt;&lt;pre&gt;Ballerina.berat = 50&lt;br /&gt;Flintstone.berat = 65&lt;/pre&gt;&lt;div class="MsoNormal"&gt;Pernyataandi atas menetapkan nilai 50 untuk properti &lt;tt&gt;berat&lt;/tt&gt;dari &lt;tt&gt;Ballerina&lt;/tt&gt;, dan nilai 65untuk &lt;tt&gt;berat&lt;/tt&gt; dari &lt;tt&gt;Flintstone&lt;/tt&gt;.&lt;/div&gt;&lt;pre&gt;Ballerina.pakaian.warna = putih&lt;/pre&gt;&lt;div class="MsoNormal"&gt;Pernyataandi atas menjelaskan putih sebagai properti &lt;tt&gt;warna&lt;/tt&gt;pada objek &lt;tt&gt;pakaian&lt;/tt&gt; yang terkaitdengan objek Ballerina. (Di sini properti &lt;tt&gt;pakaian&lt;/tt&gt; milik &lt;tt&gt;Ballerina&lt;/tt&gt; merupakan objek juga, yang memiliki propertinyatersendiri).&lt;/div&gt;&lt;pre&gt;Ballerina.menari()&lt;/pre&gt;&lt;div class="MsoNormal"&gt;Pernyataandi atas menjelaskan metode &lt;tt&gt;menari&lt;/tt&gt;yang diterapkan pada objek &lt;tt&gt;Ballerina&lt;/tt&gt;.Tanda kurung buka dan kurung tutup memberi tanda kalau menariadalah metode. &lt;/div&gt;&lt;pre&gt;Ballerina.menari(cepat)&lt;br /&gt;Ballerina.menari(lambat)&lt;/pre&gt;&lt;div class="MsoNormal"&gt;Metodeseringkali memiliki argumen atau parameter, yang menerangkan bagaimana seharusnyametode dijalankan.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;Tip: Untuk memudahkan, bacalah dot syntaxdari belakang. Misalnya &lt;/i&gt;&lt;tt&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;Ballerina&lt;/i&gt;&lt;/tt&gt;&lt;tt&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;.pakaian.warna = putih &lt;/i&gt;&lt;/tt&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;dapat dibaca “Putih adalah warna pakaiandari Ballerina.”&lt;/i&gt;&lt;/div&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub4"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Tanda Baca dalam ActionScript&lt;/h2&gt;&lt;div class="Normal-first"&gt;Seperti dalam bahasa tulisan memiliki tanda baca untuk mengakhirikalimat, atau mengelompokkan berbagai kalimat menjadi satu paragraf, Flash jugamemiliki tanda baca seperti itu.&lt;/div&gt;&lt;h3&gt;Kurung kurawal dan titik koma&lt;/h3&gt;&lt;div class="MsoNormal"&gt;Kurungkurawal, &lt;tt&gt;{ }&lt;/tt&gt;, digunakan untukmelakukan pengelompokan.&lt;/div&gt;&lt;pre&gt;on(release) {&lt;br /&gt;      stopAllSounds();&lt;br /&gt;      play();&lt;br /&gt;}&lt;/pre&gt;&lt;div class="MsoNormal"&gt;Dalam skrip diatas, kedua metode &lt;tt&gt;stopAllSounds &lt;/tt&gt;dan &lt;tt&gt;play &lt;/tt&gt;akan dieksekusi saat tombol mouse dilepaskan karena beradadalam satu kelompok. Ini seperti paragraf.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Titikkoma berfungsi seperti tanda akhir kalimat yang setelah kalimat pertamaberakhir kemudian beralih ke kalimat berikutnya. Didalam ActionScript, setiap pernyataan dieksekusi dari atas ke bawah secaraberurutan. Jadi pada contoh di atas, setelah metode &lt;tt&gt;stopAllSounds&lt;/tt&gt;selesai baru kemudian &lt;tt&gt;play&lt;/tt&gt; dijalankan.&lt;/div&gt;&lt;h3&gt;Komentar&lt;/h3&gt;&lt;div class="MsoNormal"&gt;Komentar adalahketerangan yang ditambahkan di dalam skrip untuk menjelaskan apaarti kode tersebut. Komentar dapat membantu memahami skripapabila Anda hendak mereview kembali kode tersebut untuk perbaikan. Komentardiawali dengan dua buah garis miring, &lt;tt&gt;//&lt;/tt&gt;, dan berlaku hingga akhir baris.&lt;/div&gt;&lt;pre&gt;on(release) {&lt;br /&gt;      // matikan semua suara&lt;br /&gt;      stopAllSounds();&lt;br /&gt;      // mainkan &lt;br /&gt;      play();&lt;br /&gt;}&lt;/pre&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub5"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Action Panel&lt;/h2&gt;&lt;div class="MsoNormal"&gt;Andadapat membuat ActionScript di dalam Action Panel. Lihat &lt;a href="http://www.master.web.id/mwmag/issue/01/content/tutorial-actionscript-1/image03.jpg"&gt;Gambar 3&lt;/a&gt;. KelebihanAction Panel adalah dapat mengotomatisasi sebagian dari proses penulisan skrip,misalnya menambahkan kurung kurawal dan titik koma secara otomatis.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Di Flash, nama Action Panel muncul sebagai Frame Action Panel apabila skripdiaplikasikan ke Frame atau Object Action Panel apabila skrip diaplikasikan keobjek.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Untuk membukaAction Panel, lakukan salah satu dari cara di bawahini: &lt;/div&gt;&lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style="mso-list: l17 level1 lfo19; tab-stops: list 36.0pt;"&gt;Dari menu bar, pilih &lt;i&gt;Window &amp;gt; Actions&lt;/i&gt;.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l17 level1 lfo19; tab-stops: list 36.0pt;"&gt;Seleksi objek atau frame, kemudian klik     gambar panah di Launcher Bar yang berada di bagian kanan bawah stage.     Lihat &lt;a href="http://www.master.web.id/mwmag/issue/01/content/tutorial-actionscript-1/image04.jpg"&gt;Gambar 4&lt;/a&gt;.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l17 level1 lfo19; tab-stops: list 36.0pt;"&gt;Klik dua kali pada frame.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub6"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Mode Normal dan Mode Expert &lt;/h2&gt;&lt;div class="Normal-first"&gt;Anda dapat menggunakan Action Panel pada mode expert atau mode normal.Mode expert, yang baru muncul di Flash 5, ditujukan bagimereka yang sudah terbiasa dengan bahasa pemrograman. Menggunakan mode expertsama dengan Anda menuliskan program melalui editor teksseperti Notepad. Sementara pada mode normal Anda diberikan pilihan-pilihanelemen lewat interface menu dan daftar toolbox.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Pada mode normal,Anda dapat menuliskan action dengan berbagai cara,yaitu:&lt;/div&gt;&lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style="mso-list: l15 level1 lfo20; tab-stops: list 36.0pt;"&gt;Tekan tombol &lt;tt&gt;+&lt;/tt&gt;     untuk membuka menu pulldown berisi kategori action. Pilih action yang     sesuai dalam menu tersebut.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l15 level1 lfo20; tab-stops: list 36.0pt;"&gt;Klik kategori action di daftar Toolbox,     kemudian dobel klik pada action yang dipilih.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l15 level1 lfo20; tab-stops: list 36.0pt;"&gt;Drag and drop action yang ada di daftar     Toolbox ke daftar Action.&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal"&gt;Untukberalih dari mode normal ke mode expert, klik tombol segitiga kecil di bagiankanan atas Action Panel.&lt;/div&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=8078374404533545084&amp;amp;from=pencil" name="sub7"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Kategori ActionScript&lt;/h2&gt;&lt;div class="MsoNormal"&gt;Dalam mode normal, actiondibagi dalam berbagai kategori, yaitu:&lt;/div&gt;&lt;ol start="1" style="margin-top: 0cm;" type="1"&gt;&lt;li class="MsoNormal" style="mso-list: l13 level1 lfo21; tab-stops: list 36.0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Basic     Actions. &lt;/b&gt;Kategori ini menampung action sederhana yang sering sekali     digunakan untuk movie Flash, seperti navigasi dan     perilaku tombol.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l13 level1 lfo21; tab-stops: list 36.0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Actions.     &lt;/b&gt;Kategori ini meliputi Basic Actions ditambah dengan banyak action lain yang lebih kompleks.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l13 level1 lfo21; tab-stops: list 36.0pt;"&gt;&lt;b&gt;Operators. &lt;/b&gt;Kategori ini berisi     simbol yang digunakan misalnya untuk operasi logika dan matematika,     seperti tambah, kurang, kali, dll.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l13 level1 lfo21; tab-stops: list 36.0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Functions.     &lt;/b&gt;Function berisi action yang dapat menerima data tertentu untuk kemudian     menghasilkan informasi yang dapat kita gunakan.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l13 level1 lfo21; tab-stops: list 36.0pt;"&gt;&lt;b&gt;Properties. &lt;/b&gt;Kategori Properties     berisi properti objek yang dapat dimodifikasi. Sebagian besar properti ini     digunakan untuk objek klip movie.&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l13 level1 lfo21; tab-stops: list 36.0pt;"&gt;&lt;b&gt;Objects. &lt;/b&gt;Flash memiliki kelas objek yang sudah didefinisikan (predefined class). Kelas-kelas     ini berada dalam kategori Objects di ActionScript.&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;Demikianlahpenjelasan singkat mengenai ActionScript di Flash. Pada edisi mendatang akan diulas contoh-contoh aplikasi ActionScript di dalamFlash, mulai dari membuat menu yang interaktif, mengontrol suara, mengontrol klipmovie, dan sebagainya. Jangan sampai ketinggalan!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-8078374404533545084?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/8078374404533545084/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/memahami-actionscript.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8078374404533545084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8078374404533545084'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/memahami-actionscript.html' title='Memahami ActionScript'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-7350704415644987597</id><published>2011-09-21T05:19:00.000-07:00</published><updated>2011-09-21T05:19:58.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multimedia'/><title type='text'>Jam Digital Menggunakan Action Script pada Macromedia Flash MX</title><content type='html'>&lt;div style="text-align: justify;"&gt;Artikel kali ini akan membahas tentang cara membuat sebuah jam sederhana menggunakan ActionScript pada Macromedia Flash MX. Dengan script yang sangat mudah sekali di pahami kita bisa membuat sebuah aplikasi jam digital.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;span id="more-59"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;Dan berikut ini adalah pembahasan sederhananya :&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;img alt="" border="0" class="aligncenter" height="171" src="http://3.bp.blogspot.com/_Mg3XxuLztxI/S2lqtIpzpcI/AAAAAAAAAHM/W6sGuBXTWlo/s200/Post+7.1.PNG" style="border: 0 none;" width="200" /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;Buat sebuah file flash dengan Background dan sebuah text, atur agar panjang dari text bisa di isi dengan 6 Digit angka, lengkap dengan sparatornya.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;img alt="" border="0" class="aligncenter" height="171" src="http://4.bp.blogspot.com/_Mg3XxuLztxI/S2lqutuSWFI/AAAAAAAAAHU/vkXDW2r4BqI/s200/post+7.2.PNG" style="border: 0 none;" width="200" /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;Ubah propertis dari text menjadi Dinamic text dan pastikan mengganti nama variabelnya dengan nama DisplayJam. Untuk lebih jelasnya bisa dilihat pada gambar di samping.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;img alt="" border="0" class="aligncenter" height="171" src="http://4.bp.blogspot.com/_Mg3XxuLztxI/S2lqwT2__VI/AAAAAAAAAHc/PvH6A0Q_gT8/s200/Post+7.3.PNG" style="border: 0pt none;" width="200" /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;Tambahkan satu buah layer lagi untuk mengisi ActionScriptnya. Selanjutnya pelajari dan masukkan ActionScript di bawah ini ke jendela ActionSript.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;span style="color: red;"&gt;_root.onEnterFrame = function() {waktu = new Date(); Jam = waktu.getHours(); Menit = waktu.getMinutes();Detik = waktu.getSeconds(); if (Jam&amp;lt;10) { Jam = “0″+Jam; } if (Menit&amp;lt;10) { Menit = “0″+Menit; } if (Detik&amp;lt;10) { Detik = “0″+Detik; } DisplayJam =Jam+”:”+Menit+”:”+Detik;};&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;Selanjutnya Test Movie atau tekan CTRL dan enter secara bersamaan. Dan jam digital kita sudah jadi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-7350704415644987597?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/7350704415644987597/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/artikel-kali-ini-akan-membahas-tentang.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/7350704415644987597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/7350704415644987597'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/artikel-kali-ini-akan-membahas-tentang.html' title='Jam Digital Menggunakan Action Script pada Macromedia Flash MX'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Mg3XxuLztxI/S2lqtIpzpcI/AAAAAAAAAHM/W6sGuBXTWlo/s72-c/Post+7.1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-539310800582019371</id><published>2011-09-21T04:51:00.000-07:00</published><updated>2011-09-21T05:02:57.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multimedia'/><title type='text'>ARTIFICIAL INTELLIGENT</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="first-para" style="text-align: justify;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=539310800582019371" name="395"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="first-para" style="text-align: justify;"&gt;Artificial intelligence is ascientific term that gives nonhuman entities algorithmic and mathematicalsolutions for problem solving and simulating human thought and decision making.In films, this is often depicted as a mechanical robot trying to act human. Incomputer or videogames, it is the heart and soul of the nonplayer characters(NPCs) controlling our enemies and allies.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="para" style="text-align: justify;"&gt;Typically, we think of games such aschess, checkers, and backgammon as intellectual and sophisticated games,therefore a machine that can simulate being an adversary (especially amasterful one) has been a way for researchers to validate their AI techniques.Since computers can process mathematical instructions and perform iterations(repetitive processes) very fast, researchers in AI use these skills tosimulate human thought.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="para" style="text-align: justify;"&gt;As game designers, we must not onlyplan our vision but try to conceptualize each idea and how it can be expressedthrough a mathematical expression or logically arrived at through a databasesearch or script. You will discover that simple, everyday activities are infact very complicated and complex concepts.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;Pathfinding is probably the single most popular andfrustrating game AI problem in the industry. Games like role-playing games (RPGs)and real-time strategy games (RTS) often have characters sent on missions fromtheir current location to a predetermined, player determined, or menu-selectedwaypoint (destination). The perfect situation of a movement would be ano-collision or obstacle path.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The typical path from a character’s current positionto the destination (waypoint) usually passes directly through one or moreobstacles.&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=539310800582019371" name="399"&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The first solution in avoiding these obstacles is to“ride the rail” or walk around the object’s surface until you’re free tocontinue toward the destination.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATcAAAA+CAIAAADBOMsZAAAbm0lEQVR4nO1deVRbV3pP2/+6TdvT9pye0+lM2sxM1rbTbNPJaTLtODNJOmmazEyaySSTbTKT2I6xHRbvbGLTLsS+SSB2bGyMkIQQEosFElpYjVnMImyD7WA2IYGkd+/XP654PGTAYIOk2Pqd73CexNVdvnt/9373u8t7CEIIIYTgxkOBzkAIIYRwB3hZqtPpWlpajEajYRXGkDyQQtf/2o+rrYL5YFz7EJJ71rzRYDAYmpubm5qampqa1rC0paVFqVSmikQCPp/P4/H5fD6fF5IHUAR8noDPF/B5PC6Xz7stwMo3PB5XICDPXIGAtBZuwDP/dRYu4RyPy0tPS9doNISoa1hqMBrEqalxp6LrVSqFvE4hr1PU1SpD8kCKSiFX1smVdXKVQq5SKFSKOiJKhVxRJ6f/KhXyOkVtnaJWqZQrFLVKReBz/jUXuaJOoVQoIsMjimUyvV5/G0sNBgGf36hu8I+dHUIIIWyEImlhfn7+RiwV1NacBwCKoiiEPBRGCELyoAkTbo/H46JWxU25llxLjmVMrYbBGCgKUxQKeM6//oIRQgCQl5cnkUg2ZmltLQAgjCmMKIyRrwDCcNs3mwfYKGRIAiXA+Itv78ivXr1Sr6zTNjY2qOtTkpNiY2ISWPErEpfAio8+dVIsEmk0DY0aTX19/dzcnE8MK/HD2hSDWYAhW9Ee3iA8bFxw8NH87UIAALm5uRuzVCCQ18oBgEIIA8aAMfL+eLUC1na2iPJ+xIABgA6H11Y/whhhhDDGACEJkHirEmGMAdP16PZ4unu6q6qq4uLikpOT42JjMzMyCvJyi2VFleXl9oUFl8vlci2vFde1q1ekUolMViSVSlJTU+Pj4zkcTmxsrEqpnJmdoZsEBowBEEaBLvtmwuyqmM+Y0YCZz2sbNgIABN6fYQAKo42C0URgfsPMCU2c3NzcgoKCDVlaVytfCYoBY+xBGBECwsz0LY/LDQCzM7Nul3txwe5YWMQUwhRCFEIIYYxdbtf09DSJcO7WDPJQ87Nzy0vLFEWMaFJfIQQGGGOEkMfjIRSdnZ0Vi8Xp6enR0dE6jdY2bpuwTdjGxl0u17ainZ6etk3Yrly9OmGbKCku5nN5PC6vr7ePmSheb9AOCmAgw8fc3NzS0hIAYArb5xdmZ2bJf2embwGAx+WZmb5Feai5mVnX0jJp85THQ1EUPQwihCjKQyG0sGh3Op1Op3N+fh4YA9vi4iL5SFEUXjv40SCBt8pSDNjbzyC8aF+Mj407fvTYbz/+pLe7RyQUvvbKqx9/+FGzrgkAwg99+eJ/vAgA3d3d//Wf/3X82LHI8IiR4cuJrISf7Hk57EBYb18fyVlQ19b9DowxqQLSDhobGzMzMxsaGsbHx+8lWh/bCgBmbs1caL0gFAgFAoHZbCZhgrnenU7nL3/5y7CwsM8++6yrs/PTjz/Zv3dfRnr60MDgobCDR48cjYqMGh4cOhp15OUf74mPjatXKH/78SdpqeIjkVGzM7Ovvfba7Nzc5LWpx773aFpaGgBUnz379ttvv/6z18vKymJjYtkpbIfD8cX+/W+++abJZLLZbG+88cby0tJv3v+NUqHwycy2WYoRxhQCgMvDl7/xZ3/eoKo3m8xXrlwBgGeffqa0uAQA2vRtr/70lbf+982CvHxTh+nJx58AgCcee1xRWwcA333kO+YOEwDQFA3m2rq/QbMUALRaLZfLvXr1qvdfyGsQYQpjCm/d3qHHSfJAYqD/29XVlZCQ0NXVteNl2Vk47I5Hv/foxd6Lh8IO7t+779WfvpKcmNTT0yMWpT78rW8PDQ61tbUtOZ3jY+OP/OM/zc/O9Xb3/PvzP2AnJf/d3/zt2TPVTz351K1bt04cPfbuO796/b9/NmGzAcDRqCPvvP1/APDpx78N++LAwQNhKUnJfX19P3rxpbKS0r/+y7+SFEh+uucnJbJin8xsl6WAKIQoCjA47IvVp8/84LnnP//s856ubgB46T9eLC8tA4AiaeEL//7Djz74cO9nn/d09zz+6GOHwg7+4ue/uHH9xuKC/cnHnzCbvL0pQYilgYKXSAjNzMwkJiZev34dGKMcJpMRjDG1jVkJYT6s1C9GGHmoFbYjACgpKamvr9+1Mu0MnIuO7//Lv17s7TsadeTwwUNvvfnWvs/3VpSXX+rv53G5T3//+ynJKfNz8xPjticee3z65lc93T0/evElTnLKC8//4MuDhx773qM3rt/46Z6XIw+H//MTTxrbDQBw8viJ93/9HgDs37vvy0OHX/jhCxp1AwA8/8yzrLj455559vix4w9/69s15875ZGb7Fi8hKkJ2u/3cuXOjo6NPPf4EJ4UNAE9//99IN/Ds08+8/+v3ok+eeuqJJ0UC4bNPPyPkC/771dcmJibm5+a/9c1/MBqMflF1CHcAbcjcvH7jX576Z6vFsvol8SYhjBigR8g7RgsAZKIFKx0B+XJpaSk3N1er1e5+4e4JjkXHdx/5TofBuH/vvkMHwv7zpR+dPVMNAONj44o6RafF+hd//o2B/oFrE1e++fffvPXVdKfF+sy/PX30yNFf/+rd/Ny8h7/1bZFQ9N1HvhMXG/vyj/e8/YtfAkBkROTP33wLAD7+8KMDXxyIiY45fvRYo0bz2iuvVpSVP/fMsyqF8k//+E+qKqt8MrM9lhLnEdG+w+FITEwM/zL8+NFj16euY4zDvjjQpNVhjD94/zdDA4MAsO/zveWlZfv37gOAyvKKhLh4p8P5yUcfD1wa8I+uQ9gc9LhnG7cdjToiFAgrKyvXBGCYPKStEG/C5nH6THdptLa2JiQkvP322+3t7QC+Pv+gwpLD+dnvfh/xZXhkeMTI5ZEjUUe+2Lc/JTll5PJI+JfhURGRqULRknNp8uq1D97/zdzM7Mjw5YMHwgqlhfGxcU6HM+yLMFmRLCI8AgCUdYrDBw9jjAvy8hPiWQghHoebnpaOMT518tS77/zq8tDw5NVrH33wocflDj/8pbax0Scz22TpijlEa5+uMMrj+8CsAq+9hL3Tm2CungcKNEsvDw2LBEIA0DU1sVislpYWs9m8aF/0CU+ItzlLfZNA2GKxWK3WlJSUsrIyhFBhYaFOp4Pgbgbr2AsI023bu9aIvQ2bntsTrLtISS9PetyeddLDjL8bZGbLFi/2cszHCiJrKhhjyk1hCpENEJgx4VxZm/W2iWCungcKdJ2OXh7hsDnkyxs3bhQUFCQnJaWL03hcHo/LMxk7pqamJicntxIn8lCTV65dn5xqqFcnJSalidN4PF5aWtrw8DAJIJVKdU06CO5mgFY3FGCMECAMFEYUQh4KEJCVSOShMFqzjsU0Ihi/XjX46QAYIbKi6Y0TA1m/pL2zazJzFywlPyM58zGHNgKdV594AovgyEnAMwAAMDoyyk5JgbXM+ermVxazxWq1FhUWRUdHx8fHS6XSoqKiio0hKyzKyc6JPhUdEx1dc+6cyWQaGxvzSUsikZCxNMhBcwwTGxCv+NWwl6Wrg88KYJ3vViMBpgMc4VVmMuKkdyIwsV2Ld3VIpE1ful6dTqdWq21qbmpegU6n02g09GYxnxwHFswerr29XaPRaLXapqbVzO8empq0zc06k8k4O3sLr7crxf8YHR3lcDh3DGYymWpra1UqVb1KVa9cR2prakdHRjePpFBa2KTV7Uy+HwzcjY+Xtm9psl28eJHD4fB4vLy8PCkDEokkOzubzWZXVVX19/fTSQacpczB//z582KxmGxllkgkhYWF0l2GTCbLycl5+OGHz93mcw8UtsLSbU1HN0GIpdvFtlnKnIsCQH9/v1AoFIvF/f399DZAH8zOzioUipiYGIFAQJx7gQVmeL8qKiqUSqX/81BRURkeHlFTU+P/pNfFVlh6+yzr7hBi6Xax3Xnpmh2YnZ2dmZmZ3d3ddHQ+5riP7+vSpUs5OTl6vd5vxdsEGOOKigqVSgWMaTNtI+wGSLrz8/M8nqCuTpmWllFdfTagOljFHVmKV1bg7uiDuCNCLN0u7tJ7BABdXV3Z2dl2ux02dtYxvyfPbrdbKpVeuHAB/Lvl2ocqQ0ND0dHRzLV1n9LtePpkYUqhUISHR1afrR0aHuFw+GfPfp0sXszwjtxLWsHJUp8WQpsM3nMqfj+VQ/bpk71fdzkvTU9Pz8jIINv5t6UFAPB4PIWFhW1tbcA4CrBDqt4MdI/Q19eXlZV17do18NckGSMEAHK5nMPhtbTqzZburu7erx1LdwpBy1K06cGUAGLbY+ny8nJ+fr5arSZHmbZeHswwgCmKKigoIET1j1JoO81ms8lkst1O7nacP1/L5wvNli5jh7XdYO7u6QuxNNjA3C9lsVjy8vJkMllhYWGxTFZcFAApLSmVFkjMJjPe5vlSMBgMWVlZ5L/bGoiYfRUAuFyu5OTk4cuXd1LNG4Oovqen57333quurtZqtSqVSqVSqdXq+vp69W5CpVKdPn1aIEw1W7rajWa90dxuMHV1h1gadKAHjObm5oKCArVardFoGhsbtY1anT9Ep9PqdFod+djc1KxUKH704ksHww6S7G1jLGWxWOSc2pYsVZ/LGbyGvlcXZrM5NydnB7W8aUYwACQmJiYnJ1dUVJSWlhYXF5eUlJSUlNAPu4Tc3NwPPvjIYu02GC16o1lvMLe1m0JjqX/S2jpoira2thYVFd2jh2xHUFRYKBalCnh88nFrLEWorKSsra1tjU8IYQBw2BdThaKKsnLw2SRFIQBQKpRCvuCrmzfJT+iDFR63m8vmjFwe8UeJMQCASCC8PnXdH8mtxZGoo/o2g95oajeYDe2mdoO5K8TSIADTA09o2dLSUlhYGJCcIGplDx8Gx+KiWJxRXnFafr42JSmRhLkDS2vP15KPJ46doDxr9wpjmJ6elkqkKqUyNibWZrNhjD3kUgmEACBdnCZOFRsNxtzc3KmpKdqVjzwUABgNxvzcPI9nvf3HO6wGAACRQDg4MLjraa2F0+mMjIhqazeGWEoQPCxl7kUHAK1WW1hYuFObN7YFzFgLBICcrCxRanr/wOXKyip2SjIJs6WxdPbWDDuF7XQ6fRJoqFdnZWYBQJNOl5eXBwxXjWt5ef/efSPDlwHg9OnTFRUVdIZgZVfxiWPHt3unzl2pASDE0o3xILOUUFSn08lkMvr8up9zQi9HA4DVak1MSNK3d3RYe6qqzqQkb4GlfD5fXivHGJcWlzTUq31jR2hycjItVXzyxEkumzM4OLi69k1RGOMOg/H3n/4ugcUSCoXkNh3vgQDKaw9XVVTSqe6mGgBCLN0YDyBL6eVfAGhtbS0pKSHfB3ZG2tlpjY+Pa2trN5q7jNbe8sqtsVQgEKgUymXnUnJSstvt9omUzEvtC/bBSwNf3bgJzNVhjAFjykNN2CaGh4ZnZmZgdScDIkcKAMDUYcpIT9/10odYuinuY5bSm2eYuzKYc1GtVpuVlWW32x0Oh30Fi36GfdHpdPb09MbHs9raDGZTp95gNlq7K6uqk5NTSEG2xNLExMTdUGJ7W3t+Xv5uxLwGIZZuivuVpYSNzPMhPse5RkZG3njjjdjY2KSkpIQAgsWKiow6ePCwwWDq6Og0tJnbDGajpbOy8kxKMpuUZUssTUpK2g09hlgaDLhvWYrW7JlZ3fe34qcxGo3Z2dmwnf05u4TR0bHw8Mienott7SZDm+mBZCkAAKQKRSGWrouxsbH7kqWkd27RNUkLJGQpgR5F6T1GOTk5EAQsHR8bj4w80tnV024wG9vvdizdJYvX1GEiLmImSFe3k/BQFEUJePyvF0t3WAkbY3h4+P5kKQAApKWK/+gP/vC1V16trq622+145QYvAOjo6MjMzITgYGlU1FGLpctgMBvugqV1tXKEUE52DvO2a2AUjNk5bQQ6DD2VJz9XqVTV1dU+gUtLS0+dOkUs9kTWjkhiYkLChx98aBu37Zhet4ZtsRQx7v7S6/Ux0TGseNYOaWB9SYhnJSUkRkZEJLBY/lHIKktXbveSSqTPP/vcK3tefuXHOyw/2bPnJ3tefu6ZZ7/9zX/4y2/8xUMPPUR8ufQCjGmFpQHHhM12JOJIZ1eP/u5YKj9fCwBjo2OpAtHy0hIw7HsfB9omoCcDzN8CwMmTJ8nxNxoIIfJGjaWlpaWlJd+XBt2duFy2cdv//Oz1IGcp3QNqNJqy0jKnw7kzxd9Ilpadiw63y5UqFEVFRvlHIWtZikZHRtjJKZkZGZL8fEl+wc5Kfl6epKDgtx9/8gcPPfTCD394+vRpu93u3U+OMACYO0zZWdn+KfjmmLBNeFlqvAuW8vny1b1Hx13L3qMwFGMf7xYPoNGWBt2TDQ8Pi8Vin10NTF/5jpSfoL/v4iP/+E9Tk1M7GOdWsC2WkiJrNBp6+W7XgQAAfv/p737/6e/8kyDNUnJys7W5JS8nd1dTLCos/PW77166dIl8pC/Wg/uGpUKB9y3DiEJiUergwCBtlXk8HrlcfuPGDdjy+RgmRSmKysjIsFgs64ahB96d0QFAdmbW4UOHh4N+XlpfX19WVuanaRIGAOjt6Y2KiBSLUv2R4tqxFAC4bI5t3Oa9/G6nhbSiW7dueYvLcB15j3zcHywV8L0WL0ZoYX6BFc+6efMmPSrW19dnZWXd8ZKU69evl5eXp6amUoxTtsPDw3w+H26buNMsvf1f2wX984WFhXRxGjuFPRRglpoM7ab2dnPfxQE2m0dvmaTzqVary8vLfTK/i8AAAI2aRh6H67fGymApXpifZyenOB3Olbszd1gw4wpo5mYGWuf3C0vXni9VKBTkJQX0QDc5OZmRkcHlcq1W69jY2NjY2Pj4uMvlmrBNjI2Mjo2OyopkSQmJZ6urFxYWmKasSCRi3pm0s2AuYQPA+fPnlUqlRCKhrzL0G5aczsiICH2b8YLBbDCaDO1Gi7m3uaktLo41PDyI8epkQa1WM/ep+c3ryGKxenp6eDwe3LZTZzcglUrp+3irT58hr0UJlIv1/mTpwsICm80m789j+nVHR0ezs7MTExM5HA6Hw0lPT+dyuFw2hxUXr9U02hcWSDB6kFQoFLW1tTtr0zLBbG1ut7ugoGBgYCAzM5OenPgNTqczMiKird2oN1raDaZOS2eTTh8XmzA4OAgAHo+bKFapVJKhldqhS8C2iKGhodzc3NHRUTabDYyDh7tHG/rWbNfycm52Tnd3Nw6xdAdZSu49mpqaSk9Pp6/2WrdGb39NLZmPkueCggKxWEzi9Hg8u1FDiPEKY7vdfvz4cQDg8/kDA/5+kdSScykiPPyC3nDBYLZYu5q0utiYeEJRetFFqVTSr1HCay+12G0UFxcrFAq32/3OO+8Q5ex26lKpVKPRAIB9wR598hTA6jXxu5TiJrgfWbqiyqmpqYyMjDNnzpBgzIGLOQh4PB4P5fGpAKVSKRaLr1y5QgfejUEDY0whCiGEAcvlcrIkKxKJ/D+WEpa2tXd0WHs02qb4uLihoUFgnL1QqVQ0RZluMz+02sXFRZFIRC5qKy0tjYqKIi+o3z2YTKa9e/eaTCYAqJPL5cQx6cdeyQf3J0uB0bx0Ol1yUpLVYvV+s3JbL/2iC7T2/VyXLl3icDhyuZx83NXu0xs5BoyxUCDs6uwEAJFI5P+x1Ol0RoRHmMzWRl1LXBxryDuKek8XKRSKsrIyOs+wYpvsapNl9rZkSxkxdK1Wq0AgEAgEIyM7fIHGzZs3c3NyBXxBZmbm5OQkyYBI6K2X3Zv43BHByFKyq8FoNpitlZVnUpK2diZm3ft4CQYuDYiEQj6Xp2+9sFHyHo/HarWmpqZyOJy+vj7wl/eSvCh+dGSUw+aQJVmhUDgxMbHrSd+Gkyei1WpNfHzC4OAQMK6MksvllZWVtN/bP+Mn7VcDAPpuZJok165dM5vNXC43Ly+vuLi4tLR0enr6LijkdrvJxkOpRFpcJGMnp7Q0txA7n2BkZITH4y0vL9Pz8NBYSlh6wWA2tJkvGEyW7t6qyjOJcd49YXfPUoLent6MtHQOm61t1Dbrmog06Zo0Gk1NTU1UVFR2djYxcsBv3ksE5JS5/oK+SOq9ySYxMTEvL6+luYXO5K5Lc7NaVf/zt37OYiWQAYouvkKhIFMGzLhNw28sRQg5HA6BQDA0NIQZoINZLJba2lqFQsHn8yMiImRFRZqGhq0UuVGjOXPmzMmTJ0+cOJGbm1tTU9OkWz3lT09w6BuG6FlPiKVelhrN7QZzh7mzuVXPimf1dveQAHfPUubrFm1j43m5eVKJlIikQJKdnV1XV+dwOEgAf/aaGGGyqyYhnnV14ioAIIQsFktmVqZEIilcyaR/JD8vb3x8DBhGRF1dXVWV98Xs9ODmT4oCQF9fH5fLhZV6YboJmPMUt9vtcDgsZnN2ZtZWCpuTna1Wq51O5+LiIh0P8lDk5Zx07ScmJpL5sN/Kvi6CkaUdZqOls7VVHxcT19PTA/fyBgovECY3GHnf9r0emL4lym93h2MMCNvGbenitNnZOQiCQw8Iech09Pz586dPnwYGZ/wwFyVg9pJnz55VqxuAMRNm+q7usaZooxojjDwUWnmFLol2fHw8LS1tfn7en2VfF8HGUmtnd7ulU6fXx8XGd3V2AQAF6J5ZCrD6UtSNFU3/0M+VoVKppBIpnW6gmgK5hJhoqqamxmcU9XOuEOVlacyp6LnZWTonO5iET2wYe1+TQw/jCoWCmLsB7DpJ0maTOSfbT5dCb47xcVtU1NHe3ostrRdiYmO9oyhePW12r/PSIATpy9PT08fGxgKdl1XV0aOon7curMkKhQDAarHmZue4lpf9nDhCyO12p6amBkO9AIDZbA6auxrGT5yINput8fEs2slK7zqG+5KlALC4uEjmXUGCmpoanxVmKhBXv5Kx9Py5Go26wf+pA4DH44mJiQlI0kyQxmw0GqVSaaDzAgAwPz+/f/8XKSns/v6LwPAp3ucsraqqCgsLkxUXl5SUyAIKqVSakZFRK19VYwDX8THGLpfrwP4vMtMziv2siOJiWXFxWFhYY2MjBHr4Ik2/u7v7008/lclkxcX+VgYTJSUlQqHw9ddfv3SpH9b6vWmDa0ssXfE64K8FEIVuXL/RpGvSNmp1Ol1jQKFWqw0GA904EEVOIa86TvyrGowR7u3qbmzQaP2uCm1jY3Nzs9PpDEzZfTRBoeWlJb1er2nQ+F0Ta9Wi1TY0NFy7eg3Ae6Ma7W1HK1s+8rZycs3bpij0dRE/9clbRsAVEkTKwcGiDQi0Jnxwew4RhRCFACAnO6cgP3/Du+0DNYEJIYQQaBRJC9cfS41Go1iUGhcTq1QoFQpFXV2doq5OWacISUhC4jepq5WrVKqIL8NlRUXrsLSlpUWpVIpEIh6Pxw8hhBD8Dx6fy+Xy+fz0tHSNRtPc3OzLUp1O19LSYjQaDSGEEEKAQBOQUNSXpSGEEELQIsTSEEIIdvw/6OiWXjPHU1EAAAAASUVORK5CYII=" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;Although the “riding the rail” algorithm solves theproblem of avoiding obstacles, it looks silly and unrealistic, sort of a blindperson’s path solution.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The next solution is to make the path less blocky byconnecting points of the hypotenuse of the triangles.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The last issue to make the path to our waypoint trulyrealistic is to curve the path.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The way to simulate a realistic character movement in3D is to plot a straightforward path from the character’s current position toits destination and record all of the obstacles from a world table that lie onthis straight line. For each obstacle, calculate the original collision pointand the two tangent points on either side of the obstacle. The point closest indistance is the one selected to be connected as the hypotenuse of the triangle.&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=539310800582019371" name="400"&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;There are several techniques to achieve thispathfinding problem, such as algorithmic (equations) or methods such as “floodfill” and “A*” (pronounced “A star”) solutions. A flood fill is similar to agraphics application’s “paint” tool, which will completely color a given area.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;If we were to flood fill the white area with black, itwould continue filling until it hit a non-white spot.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARwAAACZCAIAAABynBJoAAAgAElEQVR4nOydZ3Qb15325SbbKuxgJwGwqTrJliROYieO49gqthM3SZYsyxKpwiaRAAYgAbCiAwQBopEoJNhESSRFUhLVbKsSmA5ggAFAqlu2pH2/7O457ybuDt8PsByXGINR9t1sdmfOc3xsHz7/cu/9AcSdi+GCeeZiLub6T70W/K0LYC7m+p92fQnV+fPnz58//+67775z79df4/17v/439/7V9b93EN59990YQd+A6ty5cxcuXLhx8707d+7cunXr9u1bt29/cOfO7dt37lAo9rO3bn3wwc3bd27fvnPnzu07t2/djl13KO137ty+c/vudev2rQ9uJ5L0W7p9+87t27du37p95/adO7H/phnhzpd13Llz+9atD27fuZVI0ljvt25/8MGt9++2ejvWe2KN37k7Srdv3/7g9q0PEnV9o+zbt+/cuXX71p3YdW+93zXfuXMrkUm/c7fy27du3bkds9364IP3Y8Nx+1YiEW7fuv3B7bsLJRaE5qR/WfSt27diC+D2vQS5u86/momEe79zd7nduXPn5s2bFy5cOHfu3F+A6uNPPvkvfZtkLub6H3F99tln3wvVZ599dvHixZaWFqVSpVZrlAqVRqWJL5VKrVZplEpla2vr8RPT586caWlqVsoVSpVSpVKp1GrqCGqNWq1pamq6cPHCiePTbS0tlJbv1KBqa2tDEWRsdKylpUWpoi7761KrNLLWdsIfGBgYaG9vV6nUKrVGo6F2qVRqtUqtUCqVSmWIJLqtNllbu0qpUiqVKrVapaLoXaXUqDVapVKp0+mi0aihU69UKGlWrlYolVardTYaValUcrlcTZX0W1LIFFardX5+fnp6urm5Wa3WqJSJTJlapVKpVEqFXNHa1OKdmZmYPNzW1qZUKtUqtTqRyjValVqjUqla21r9uH9keL+sXU63d7lcLmuXkSHS5XLJFQq6vauUKo1aFY1GTaYuuVyh1mope1er1Cq1WqlUqpQqebtMq9b867/+6/z8/EcfffS9UM3Pz7e3te3atdvV67ZY7d3dDpu5O54s3RZLj9Xa3d1tF4vFAgFf3NDI5wF2h9NisVms3RarjSKCudti7XE4XHV19c3NLbXVNa3NrXYbVd5vqtfdX16xS61U7dqxs1NvsHT3WM3U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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;If we were to start on location “A,” the fill wouldtraverse in all directions until the new space was non-white.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;Each space or “node” would check its neighbors in thefour directions, and if the neighbor is white, it would be changed to black.This recursive (repeating) process would repeat until all four directionsstarting with node “A” return a “false” or no non-white connecting nodes areleft.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The A* algorithm is similar. A node is placed on an“open” list, and if a shorter node path is found, the new path replaces thecurrent path (which gets placed on a “closed” list). The shortest path from astart node to a destination node is the final path left when all paths havebeen searched.&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=539310800582019371" name="401"&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The objects that are on the map as collision areasshould include the static objects like buildings, water, fences, and so on, aswell as dynamic, moveable objects like vehicles, people, and floating bridges.The game design may include the ability to destroy objects like buildings andbridges, thereby modifying the original list of static objects. Another gamedesign might require that characters avoid areas due to hazardous conditionsthat may be in effect under certain conditions or for a certain time period oravoid specific tribes and clans. These avoidance issues greatly change theterrain path created. One solution would be to dynamically (on the fly) setthese areas when needed as an obstacle block or zone and let the path-findingfunction handle this as though it were a large building to walk around.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;The solutions discussed thus far don’t take intoaccount various terrain elevations. Nature has rivers running downhill, and ourcharacters would probably prefer a downhill path to town rather than a MountEverest climbing shortcut. The distance over Everest may be the shortest, butits elevation and treachery makes it less desirable. If each node had anelevation factor, the path created would be the shortest path within reason.Otherwise, the character’s morale and fatigue factors would be greatlyincreased, causing negative results later. The elevation factor could also beused in the character’s “line of sight” functionality. If a character werestanding in a ditch, that character probably wouldn’t see the massive horde ofenemy troops heading toward him in the distance. On the other hand, a fort ontop of a mountain would have its residents’ “line of sight” able to see quite adistance and its cannons able to fire a long distance. If a character isstanding on one side of a building, the enemy approaching from the other sidewould be unnoticed since the character’s “line of sight” would be blocked bythe building. These factors add to the realism of the game, and that’s whatplayers demand. That’s what your game design should include.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;Other pathfinding issues would include formations(groups of moving objects) and the turn radius and ramping up or down speed toinitialize a movement and terminate a movement. A formation is a group ofcharacters all moving independently but as a group. Soldiers in two columnsmarch behind their leader. As the leader turns, so does the entire troop. Theyall must maintain their relative distance from the row in front of them, marchat the same speed (pace), and turn their bodies relative to their path line.The leader may be marching north as the last soldier in the line is stillmarching east 50 feet behind the leader. Formations also must not collide andbounce off each other like billiard balls. These are complex structures thatmust be in your game design and algorithmically understood by the teamdeveloping your vision.&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=539310800582019371" name="402"&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;Humans are bipeds and, if they are moving the wrongdirection, can turn on a dime and reverse their movement toward the goal.Vehicles and horses need more space to create a turn radius. Your car needs tocircle or turn around when reversing from the road south to the road north. Wehave fancy terms like the “U-turn” and the “K-turn” when a car is reversing itsdirection. People can perform this maneuver with an “about face” motion. Thesefactors must be incorporated into the game design for a realistic look and feelin your game. People, horses, and vehicles don’t jump into a quick speed andjust stop on a dime at will. Moving objects need to increase their speed(velocity) and decrease it before coming to a complete stop. These factors arenot easy to implement but should be addressed in the design document anddiscussed as the game is being developed. Often, ideas, concepts, and featuresthat are in the design document hit the cutting room floor (do not make it tothe final product). These design document items should be frequently discussedand addressed to determine their status as to whether they are “in,” “out,” or“on hold” for the final product. Most items, given enough development time andmoney, can be implemented. In reality, developers don’t have this luxury ofunlimited time and available finances.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;AI is an important consideration in the success ofyour game. Often, I read on Internet gaming sites that the development teamplanned to do AI last and within a week or two. This inexperienced and ignorantdecision severely delayed the project, and the AI was quickly finished withouta real solid solution. The teams have often said in the aftermath of a majorproject that they wished they had started the AI earlier and had longer to workon the best AI possible (not the best AI as soon as possible).&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-539310800582019371?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/539310800582019371/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/artificial-intelligent.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/539310800582019371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/539310800582019371'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/artificial-intelligent.html' title='ARTIFICIAL INTELLIGENT'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-6958839518672693848</id><published>2011-09-21T04:39:00.000-07:00</published><updated>2011-09-21T04:57:28.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multimedia'/><title type='text'>Membuat Animasi Skeleton OGRE Sendiri</title><content type='html'>&lt;div style="text-align: justify;"&gt;Membuat animasi skeleton untuk model mesh OGRE memang gampang gampang susah. Tetapi meskipun demikian, itu bukanlah sesuatu hal yang mustahil untuk dilakukan. Kita dapat membuatnya dengan dua cara yaitu &lt;strong&gt;cara halus&lt;/strong&gt; dan &lt;strong&gt;cara kasar&lt;/strong&gt;. Kedua cara tersebut memanglah berbeda namun tetap dapat saling melengkapi. Pada contoh kali ini, kita akan mencoba mempraktekkan kedua cara tersebut dalam membuat animasi skeleton.&lt;br /&gt;&lt;span id="more-467"&gt;&lt;/span&gt;&lt;br /&gt;Kali ini kita akan mempraktekkan cara halus terlebih dahulu. Cara halus yang saya maksud di sini adalah membuat animasi model menggunakan aplikasi Blender dahulu baru kemudian diekspor ke objek OGRE. Jadi, model yang akan kita animasikan ini haruslah mempunyai armature yang dapat menggerakkan mesh-nya. Sebagai contoh, saya akan menggunakan model &lt;strong&gt;Sonic The Hedgehog&lt;/strong&gt;.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Langkah-langkah untuk menganimasikannya adalah sebagai berikut : &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Buka model &lt;strong&gt;Sonic The Hedgehog&lt;/strong&gt; menggunakan aplikasi Blender. Setelah itu, aturlah tampilan workspace yang Anda gunakan sehingga memiliki jendela &lt;strong&gt;3D View&lt;/strong&gt;, &lt;strong&gt;Button Window&lt;/strong&gt;, &lt;strong&gt;User Preferences&lt;/strong&gt;, &lt;strong&gt;Timeline&lt;/strong&gt;, dan &lt;strong&gt;Action Editor&lt;/strong&gt;. Khusus untuk Timeline dan Action Editor, kedua jendela ini akan sangat kita butuhkan dalam pembuatan animasi ini. Timeline nantinya kita gunakan sebagai jendela untuk merekam dan menguji animasi yang akan kita buat dari Action Editor. Untuk lebih jelasnya, perhatikan gambar di bawah ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-01.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-469" height="168" src="http://crystalforest.files.wordpress.com/2010/04/scr-01.png?w=300&amp;amp;h=168" title="scr-01" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;2. Setelah itu, perbesarlah dahulu model &lt;strong&gt;Sonic&lt;/strong&gt; yang ada pada jendela &lt;strong&gt;3D View&lt;/strong&gt; dengan menggunakan scroll mouse. Ini dimaksudkan agar kita dapat melihat dengan jelas armature-armature yang akan kita gerakan dari model tersebut. Selanjutnya, klik tombol &lt;strong&gt;Record&lt;/strong&gt; dari jendela &lt;strong&gt;Timeline&lt;/strong&gt; untuk mulai merekam animasi. Oiya, semua gerakan armature akan dianimasikan dalam jendela &lt;strong&gt;Pose Mode&lt;/strong&gt;. Perhatikan gambar di bawah ini!&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-02.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-470" height="168" src="http://crystalforest.files.wordpress.com/2010/04/scr-02.png?w=300&amp;amp;h=168" title="scr-02" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Lalu, gerakanlah armature-armature yang akan dianimasikan pada jendela 3D View. Saat menggerakkan armature-armature tersebut, pastikan Anda menggunakan &lt;strong&gt;frame&lt;/strong&gt; yang sesuai dengan keinginan Anda. Sedangkan untuk berpindah frame, gunakan saja jendela &lt;strong&gt;Action Editor&lt;/strong&gt; agar lebih mudah. Sebagai contoh, kita akan menganimasikan Sonic tersebut untuk berjalan. Rencana gerakannya adalah sebagai berikut. Pada frame pertama kita akan melangkahkan kaki kanan ke depan disertai gerakan kaki kiri ke belakang. Setelah itu, pada frame kesepuluh giliran kaki kiri yang melangkah ke depan dan kaki kanan yang ke belakang. Jadi untuk dapat melakukannya, kita pilih frame pertama pada Action Editor lalu gerakkan armature-armature kaki kanan ke depan dan armature-armature kaki kiri ke belakang. Setelah itu, pindahlah ke frame kesepuluh lalu gerakkan armature-armature kaki kiri ke depan dan armature-armature kaki kanan ke belakang. Jika gerakan armature-armature tersebut berhasil direkam maka akan muncul &lt;strong&gt;node kuning&lt;/strong&gt; pada jendela &lt;strong&gt;Action Editor&lt;/strong&gt; sesuai dengan armature apa saja yang telah digerakkan.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-03.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-471" height="168" src="http://crystalforest.files.wordpress.com/2010/04/scr-03.png?w=300&amp;amp;h=168" title="scr-03" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Setelah itu, Anda bisa mengetes animasi yang telah dibuat menggunakan tombol &lt;strong&gt;Play&lt;/strong&gt; yang ada pada jendela Timeline. Oiya, secara default animasi tersebut akan diberi nama Action dan semakin jauh jarak antarframe yang memiliki animasi pada Action maka secara otomatis gerakan animasi tersebut akan semakin halus.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Bila dirasa animasi yang kita buat telah sesuai dengan keinginan maka kita dapat meng-ekpornya ke format mesh dan skeleton OGRE. Anda masih ingat caranya, bukan? Sama seperti cara pengeksporan biasa, namun kali ini kita harus mengikutkan skeleton yang beranimasi tersebut. Cara mudah yaitu dengan menekan tombol &lt;strong&gt;Add&lt;/strong&gt; pada opsi &lt;strong&gt;Skeleton&lt;/strong&gt; pada jendela &lt;strong&gt;OgreMeshesExporter&lt;/strong&gt;. Setelah itu, baru klik tombol &lt;strong&gt;Export&lt;/strong&gt;. Perhatikan gambar berikut!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-04.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-472" height="168" src="http://crystalforest.files.wordpress.com/2010/04/scr-04.png?w=300&amp;amp;h=168" title="scr-04" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Selanjutnya, kita buka model &lt;strong&gt;Sonic&lt;/strong&gt; tersebut menggunakan aplikasi &lt;strong&gt;CeguiMeshViewer&lt;/strong&gt;. Masuklah ke tab &lt;strong&gt;Anim&lt;/strong&gt; pada jendela &lt;strong&gt;Mesh, &lt;/strong&gt;maka seharusnya akan ada pilihan animasi yang bernama &lt;strong&gt;Action&lt;/strong&gt;. Perhatikan gambar di bawah ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-05.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-473" height="238" src="http://crystalforest.files.wordpress.com/2010/04/scr-05.png?w=300&amp;amp;h=238" title="scr-05" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7. Terakhir, cobalah animasi Action tersebut dengan cara mengkliknya. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Bila animasi tersebut sesuai dengan apa yang Anda lihat di aplikasi Blender maka bisa dikatakan proses pembuatan animasi dengan cara halus ini telah berhasil dilakukan. Namun bila tampilan animasi itu berbeda dengan yang ada di aplikasi Blender atau bahkan hancur sama sekali, maka Anda dapat memilih untuk mengulangi langkah-langkah di atas atau mengikuti &lt;strong&gt;cara kasar&lt;/strong&gt; dalam pembuatan animasi berikut ini. Sebagai contoh, sebenarnya animasi dari model Sonic tersebut tergolong animasi yang hancur saat diekspor ke OGRE. Jadi, mau tidak mau kita harus menggunakan cara kasar dalam membuat animasinya. Paling tidak, lebih baiklah dari hasil pembuatan animasi cara halus sebelumnya. Untuk lebih jelasnya, perhatikan gambar di bawah ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-06.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-474" height="238" src="http://crystalforest.files.wordpress.com/2010/04/scr-06.png?w=300&amp;amp;h=238" title="scr-06" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cara kasar yang saya maksud di sini yaitu cara manual dalam membuat animasi. Kita melakukannya dengan cara mengedit secara langsung skrip xml dari mesh dan skeleton. &lt;em&gt;Ya, mirip-mirip hacker gitulah&lt;/em&gt; &lt;img alt=":)" class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1305452256g" /&gt; . Namun, kali ini saya hanya akan memfokuskan pada pembahasan secara garis besar tentang cara mengedit file &lt;strong&gt;*.skeleton .xml&lt;/strong&gt;-nya saja. Biarpun demikian, saya juga akan mencoba sedikit memberi gambaran tentang isi file &lt;strong&gt;*.mesh.xml&lt;/strong&gt;-nya. Jadi, untuk ngoprek-ngopreknya Anda lakukan sendiri dengan menggunakan metode &lt;strong&gt;Try and Error&lt;/strong&gt;, ya! &lt;img alt=":)" class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1305452256g" /&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pada file &lt;strong&gt;*.mesh.xml&lt;/strong&gt; ini ada sebuah seksi yang bernama &lt;strong&gt;skeletonlink&lt;/strong&gt;. Seksi ini gunanya untuk meng-embed file skeleton yang akan kita pakai untuk animasi. Jadi, bila kita salah menentukan nama dari skeleton yang kita embed tersebut, maka akibatnya adalah file &lt;strong&gt;*.mesh&lt;/strong&gt; yang dihasilkan akan sama saja seperti tidak ber-skeleton. Ini dapat terjadi bila kita asal saja mengganti nama mesh dan skeletonnya. Misalnya, penggantian nama dari &lt;strong&gt;undefined1_None.mesh&lt;/strong&gt; menjadi &lt;strong&gt;sonic.mesh&lt;/strong&gt; dan &lt;strong&gt;undefined1_None.skeleton&lt;/strong&gt; menjadi &lt;strong&gt;sonic.skeleton&lt;/strong&gt;. Walaupun nama mesh dan skeletonnya disamakan, namun sebenarnya file &lt;strong&gt;sonic.mesh&lt;/strong&gt; tersebut tetap masih meng-embed file skeleton dengan nama &lt;strong&gt;undefined1_None.skeleton&lt;/strong&gt; bila belum di-edit nama skeletonnya pada seksi &lt;strong&gt;skeletonlink&lt;/strong&gt; tersebut. Sedangkan untuk seksi &lt;strong&gt;submeshes&lt;/strong&gt;, hanyalah berisi koordinat-koordinat vertex untuk penggunaan material yang dipakai model tersebut. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-07.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-475" height="134" src="http://crystalforest.files.wordpress.com/2010/04/scr-07.png?w=300&amp;amp;h=134" title="scr-07" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kembali ke inti permasalahan. Sekarang kita akan menelaah isi dari file &lt;strong&gt;*.skeleton.xml&lt;/strong&gt;-nya. File tersebut berisi tiga buah seksi, yaitu &lt;strong&gt;bones&lt;/strong&gt;, &lt;strong&gt;bonehierarchy&lt;/strong&gt;, dan &lt;strong&gt;animation&lt;/strong&gt;. Perhatikan gambar di bawah ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-08.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-476" height="111" src="http://crystalforest.files.wordpress.com/2010/04/scr-08.png?w=300&amp;amp;h=111" title="scr-08" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Untuk seksi &lt;strong&gt;bones&lt;/strong&gt; berisi daftar dari tulang-tulang atau armature-armature yang digunakan oleh objek mesh. Rinciannya akan tampak seperti gambar di bawah ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-09.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-477" height="113" src="http://crystalforest.files.wordpress.com/2010/04/scr-09.png?w=300&amp;amp;h=113" title="scr-09" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sedangkan untuk seksi &lt;strong&gt;bonehierarchy&lt;/strong&gt;, berisi daftar susunan hirarki dari tulang-tulang tersebut. Untuk lebih jelasnya, perhatikan gambar di bawah ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-10.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-478" height="120" src="http://crystalforest.files.wordpress.com/2010/04/scr-10.png?w=300&amp;amp;h=120" title="scr-10" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lain halnya untuk seksi &lt;strong&gt;animation&lt;/strong&gt;. Seksi ini berisi daftar animasi yang ada dan dapat dimainkan oleh model mesh yang meng-embed-nya. Jadi pada seksi animation inilah sasaran kita saat “mengobrak-ngabrik” file &lt;strong&gt;*.skeleton.xml&lt;/strong&gt; untuk membuat animasi secara manual. Untuk seksi animation ini sendiri terbagi atas delapan buah subseksi dimana susunannya ditunjukkan oleh gambar berikut ini.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-11.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-479" height="173" src="http://crystalforest.files.wordpress.com/2010/04/scr-11.png?w=300&amp;amp;h=173" title="scr-11" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Keterangannya adalah sebagai berikut:&lt;br /&gt;* &lt;strong&gt;Animation&lt;/strong&gt; : nama dari animasi yang dapat kita gunakan.&lt;br /&gt;* &lt;strong&gt;Tracks&lt;/strong&gt; : kumpulan dari track-track dari sebuah animasi.&lt;br /&gt;* &lt;strong&gt;Track&lt;/strong&gt; : sebuah gerakan dari keseluruhan animasi berdasarkan tulang.&lt;br /&gt;* &lt;strong&gt;Keyframes&lt;/strong&gt; : kumpulan dari keyframe-keyframe dari sebuah track animasi.&lt;br /&gt;* &lt;strong&gt;Keyframe&lt;/strong&gt; : kunci gerakan dari sebuah track animasi berdasarkan waktu.&lt;br /&gt;* &lt;strong&gt;Translate&lt;/strong&gt; : pergeseran dari tulang pada sumbu x, y, dan z.&lt;br /&gt;* &lt;strong&gt;Rotate&lt;/strong&gt; : perputaran dari tulang sesuai dengan sudut.&lt;br /&gt;* &lt;strong&gt;Axis&lt;/strong&gt; : patokan untuk perputaran tulang pada sumbu x, y, dan z.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kesimpulannya yaitu kita dapat membuat banyak animasi pada seksi animation dengan track dari tulang-tulang yang bergeser atau berputar pada sumbu x, y, dan z dengan lama gerakan yang dapat kita tentukan. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Hal-hal yang menjadi kesulitan dari pembuatan animasi cara kasar atau manual ini, sesuai dengan pengalaman saya yaitu : &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Dalam penentuan nama dari bone yang akan kita gerakkan, Untuk menangani permasalahan tersebut saya membuat daftar bone memakai printscreen-an dari model pada aplikasi Blender. Perhatikan gambar berikut ini!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-12.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-480" height="184" src="http://crystalforest.files.wordpress.com/2010/04/scr-12.png?w=300&amp;amp;h=184" title="scr-12" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Penentuan gerakan animasi dari tulang yang dimaksud. Seringkali apa yang sesuai dengan logika menjadi tidak sesuai dengan kejadian saat file mesh tersebut dijalankan bersamaan dengan skeleton-nya. Untuk mengatasi masalah ini, saya mencoba cara halus di atas untuk mengambil gerakan tulang yang benar-benar saya inginkan walaupun agak hancur. Intinya, selamatkan yang bagus dan musnahkan yang rusak. &lt;img alt=":)" class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1305452256g" /&gt;   &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Pembuatan animasi dengan cara ini seringkali membuat mesh dari objek tersebut seperti tertarik ke titik tertentu. Tingkat ketertarikan mesh tersebut tergantung VGA Card yang digunakan. Sebagai contoh, perhatikanlah dua gambar di bawah ini! Sebelah kiri memakai NVIDIA dan sebelah kanan memakai VIA. Bukan maksud hati membanding-bandingkan merek VGA Card, lho! Ini cuma sebagai referensi saja, ya! &lt;img alt=":)" class="wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1305452256g" /&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://crystalforest.files.wordpress.com/2010/04/scr-13.png"&gt;&lt;img alt="" class="aligncenter size-medium wp-image-481" height="112" src="http://crystalforest.files.wordpress.com/2010/04/scr-13.png?w=300&amp;amp;h=112" title="scr-13" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Akhir kata, selamat mencoba&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-6958839518672693848?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/6958839518672693848/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/membuat-animasi-skeleton-ogre-sendiri.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6958839518672693848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6958839518672693848'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2011/09/membuat-animasi-skeleton-ogre-sendiri.html' title='Membuat Animasi Skeleton OGRE Sendiri'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-5792057182843164798</id><published>2010-01-14T06:31:00.000-08:00</published><updated>2010-01-24T20:20:35.842-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Cara Memasang Lagu Di Blog</title><content type='html'>&lt;a href="http://www.idonbiu.com/2009/03/cara-memasang-lagu-di-blog.html"&gt;Cara Memasang Lagu Di Blog&lt;/a&gt;: "Memasang musik atau lagu di web/blog mudah kok. Tapi sebelum saya jelaskan bagaimana caranya, ada baiknya saya sharing info tentang hal-hal tersebut yang berkaitan dengan pemasangan musik di blog.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Sebenarnya apa tujuan kamu pengen pasang musik di blog? Agar lebih menarik? Agar membuat pengunjung lebih betah?&lt;br /&gt;Tapi sepertinya memasang musik di blog justru bisa jadi hal yang bikin pengunjung 'kabur' lho dari blog kita, jika pemilihannya tidak tepat.Coba kalian perhatikan blog para blogger yang terkenal, blog yang sering jadi 'top blog', apa ada di antara mereka yang masang musik background di blognya? Tidak, kan...&lt;br /&gt;&lt;a href="http://www.idonbiu.com/2009/03/cara-memasang-lagu-di-blog.html"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;Memasang musik di blog memang tidak sepenuhnya buruk. Tapi juga jarang dianjurkan.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Memasang lagu sebagai background&lt;/b&gt; (jika halaman dibuka otomatis lagu akan dimainkan) &lt;b&gt;tidak dianjurkan&lt;/b&gt; jika file merupakan MP3 (atau WAV, WMA, dsb) yang &lt;b&gt;ukurannya besar&lt;/b&gt; seperti satu lagu penuh. Hal ini akan 'memberatkan' pengunjung dalam mengakses halaman blog kita, apalagi kalau pengunjungnya dari Indonesia. Seperti yang kita tahu di Indonesia koneksi internetnya blom sepenuhnya bagus.&lt;br /&gt;Untuk halaman blog teman kita yang tanpa background musik yang rata2 besarnya kurang dari 100KB saja masih ada yang mengeluh karena lelet jika dibuka di warnet, apalagi kalau halaman tersebut dipasang musik yang besarnya lebih dari 1 MB, kan.&lt;br /&gt;&lt;br /&gt;Jadi, daripada pengunjung 'kabur' gara2 gak bisa nge-load blog kita, mendingan gak usah dipasang. Lagipula, belum tentu lagu kesukaan kita itu juga disukai oleh pengunjung blog kita :) Dan juga, jika lagu itu milik artis legal, malah bisa kesandung hak cipta.&lt;br /&gt;&lt;br /&gt;Kalau file musik itu ukurannya hanya beberapa KB saja, ya tidak menjadi masalah dalam hal loading. Misalnya file suara ciap-ciap ayam yang besarnya kurang dari 10 KB, suara angin, dll. Yang jadi masalah, justru kalau si pengunjung merasa terganggu. Bisa saja kan, si pengunjung lagi dengerin musik di komputernya saat buka blog kita, lalu terganggu dengan suara background blog itu dan malah menutup blog kita.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tapi,&lt;/b&gt;&lt;br /&gt;jika kita tetap ingin menampilkan lagu di blog, &lt;b&gt;cara yang bisa disarankan&lt;/b&gt; adalah dengan memasangnya di salah satu bagian blog, tapi bukan sebagai background (jadi tidak otomatis dimainkan saat blog dibuka). Dengan cara itu, pengunjung bisa melihat list lagu yang tersedia dan bisa memilih mau memainkannya atau tidak. Biasanya dipasang di sidebar.&lt;br /&gt;Ok, cara inilah yang akan saya jelaskan.&lt;br /&gt;&lt;br /&gt;Ada beberapa website yang menyediakan layanan free audio yang bisa ditambahkan untuk blog. Antara lain &lt;a href="http://song2play.com/"&gt;Song2Play&lt;/a&gt;, &lt;a href="http://odeo.com/"&gt;Odeo&lt;/a&gt;, &lt;a href="http://radioblogclub.com/"&gt;Radio Blog Club&lt;/a&gt;, dan &lt;a href="http://last.fm/"&gt;Last.fm&lt;/a&gt;. Saya akan kasi contoh untuk 2 layanan terakhir.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Memasang Lagu dari Radio Blog Club&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Buka website http://radioblogclub.com/&lt;/li&gt;&lt;li&gt;Di bagian search, cari berdasarkan nama artis atau judul lagu. Tentu saja lagunya lagu barat yg tersedia di situ.&lt;/li&gt;&lt;li&gt;Misalnya saya cari &lt;b&gt;Muse&lt;/b&gt;, akan muncul berbagai lagu yang tersedia.&lt;/li&gt;&lt;li&gt;Pilih salah satu lagu yang sesuai dengan pencarian kita.&lt;/li&gt;&lt;li&gt;Klik di bagian berwarna biru di samping tiap lagu, lalu di kolom kanan akan muncul kode yang bisa kita tambahkan. Warnanya juga bisa diatur di situ (klik di tanda + nya). Kode itu bisa ditambahkan di sidebar atau dalam postingan (kalo di blogspot masuk ke mode 'edit html' jangan 'compose').&lt;/li&gt;&lt;li&gt;Kita bisa menambahkan hingga beberapa lagu.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://i90.photobucket.com/albums/k268/pernakpernik/blog/sample-rbc1.gif"&gt;&lt;img src="http://i90.photobucket.com/albums/k268/pernakpernik/blog/th_sample-rbc1.gif" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;b&gt;2. Memasang Widget Playlist dari Last.FM&lt;/b&gt;&lt;br /&gt;Last.fm yang punya tagline The Social Music Revolution ini sedang ngetop (termasuk di Indonesia). Widget dari Last FM ini akan menampilkan playlist berupa beberapa lagu yang telah kita putar terakhir atau yang sering diputar di Winamp.&lt;br /&gt;Sebenernya caranya agak panjang kalo ini, tapi saya tulis poin2nya aja, silakan coba sendiri aja yaa.. :)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sebelumnya, kita harus sign up dulu di http://last.fm.&lt;/li&gt;&lt;li&gt;Trus kita juga harus &lt;a href="http://www.last.fm/download/"&gt;download&lt;/a&gt; softwarenya, yang harus diinstal di komputer kita.&lt;/li&gt;&lt;li&gt;Saat kita mendengarkan lagu di Winamp, Last FM akan menyimpan datanya (tentu saja kalo last fm nya dinyalakan. bisa di-minimize ke tray icon kok).&lt;/li&gt;&lt;li&gt;Login ke situs last.fm, lalu pilih menu &lt;a href="http://www.last.fm/widgets/"&gt;widget&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Lalu, pilih warna widget yang diinginkan. Uncek saja di bagian 'Include friends listening now'.&lt;/li&gt;&lt;li&gt;Di bagian bawah, klik di bagian 'Embed it:' yang &lt;b&gt;Show me the code&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Tambahkan kode yang muncul, ke blog kamu.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Source :&lt;br /&gt;&lt;a href="http://www.idonbiu.com/2009/03/cara-memasang-lagu-di-blog.html"&gt;&lt;br /&gt;Free Download Software and Review - IDONBIU.com&lt;br /&gt;&lt;/a&gt;"&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-5792057182843164798?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/5792057182843164798/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2010/01/cara-memasang-lagu-di-blog.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/5792057182843164798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/5792057182843164798'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2010/01/cara-memasang-lagu-di-blog.html' title='Cara Memasang Lagu Di Blog'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i90.photobucket.com/albums/k268/pernakpernik/blog/th_sample-rbc1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-4462148418004396732</id><published>2009-12-27T08:31:00.001-08:00</published><updated>2009-12-27T08:34:57.289-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Belajar PHP dari menginstall PHP hingga mempelajari fungsi-fungsi dasar PHP</title><content type='html'>&lt;div class="content"&gt;Anda ingin membuat website dinamis? maka anda perlumempelajari bahasa pemrograman web server seperti ASP.net, PHP, JSP,Perl, Python, RoR (Ruby on Rails) dan masih banyak lagi. Anda tidakperlu mempelajari semuanya cukup pilih saja salah satu. Dan jika andamemilih PHP, maka anda berada diwebsite yang tepat. Jika anda memilihlainnya silahkan browsing lagi di Google, karena saya belummenguasainya (saya bilang belum karena saya berencana mempelajarin&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;ya,hanya saja tidak ada waktu untuk mem&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;pelajarinya).&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/h4&gt;&lt;h4&gt;Apa itu PHP?&lt;/h4&gt;&lt;div class="content"&gt;Salah satu alasan PHP menjadi sukses seperti sekarang ini adalah karena kemampuannya yang menakjubkan. PHP dapat berkomunikasi dengan berbagai macam database dan mengenal semua protokol internet. PHP mudah digunakan dan cepat. Class-class / fungsi-fungsi PHP dapat anda temukan dengan mudah di internet. Apabila anda ingin membuat web dinamis dan belum tau caranya, PHP adalah bahasa pemrograman yang tepat.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;PHP merupakan kependekan dari HyperText Preprocessor, awalnya merupakan kependekan dari Personal HomePage. PHP Merupakan bahasa pemrograman yang biasanya ditulis bersama kode HTML. Tidak seperti HTML yang langsung dikirim ke browser, script PHP di parsing dulu oleh PHP binary dalam komputer server. Elemen HTML dibiarkan tetapi kode PHP di eksekusi terlebih dahulu dan hasilnya dalam bentuk HTML dikirim ke browser pengguna. Kode PHP mampu menjalankan perintah database, membuat gambar, membaca dan menulis file, serta kemampuan lainnya yang tidak memiliki batas.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Pada saat artikel ini ditulis, PHP telah memasukiversi 5, tetapi versi 4 nya masih banyak digunakan. Bahkan versi 6Alpha telah keluar sejak akhir 2006. Pada versi 5 keatas PHP telahmemiliki konsep OOP (Pemrograman Berorientasi Objek) yang cukup bagusdan sebanding dnegan Java. Jadi jika anda menggunakan PHP 5 anda harusterbiasa dengan konsep OOP. Saya akan membahas konsep OOP lain kali,disini kita menggunakan PHP 4 dan tidak menggunakan konsep OOP. Jadisangat cocok bagi anda yang merupakan pemula dan ingin belajar PHP.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt; Cara menginstall PHP&lt;/h4&gt;&lt;div class="content"&gt;Sudah cukup kita ngomongin PHP, sekarang sebelum kita dapat menggunakan PHP pertama-tama kita perlu menginstall PHP pada komputer kita. PHP dapat dijalankan di berbagai macam sistem operasi dan servers. PHP dapat berjalan di Windows, Unix, Linux dan Macintosh. PHP juga dapat bekerja pada berbagai macam web server termasuk Apache (Apache merupakan opensource dan pasangan sehidup semati dengan PHP), Microsoft IIS (Internet Information Server), Website Pro, iPlanet dan Microsoft PWS (Personal Web Server). Disini kita akan menginstall PHP didalam Windows XP menggunakan server Apache.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Cara termudah menginstall PHP adalah dengan menggunakan appserv. Appserv merupakan sebuah paket untuk Windows dimana didalamnya terdapat :&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Apache Web Server&lt;/li&gt;&lt;li&gt;PHP Script Language&lt;/li&gt;&lt;li&gt;MySQL Database&lt;/li&gt;&lt;li&gt;Zend Optimizer&lt;/li&gt;&lt;li&gt;phpMyAdmin Database Manager&lt;/li&gt;&lt;/ul&gt;&lt;div class="content"&gt;Daripada kita mendownload satu-satu, lebih mudah kita menggunakan apsserv, karena didalamnya sudah terdapat semua. Anda tinggal download dan install.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Pertama-tama bukalah &lt;a href="http://www.appservnetwork.com/"&gt;http://www.AppServNetwork.com&lt;/a&gt; dan download Appserv versi terbaru. Setelah itu jalankan filenya dan akan muncul layar seperti dibawah ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Layar Selamat datang" height="225" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_01.gif" width="344" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Klik Next aja.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Pilih Folder Instalasi" height="225" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_02.gif" width="344" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Ini merupakan default folder dimana anda akan menginstall Appserv. Saya sarankan biarkan saja menggunakan folder defaultnya tidak usah diubah. Klik Next&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Pilih tipe Instalan" height="225" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_03.gif" width="344" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Pilihlah typical dan klik Next&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Setting Localhost" height="229" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_04.gif" width="354" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Biarkan saja Server Name nya dengan localhost dan Port nya 80. Klik Next&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Username dan Password untuk mengakses MySQL" height="229" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_05.gif" width="354" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Pilihlah Username dan Password untuk mengakses database MySQL. Isi sesuka anda, asal anda jangan lupa dengan username dan passwordnya. Kemudian klik Next, selesailah sudah. Anda sudah berhasil menginstall PHP pada komputer anda. Bagaimana mudah bukan.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Sekarang buka browser anda dan ketik 'localhost', maka browser anda akan menjadi seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Tampilan Localhost Appserv" height="238" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_06.gif" width="380" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Selamat, PHP sudah terinstall pada komputer anda. Sekarang mari kita mencoba beberapa kode PHP.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;PHP pertama saya begitu menggoda&lt;/h4&gt;&lt;div class="content"&gt;Perlu di ingat jika anda membuat file PHP, maka anda perlu menyimpannya di folder c:\appserv\www\folderanda. Sekarang buka Windows explorer dan buka c:\appserv\www setelah itu buatlah folder dan beri nama folder tersebut 'contoh'. Seperti dokumen HTML, PHP merupakan file text. Karena itu anda dapat membuatnya dengan text editor seperti Notepad atau BBEdit untuk MacOS atau Vi dan Emacs untuk Unix/Linux. Saya pribadi menyukai Editplus atau PHPEdit karena software tersebut memiliki sintax highlighting yang memudahkan kita.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Engine PHP akan mengeksekusi kode PHP setelah (&lt;code&gt;) sampai ketemu dengan (&lt;code&gt;?&amp;gt;&lt;/code&gt;), jika kode PHP anda benar maka hasilnya akan ditampilkan, tetapi apabila salah maka terdapat pesan error dengan memberi tahu anda pada baris berapa terdapat error nya. Sekarang buka teks editor favorit anda dan cobalah kode berikut ini:&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"Hello World!"&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Sekarang simpan file tersebut di to c:\appserv\www\contoh\hello.php. Buka browser anda dan jalankan 'http://localhost/contoh/hello.php'. Maka pada browser anda akan tampil seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;img alt="Tampilan kode PHP Hello World" height="104" src="http://www.dhimasronggobramantyo.com/images/artikel/introphp_07.gif" width="247" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;print()&lt;/code&gt; merupakan fungsi untuk mengoutput data. Apa saja yang dituliskan oleh &lt;code&gt;print()&lt;/code&gt; akan ditampilkan pada browser. &lt;code&gt;print()&lt;/code&gt; merupakan salah satu fungsi yang terdapat dalam PHP untuk menampilkan data, biasanya dimodifikasi dengan data yang dimasukkan, Dalam kasus ini anda menjalankan fungsi &lt;code&gt;print() &lt;/code&gt;yang berisi sekumpulan karakter (Hello World) atau disebut String. String harus diapit oleh tanda ".&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Anda dapat memasang kode PHP didalam HTML, cukup seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;title&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sh_variable"&gt;My&lt;/span&gt; &lt;span class="sh_variable"&gt;first&lt;/span&gt; &lt;span class="sh_variable"&gt;PHP&lt;/span&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;title&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Hello &lt;b&gt;World&lt;/b&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Tetapi anda tidak bisa menyimpannya dalam format .html, anda harus menyimpannya dalam format .php&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Comments&lt;/h4&gt;&lt;div class="content"&gt;Sama seperti HTML, anda pun bisa menuliskan komentardi kode PHP anda. Untuk menuliskan komentar satu baris pada PHP harusdiawali dengan dua tanda &lt;code&gt;//&lt;/code&gt; atau sebuah tanda &lt;code&gt;#&lt;/code&gt;. Semua teks setelah tanda tersebut tidak akan dibaca oleh PHP. Jika anda ingin menuliskan komentar lebih dari satu baris anda dapat menggunakan tanda &lt;code&gt;/*&lt;/code&gt; dan diakhiri dengan tanda &lt;code&gt;*/&lt;/code&gt;. Contoh:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_comment"&gt;// Ini merupakan kode pertama sayaprint ("Hello World!");&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;Variables&lt;/h4&gt;&lt;div class="content"&gt;Variabel merupakan sebuah tempat yang anda definisikan untuk menyimpan sebuah nilai. Variabel mempunyai nama yang anda definisikan dan diawali dengan tanda &lt;code&gt;$&lt;/code&gt;. Nama variabel bebas anda dapat menuliskan dengan karakter, angka dan garis bawah "_". Nama variabel tidak boleh mengandung spasi atau karakter lain selain angka dan huruf. Contoh:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$nama&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"bobi"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$umur&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;30&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$negara&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Indonesia"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Halo nama saya $name, saya $age tahun dan tinggal di $country"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Halo nama saya bobi, saya 30 tahun dan tinggal di Indonesia&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Sudah dapet maksudnya? Jika anda lihat kode diatas, kita membuat variabel nama yang diisi dengan teks "bobi", kita kuga membuat variabel umur dan negara. Maka apabila kita menulis &lt;code&gt;$umur&lt;/code&gt; didalam fungsi print maka yang ditampilkan adalah isi dari variabel tersebut. Kita juga dapat mengisi variabel dengan variabel yang lain serta dapat memanipulasinya. Ini contohnya:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$y&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;4&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$hasil&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$y&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x + $y = $hasil&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$firstname&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Dhimas"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$lastname&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Ronggobramantyo"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$fullname&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"$firstname $lastname"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Nama saya adalah $fullname"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;3 + 4 = 7&lt;br /&gt;Nama saya adalah Dhimas Ronggobramantyo&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Jika anda lihat pada variabel "hasil" kita mengisinya dengan variabel x ditambah variabel y. Kita melakukan manipulasi yaitu menambah nilai variabel x dan y yang hasilnya disimpan pada variabel hasil. Sebelum anda meneruskan, coba anda pahami terlebih dahulu mengenai variabel, cobalah untuk mengubah kode-kode yang ada.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Array&lt;/h4&gt;&lt;div class="content"&gt;Array merupakan sekumpulan elemen yang memiliki tipe yang sama. Di dalam array data tersimpan dengan menggunakan index untuk memudahkan pencarian kembali data tersebut. Variabel hanya memiliki sebuah nilai sedangkan array dapat mempunyai sejumlah nilai. Data dalam suatu array disebut elemen-elemen array. Semua elemen array yang tersimpan mempunyai tipe data yang sama. Array dapat berdimensi satu atau lebih (multidimensi). Oke sekarang cobalah contoh berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$name&lt;/span&gt;&lt;span class="sh_symbol"&gt;[&lt;/span&gt;&lt;span class="sh_number"&gt;0&lt;/span&gt;&lt;span class="sh_symbol"&gt;]=&lt;/span&gt;&lt;span class="sh_string"&gt;"James"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$name&lt;/span&gt;&lt;span class="sh_symbol"&gt;[&lt;/span&gt;&lt;span class="sh_number"&gt;1&lt;/span&gt;&lt;span class="sh_symbol"&gt;]=&lt;/span&gt;&lt;span class="sh_string"&gt;"Bobi"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$name&lt;/span&gt;&lt;span class="sh_symbol"&gt;[&lt;/span&gt;&lt;span class="sh_number"&gt;2&lt;/span&gt;&lt;span class="sh_symbol"&gt;]=&lt;/span&gt;&lt;span class="sh_string"&gt;"Robert"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Halo nama saya $name[0] dan teman saya adalah $name[2]"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Halo nama saya James dan teman saya adalah Robert&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Mirip dengan variabel kan, hanya saja terdapat kurung siku atau dikenal dengan istilah vektor untuk membedakan antara $name yang satu dengan yang lain. Untuk membuat array anda dapat menggunakan cara lain yaitu menggunakan fungsi &lt;code&gt;array()&lt;/code&gt;. Contoh:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;$name = array("James", "Bobi", "Robert");&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Pada bagian vektor (yang didalam kurung siku) tidak hanya dapat di isi angka saja tetapi juga dapat di isi oleh teks. Contoh:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$country&lt;/span&gt;&lt;span class="sh_symbol"&gt;[&lt;/span&gt;&lt;span class="sh_string"&gt;"james"&lt;/span&gt;&lt;span class="sh_symbol"&gt;]=&lt;/span&gt;&lt;span class="sh_string"&gt;"United States"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$country&lt;/span&gt;&lt;span class="sh_symbol"&gt;[&lt;/span&gt;&lt;span class="sh_string"&gt;"bob"&lt;/span&gt;&lt;span class="sh_symbol"&gt;]=&lt;/span&gt;&lt;span class="sh_string"&gt;"United Kingdom"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$country&lt;/span&gt;&lt;span class="sh_symbol"&gt;[&lt;/span&gt;&lt;span class="sh_string"&gt;"robert"&lt;/span&gt;&lt;span class="sh_symbol"&gt;]=&lt;/span&gt;&lt;span class="sh_string"&gt;"Singapore"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Hallo $country[james]"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;If statement&lt;/h4&gt;&lt;div class="content"&gt;Belajar pemrograman tidak akan lengkap jika belum ada &lt;strong&gt;if&lt;/strong&gt;. Fungsi &lt;code&gt;if&lt;/code&gt; digunakan untuk membuat berbagai ekspresi yang berbeda, apabila ekspresinya benar maka kode yang didalam ekspresi tersebut akan dijalankan. Untuk gampangnya perhatikan diagram kode diabawah ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;if ( expression 1 )&lt;br /&gt;{&lt;br /&gt;// kode yang dijalankan apabila ekspresi 1 benar&lt;br /&gt;}&lt;br /&gt;elseif ( another expression 2 )&lt;br /&gt;{&lt;br /&gt;// kode yang dijalankan apabila ekspresi 1 salah&lt;br /&gt;// dan ekspresi 2 benar&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;// kode yang dijalankan apabila ekspresi 1 dan 2 salah&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Apabila ekspresi 1 bernilai benar maka kode didalamnya akan dijalankan, dan setelah itu selesai. Tetapi apabila ekspresi 1 salah maka program akan membaca ekspresi 2, apabila ekspresi 2 maka kode didalamnya akan dijalankan dan selesai. Tetapi apabila ekspresi 2 salah maka program akan menjalankan kode yang berada didalam &lt;code&gt;else&lt;/code&gt; karena semua ekspresi sebelumnya salah. Anda dapat menambahkan &lt;code&gt;elseif &lt;/code&gt; sebanyak apapun yang anda mau. Cobalah kode berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt; &lt;span class="sh_number"&gt;5&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x lebih besar dari 5"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt; &lt;span class="sh_number"&gt;5&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x lebih kecil dari 5"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt; &lt;span class="sh_symbol"&gt;==&lt;/span&gt; &lt;span class="sh_number"&gt;5&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x sama dengan 5"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x bukan merupakan angka"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Variabel &lt;code&gt;$x&lt;/code&gt; menyimpan nilai yaitu "3". Angka "3" tidak lebih besar dari "5", Maka ekspresi pertama akan dilewati. Pada &lt;code&gt;elseif&lt;/code&gt; berikutnya diuji apakah 3 &amp;lt; 5,&amp;nbsp;tentu saja hasilnya benar. Maka blok kode didalamnya akan dijalankan. Cobalah untuk mengganti nilai variabel &lt;code&gt;$x&lt;/code&gt; agar mendapatkan hasil yang berbeda-beda. Pahamilah&amp;nbsp; perbedaannya. Contoh lainnya:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;67&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt; &lt;span class="sh_number"&gt;20&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Nilai anda: $score, anda dapat E"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;elseif&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt; &lt;span class="sh_number"&gt;20&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt; &lt;span class="sh_number"&gt;40&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Nilai anda: $score, anda dapat D"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;elseif&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt; &lt;span class="sh_number"&gt;40&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt; &lt;span class="sh_number"&gt;60&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Nilai anda: $score, anda dapat C"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;elseif&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt; &lt;span class="sh_number"&gt;40&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$score&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt; &lt;span class="sh_number"&gt;80&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Nilai anda: $score, anda dapat B"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Nilai anda: $score, anda dapat A"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;Switch Statement&lt;/h4&gt;&lt;div class="content"&gt;Perintah switch merupakan alternatif pengganti dari If. Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang ada didalam case. Pembandingan akan dimulai dari konstanta pertama sampai terakhir. Jika kondisi ditemukan maka program akan membaca kode didalam konstanta tersebut, dan ketika bertemu perintah &lt;code&gt;break;&lt;/code&gt; maka program akan keluar dari fungsi switch. Untuk lebih jelasnya perhatikan diagram kode berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;switch ( expression )&lt;br /&gt;{&lt;br /&gt;case result1:&lt;br /&gt;// Kode akan dijalankan apabila ekspresi sesuai dengan result1&lt;br /&gt;break;&lt;br /&gt;case result2:&lt;br /&gt;// Kode akan dijalankan apabila ekspresi sesuai dengan result1&lt;br /&gt;break;&lt;br /&gt;default:&lt;br /&gt;// Kode akan dijalankan apabila break tidak dijalankan&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Pada dasarnya mirip dengan if, coba anda perhatikan contoh berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$sex&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;cowok&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;switch&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$sex&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;case&lt;/span&gt; &lt;span class="sh_string"&gt;"cowok"&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Saya cowok"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;break&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;case&lt;/span&gt; &lt;span class="sh_string"&gt;"cewek"&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"saya cewek"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;break&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;default&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Saya bukan cowok/cewek &lt;/span&gt;&lt;br /&gt;&lt;span class="sh_string"&gt;tapi &lt;/span&gt;&lt;br /&gt;&lt;span class="sh_string"&gt;$sex"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;Pengulangan (while)&lt;/h4&gt;&lt;div class="content"&gt;Fungsi while digunakan untuk melakukan pengulangan suatu blok kode. Jumlah pengulangan yang terjadi tergantung dari ekspresi yang ditentukan. Anda akan sering menggunakan fungsi while untuk mengambil data dari database. Blok diagram kode while kira-kira seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;while (ekspresi) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kode yang diulang&lt;br /&gt;endwhile;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Inilah contohnya:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;1&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;while&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sh_number"&gt;10&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Loop $i&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;++;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Loop 1&lt;br /&gt;Loop 2&lt;br /&gt;Loop 3&lt;br /&gt;Loop 4&lt;br /&gt;Loop 5&lt;br /&gt;Loop 6&lt;br /&gt;Loop 7&lt;br /&gt;Loop 8&lt;br /&gt;Loop 9&lt;br /&gt;Loop 10&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;autoincrement (++)&lt;/code&gt; dan &lt;code&gt;autodecrement (--)&lt;/code&gt; sama saja artinya dengan menjumlahkan/mengurangkan nilai variabel dengan nilai satu, jadi jika kita memiliki variabel i yang bernilai 1 kemudian kita menjalankan &lt;code&gt;$i++;&lt;/code&gt; maka nilai i akan menjadi 2. Pada kode diatas pertama-tama kita memberi nilai variabel i dengan 1. Kemudian dibawahnya ada kode while yang artinya jika nilai i lebih kecil sama dengan 10 maka kode yang berada didalam while akan dijalankan. Karena nilai i adalah 1 maka kode dijalankan yaitu mencetak teks Loop dan nilai variabel i yaitu 1. Setelah itu kode berikutnya adalah &lt;code&gt;$i++;&lt;/code&gt; yang berarti nilai i menjadi 2.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Kembali mengecek apakah nilai i (yaitu 2) lebih kecil 10? karena benar maka kode didalam while dijalankan yaitu mencetak Loop dan nilai variabel i yaitu 2. Setelah itu kode berikutnya adalah &lt;code&gt;$i++;&lt;/code&gt; yang berarti nilai i menjadi 3. Begitu seterusnya hingga nilai i betambah terus sampai ekspresi while salah (yaitu saat nilai i tidak lebih kecil dari 10) dan kode didalam tidak dijalankan.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Perlu di ingat apabila kita tidak memasang kode &lt;code&gt;$i++;&lt;/code&gt; maka nilai i akan selalu 1 tidak bertambah sehingga kondisi i lebih kecil selalu tercapai dan pengulangan tidak berhenti. Hal ini akan membuat sistem berhenti bekerja, karena terus melakukan pengulangan. &lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Pengulangan (for)&lt;/h4&gt;&lt;div class="content"&gt;Perintah for digunakan untuk mengulang perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah for anda tidak perlu menuliskan kondisi untuk diuji. Anda hanya menuliskan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung ini akan bertambah atau berkurang setiap kali sebuah pengulangan dilakukan. Karena itu pengulangan yang tidak berhenti (seperti dalam kasus while) tidak akan terjadi. Diagram kodenya seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;for ( variable awal; ekspresi; variabel increment/decrement )&lt;br /&gt;{&lt;br /&gt;// Kode yang dijalankan&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Ekspresi pertama merupakan variabel awal / nilai awal, sedangkan yang kedua merupakan kondisi yang harus dicapai agar pengulangan dilakukan, sedangkan yang ketiga merupakan peningkatan/penurunan nilai variabel. Contoh diatas yang menggunakan while jika kita menggunakan for akan seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;for&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;1&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt; &lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="sh_number"&gt;10&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt; &lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;++)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt; &lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Loop $i&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Loop 1&lt;br /&gt;Loop 2&lt;br /&gt;Loop 3&lt;br /&gt;Loop 4&lt;br /&gt;Loop 5&lt;br /&gt;Loop 6&lt;br /&gt;Loop 7&lt;br /&gt;Loop 8&lt;br /&gt;Loop 9&lt;br /&gt;Loop 10&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Fungsi&lt;/h4&gt;&lt;div class="content"&gt;Fungsi merupakan sekumpulan kode yang dapat kita panggil kembali. Ketika dipanggil maka kode-kode didalam fungsi tersebut akan dijalankan. Dengan menggunakan fungsi, program akan lebih mudah dibaca dan kita tidak perlu menulis kode yang sama berkali-kali. Kita dapat mengirimkan nilai variabel kedalam fungsi dan ketika fungsi selesai dijalankan nilai variabel tersebut dapat kita ambil kembali. Oke untuk lebih jelasnya, misalkan kita memiliki kode PHP seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;9&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;9&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;9&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;9&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;9&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Jika kita menulis kode tersebut, kita telah membuang-buang waktu karena kita menulis kode yang sama sebanyak 5 kali. Jika kita menggunakan &lt;code&gt;function()&lt;/code&gt; maka kita cukup menulisnya sekali saja, dan sisanya tinggal memanggil fungsi tersebut. Oke sekarang kita coba buat kode diatas menggunakan fungsi:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;function&lt;/span&gt; &lt;span class="sh_function"&gt;myfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;()&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;9&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$a&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;myfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;myfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;myfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;myfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Kita membuat fungsi dengan nama myfunction, kita bebas memberikan nama untuk fungsi yang kita buat. Didalam fungsi myfunction terdapat sekumpulan kode. Nah untuk memanggil fungsi myfunction kita cukup menulis nama fungsinya saja yaitu &lt;code&gt;myfunction();&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Anda juga dapat mengirim variabel kedalam sebuah fungsi. Misal anda memiliki kode seperti dibawah ini yang dibuat tanpa fungsi:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;1&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;2&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;4&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;5&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;6&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_number"&gt;8&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Seperti yang anda lihat pada kode diatas sama semua hanya saja nilai variabelnya berbeda, kita dapat membuat fungsi dimana nilai variabelnya bisa kita masukkan. Seperti ini kodenya jika kode diatas dibuat menggunakan fungsi:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;function&lt;/span&gt; &lt;span class="sh_function"&gt;anotherfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$x&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_variable"&gt;$i&lt;/span&gt;&lt;span class="sh_symbol"&gt;+&lt;/span&gt;&lt;span class="sh_variable"&gt;$j&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"$x&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;anotherfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_number"&gt;1&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;2&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;anotherfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;4&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;anotherfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_number"&gt;5&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;6&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;anotherfunction&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_number"&gt;7&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;8&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;function anotherfunction($i,$j)&lt;/code&gt;. &lt;code&gt;$i&lt;/code&gt; dan &lt;code&gt;$j&lt;/code&gt; adalah variabel yang memiliki nilai 1 dan 2 ketika kita memanggil fungsi&amp;nbsp; &lt;code&gt;anotherfunction(1,2)&lt;/code&gt; Jika kita memiliki fungsi:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;function add($i,$j) {&lt;br /&gt;...&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Dan anda memanggil fungsi tersebut dengan &lt;code&gt;add(1,2); &lt;/code&gt;maka nilai &lt;code&gt;$i&lt;/code&gt; didalam fungsi tersebut adalah 1 dan nilai &lt;code&gt;$j&lt;/code&gt; adalah 2. &lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Jika anda memiliki fungsi:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;function substract($i,$j,$k) {&lt;br /&gt;...&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Dan anda memanggil fungsi &lt;code&gt;substract(5,6,8);&lt;/code&gt; maka nilai &lt;code&gt;$i&lt;/code&gt; = 5, &lt;code&gt;$j&lt;/code&gt; = 6 dan &lt;code&gt;$k&lt;/code&gt; = 8. Sekarang jika anda memanggil fungsi seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;$x=10;&lt;br /&gt;substract(8,9,$x);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;maka &lt;code&gt;$i=8&lt;/code&gt;, &lt;code&gt;$j=9&lt;/code&gt; dan &lt;code&gt;$k=10&lt;/code&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Bagaimana? sebelum anda lanjut akan lebih baik jika anda pahami betul mengenai fungsi, karena semakin besar kode PHP yang anda buat maka semakin banyak fungsi yang akan anda gunakan. Anda bisa saja membuat kode PHP tanpa fungsi, tetapi seperti yang saya bilang dengan fungsi anda bisa menghemat penulisan kode yang berulang-ulang.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Forms&lt;/h4&gt;&lt;div class="content"&gt;Didalam dunia World Wide Web, form HTML merupakan tempat dimana kita bisa mengirimkan informasi dari pengguna ke server. PHP didesain agar dapat bekerja dan menerima informasi dari form HTML. Oke sekarang cobalah kode berikut ini dan simpan dengan nama form.php:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt; &lt;span class="sh_variable"&gt;action&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"result.php"&lt;/span&gt; &lt;span class="sh_variable"&gt;method&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"POST"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;Name&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"text"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myname"&lt;/span&gt; &lt;span class="sh_variable"&gt;size&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"20"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;br&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;Address&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"text"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myaddress"&lt;/span&gt; &lt;span class="sh_variable"&gt;size&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"40"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;br&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;value&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Send"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Sekarang tuliskan kode dibawah ini dan simpan dengan nama result.php:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Selamat Datang, $myname.&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Alamat anda adalah $myaddress"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Jika anda buka result.php maka isi dari variabel &lt;code&gt;$myname&lt;/code&gt; dan &lt;code&gt;$myaddress&lt;/code&gt; kosong, karena memang belum anda deklarasikan isinya. Tetapi jika anda membuka file&amp;nbsp; form.php terdapat text field dengan nama "myname" dan "myaddress". Nah nama textfield ini akan menjadi nama variabel apabila kita mengirimkannya ke PHP. Buka form.php dan coba anda isi text nama dan alamat. Ketika tombol diklik maka variabel tersebut akan dikirim ke file post.php. Dan file post.php akan menerimanya dan menampilkannya.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Anda dapat mengirim nilai variabel tersebut ke file itu sendiri. Metode ini biasanya yang paling sering digunakan. Untuk mengirim variabel ke file dirinya sendiri ubah saja form action ke &lt;code&gt;&lt;/code&gt;. Cobalah kode dibawah ini dan simpan dengan nama self.php:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_function"&gt;If &lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$ok&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Selamat Datang, $myname.&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Alamat anda adalah $myaddress&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt; &lt;span class="sh_variable"&gt;action&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;""&lt;/span&gt; &lt;span class="sh_variable"&gt;method&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"POST"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;Name&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"text"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myname"&lt;/span&gt; &lt;span class="sh_variable"&gt;size&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"20"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;br&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;Address&lt;/span&gt;&lt;span class="sh_symbol"&gt;:&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"text"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myaddress"&lt;/span&gt; &lt;span class="sh_variable"&gt;size&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"40"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;br&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"ok"&lt;/span&gt; &lt;span class="sh_variable"&gt;value&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Send"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;Beberapa fungsi built in PHP&lt;/h4&gt;&lt;div class="content"&gt;PHP memiliki buanyak fungsi didalamnya. Buanyak bukan banyak, karena memang sangat banyak. Anda dapat membaca semua fungsinya di manual PHP. Belum lagi class-class yang tersebar di internet. Dijamin anda akan menemukan apa yang anda butuhkan. Oke, kembali ke fungsi. Saya akan menerangkan 3 fungsi dalam PHP yaitu&lt;code&gt;date()&lt;/code&gt;,&lt;code&gt; strlen()&lt;/code&gt; dan &lt;code&gt;substr()&lt;/code&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Fungsi&lt;code&gt;date()&lt;/code&gt; digunakan untuk menampilkan tanggal dari server. Kita bisa mengatur hasil tampilan dari&lt;code&gt;date()&lt;/code&gt; sesuka hati kita. Inilah kode-kode yang digunakan untuk menampilkan format&lt;code&gt;date()&lt;/code&gt;:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table bgcolor="#000000" cellpadding="2" cellspacing="1" style="width: 500px;"&gt; &lt;tbody&gt;&lt;tr&gt;  &lt;td bgcolor="#f4f4ff"&gt;  &lt;strong&gt;Format&lt;/strong&gt;&lt;/td&gt;  &lt;td bgcolor="#f4f4ff"&gt;  &lt;strong&gt;Deskripsi&lt;/strong&gt;&lt;/td&gt;  &lt;td bgcolor="#f4f4ff"&gt;  &lt;strong&gt;Hasil&lt;/strong&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  a&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  'am' atau 'pm' huruf kecil&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  pm&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  A&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  'AM' atau 'PM' huruf besar&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  PM&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  d&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Tanggal (dengan angka diawali dengan 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  20&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  D&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Hari (3 huruf)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Thu&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;F&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;Bulan&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;January&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Jam (format 12 jam - diawali dengan 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  03&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  H&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Jam (format 24 jam - diawali dengan 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  20&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  g&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Jam (format 12 jam - tanpa 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  3&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  G&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Jam (format 24 jam - tanpa 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  20&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  i&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Menit&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  47&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  j&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Tanggal (tanpa 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  3&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  1&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Hari&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Thursday&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  L&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Melompati tahun ('1' untuk ya, '0' untuk no)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  1&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  m&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Bulan (angka - diawali dengan 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  01&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  M&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Bulan (3 huruf)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Jan&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  n&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Bulan (angka - tanpa 0)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  1&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  s&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Detik&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  24&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  U&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Time stamp&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  1142743213&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  y&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Tahun (2 digit)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  06&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  Y&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Tahun (4 digit)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  2006&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  z&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Jumlah hari dalam setahun (0-365)&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  19&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;  &lt;td bgcolor="#ffffff"&gt;  Z&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  Waktu dari GMT&lt;/td&gt;  &lt;td bgcolor="#ffffff"&gt;  0&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="content"&gt;Contoh:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"Today is "&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_function"&gt;date&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"j of F Y, \a\\t g.i a"&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Today is 11 of October 2007, at 11.42 am&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Bagaimana? mudah bukan untuk menampilkan tanggal pada PHP, sekarang kita pelajari &lt;code&gt;strlen()&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;strlen()&lt;/code&gt; digunakan untuk mengetahu panjang dari string atau jumlah karakter dalam string. &lt;code&gt;strlen()&lt;/code&gt; memerlukan masukan berupa string dan akan mengembalikan nilai yang merupakan jumlah karakter dalam string tersebut.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;substr()&lt;/code&gt; digunakan untuk memotong suatu string dengan menentukan posisi karakter awal dan jumlah karakter yang akan dipotong. Daripada bingung cobalah kode berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_variable"&gt;$text&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Computer"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_function"&gt;strlen&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"$text"&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_function"&gt;substr&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"$text"&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_string"&gt;"&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;print&lt;/span&gt; &lt;span class="sh_function"&gt;substr&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"$text"&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt;&lt;span class="sh_number"&gt;3&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Hasil:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;8&lt;br /&gt;puter&lt;br /&gt;put&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Bagaimana? mudah kan. Semua yang telah anda baca, mulai dari menginstall hingga bagian ini merupakan dasar-dasar dari PHP dan masih banyak lagi yang harus dipelajari. Tetapi karena anda telah mengetahui dasarnya, maka tidak akan terlalu sulit apabila anda ingin mempelajari PHP lebih dalam lagi.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-4462148418004396732?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/4462148418004396732/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/belajar-php-dari-menginstall-php-hingga.html#comment-form' title='1 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4462148418004396732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4462148418004396732'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/belajar-php-dari-menginstall-php-hingga.html' title='Belajar PHP dari menginstall PHP hingga mempelajari fungsi-fungsi dasar PHP'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-4954778724775336725</id><published>2009-12-27T08:28:00.001-08:00</published><updated>2009-12-27T08:34:57.296-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Belajar XHTML dan Web Standards serta mengenali seluk beluknya</title><content type='html'>&lt;strong&gt;Web Standards&lt;/strong&gt; merupakan sebuahstandard dalam menyusun kode-kode HTML yang baik dan terstruktur.Kebanyakan website yang ada saat ini disusun dengan kode HTML yangtidak terstruktur, hancur dan berantakan. Karena itu &lt;a href="http://www.w3.org/"&gt;World Wide Web Consortium&lt;/a&gt; (W3C) dengan semangat membara ingin menyuruhpara pembuat website diseluruh dunia untuk menstandardkan websitenya.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;    &lt;br /&gt;&lt;h4&gt;XML&lt;/h4&gt;&lt;div class="content"&gt;Anda tentu sudah tau tentang XML, yang merupakan bahasa markup sepertihalnya HTML. Hanya saja XML lebih terstruktur penggunaannya, salahsedikit saja maka aplikasi-aplikasi yang dapat membaca XML akan gagalmembaca file XML anda. Perbedaan antara XML dan HTML adalah: HTMLdidesain untuk &lt;strong&gt;menampilkan data&lt;/strong&gt; sedangkan XML didesain untuk &lt;strong&gt;mendeskripsikan data&lt;/strong&gt;.&lt;br /&gt;&lt;/div&gt;Karena itu W3C mengeluarkan standard baru yang menggabungkan kekuatan HTML dan XML menjadi satu yaitu &lt;strong&gt;XHTML&lt;/strong&gt;.Karena XHTML merupakan XML, maka XHTML bisa dibaca oleh semua alat yangmampu membaca XML. Dan karena XHTML juga merupakan HTML makabrowser-browser kuno juga mampu membacanya.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Kenapa sih harus standard?&lt;/h4&gt;&lt;div class="content"&gt;Ini pertanyaan yang sering ditanyakan oleh orang-orang, kenapa websitekita harus standard? Oke, jika kita menggunakan browser seperti IE,Firefox dan browser lainnya dikomputer tidak akan masalah walaupun kodeHTML kita berantakan karena browser-browser tersebut cukup canggih danmampu membaca kode HTML sekacau apapun. Tapi bagaimana denganorang-orang yang masih menggunakan browser text seperti Linx? atauorang buta yang menggunakan browser Webbie atau screen reader untukmembaca website anda? Atau bagaimana dengan orang-orang yang mengakseswebsite anda melalui Handphone, PDA atau gadget-gadget kecil lainnya.Dengan membuat website anda menjadi standard maka website anda dapatdibaca oleh semua media&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Dengan bantuan CSS (Cascading Stylesheet) makatampilan XHTML anda bisa dipercantik tanpa harus mengubah kode XHTMLanda. Jadi gabungan XHTML dan CSS akan menghasilkan website maut yangkompatibel disemua media.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Satu lagi keunggulan web standard. Karena kode XHTMLanda terstruktur dan tidak terlalu banyak kode (karena layout dantampilan diatur oleh CSS) maka Search Engine dapat lebih mudahmengindeks website anda. Website anda akan lebih mudah masuk SearchEngine.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Jadi? jika anda ingin beralih ke XHTML teruskan membaca, tetapi jikaanda pikir ini hanya omong kosong silahkan saja klik tanda silangdikanan atas browser anda. Pilihan ada ditangan Anda :)&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Deklarasikan bahwa file anda XHTML&lt;/h4&gt;&lt;div class="content"&gt;Mungkin anda akan bertanya-tanya, berarti sayasimpan filenya dengan nama index.xhtml? tidak perlu, anda gunakan sajaindex.html atau index.php atau lainnya. Yang penting disini adalah kitamendeklarasikan bahwa dokumen kita adalah dokumen XHTML. XHTML sendirisaat ini sudah ada 3 versi, yaitu XHTML 1.0, XHTML 1.1 dan XHTML 2.0(dalam pengembangan). Apabila anda masih beralih dari HTML ke XHTMLgunakan saja XHTML 1.0, karena XHTML 1.1 sudah banyak perubahan apalagiyang XHTML 2.0.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;XHTML 1.0 sendiri dibagi menjadi 3 tipe dokumen yaitu:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;STRICT. Puncaknya standard, gunakan ini apabila andabenar-benar menginginkan kode yang benar-benar terstruktur. Beberapatag sudah dihilangkan disini seperti &lt;code&gt;&lt;iframe&gt;&amp;lt;/code&amp;gt;. Anda harus mengkombinasikan antara XHTML dan CSS&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;TRANSITIONAL. Gunakan ini apabila anda ingin tampilan ditampilkan didalam file XHTML tidak di CSS&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;FRAMESET. Gunakan yang ini, jika anda ngotot ingin menggunakan frames&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;p class="content"&amp;gt;Saya akan menerangkan perbedaan ketiganya di artikel lainnya. Sekarang seperti apa deklarasi ketiganya? lihat contoh dibawah:&amp;lt;/p&amp;gt;&amp;lt;p class="content"&amp;gt;&amp;lt;strong&amp;gt;XHTML 1.0 STRICT&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;lt;!DOCTYPE&amp;lt;/span&amp;gt; html&amp;lt;br&amp;gt;PUBLIC &amp;lt;span class="sh_string"&amp;gt;"-//W3C//DTD XHTML 1.0 Strict//EN"&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;&amp;lt;strong&amp;gt;XHTML 1.0 TRANSITIONAL&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;lt;!DOCTYPE&amp;lt;/span&amp;gt; html&amp;lt;br&amp;gt;PUBLIC &amp;lt;span class="sh_string"&amp;gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;&amp;lt;strong&amp;gt;XHTML 1.0 FRAMESET&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;lt;!DOCTYPE&amp;lt;/span&amp;gt; html&amp;lt;br&amp;gt;PUBLIC &amp;lt;span class="sh_string"&amp;gt;"-//W3C//DTD XHTML 1.0 Frameset//EN"&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Kode XHTML selengkapnya adalah:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;lt;!DOCTYPE&amp;lt;/span&amp;gt; html&amp;lt;br&amp;gt;PUBLIC &amp;lt;span class="sh_string"&amp;gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_preproc"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;html&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/span&amp;gt;Judul Halaman Web&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/span&amp;gt;Isi halaman Web&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/html&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;h4&amp;gt;Seperti apa sih kode XHTML?&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Banyak sekali perbedaan antara kode HTML dan XHTML, yang pertama tentusaja diatas kode anda harus dideklarasikan apakah kode anda XHTMLFrameset, Transitional atau Strict. Anda sudah melihat contohnyadiatas. Kemudian apa lagi? masih banyak yang harus diingat. Mari kitabahas satu persatu.&amp;lt;/p&amp;gt;&amp;lt;h4&amp;gt;Gunakan selalu huruf kecil (lowercase)&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Ahh, kebiasaan kita dalam membuat HTML, hurufnyagede-gede bahkan kadang-kadang campur aduk nggak karuan. Perhatikancontoh HTML yang keliru dibawah ini:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;table&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;WIDTH&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"100%"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;/span&amp;gt;Contoh Teks&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Jika anda perhatikan pada dicontoh diatas, tag ataupun atribut ada yangmenggunakan huruf kapital (uppercase). Didalam XHTML kode seperti itusalah, anda harus selalu menggunakan huruf kecil. Karena itu biasakanmenggunakan huruf kecil dalam membuat tag html. Walaupun toh hasilnyadibrowser sama saja, tetapi web anda menjadi tidak standard. Ini contohXHTML yang benar:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;table&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;width&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"100%"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/span&amp;gt;Contoh Teks&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;h4&amp;gt;Semua tag harus terstruktur dengan baik&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Setiap tag yang dibuka harus ditutup dan harus terstruktur dengan baik dan benar. Perhatikan contoh yang salah ini:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/span&amp;gt;Ini Contoh Text&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Oke anda tau kesalahannya? ya &amp;lt;code&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/code&amp;gt; yang dibuka didalam &amp;lt;code&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/code&amp;gt; tetapi malah yang ditutup &amp;lt;code&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/code&amp;gt; duluan. Yang benar adalah:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/span&amp;gt;Ini Contoh Text&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Contoh lagi yang salah:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/span&amp;gt;Paragraf 1 &amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/span&amp;gt;Paragraf 2&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Apa kesalahannya? ya, &amp;lt;code&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/code&amp;gt; tidak ditutup. Ini yang benar:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/span&amp;gt;Paragraf 1&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/span&amp;gt;Paragraf 2&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;h4&amp;gt;Standalone Tag yang benar&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Jika kita biasanya menulis &amp;lt;code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; maka didalam XHTML yang benar adalah &amp;lt;code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/code&amp;gt;. Demikian juga dengan &amp;lt;code&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;/code&amp;gt; yang benar &amp;lt;code&amp;gt;&amp;lt;hr /&amp;gt;&amp;lt;/code&amp;gt;. Ada lagi tag yaitu &amp;lt;code&amp;gt;&amp;lt;img&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/code&amp;gt; yang benar adalah &amp;lt;code&amp;gt;&amp;lt;img /&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;input /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;h4&amp;gt;Jangan lupa tanda petik untuk atribut&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Kebiasaan buruk lainnya adalah tidak memberikan tanda petik untuk atribut. Perhatikan contoh berikut ini:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;table&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;width&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_type"&amp;gt;100%&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;cellpadding&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_type"&amp;gt;2&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;cellspacing&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_type"&amp;gt;3&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/span&amp;gt;Contoh Teks&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Seharusnya yang benar adalah:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;table&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;width&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"100%"&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;cellpadding&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"2"&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;cellspacing&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"3"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/span&amp;gt;Contoh Teks&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;h4&amp;gt;Menyingkat atribut = Salah!!&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Anda pernah menyingkat atribut? mungkin anda tidak menyadarinya, coba perhatikan contoh berikut:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;input&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;type&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"radio"&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;checked&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;input&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;type&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"text"&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;readonly&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class="content"&amp;gt;Jadi bagaimana yang benar? mudah, perhatikan contoh yang benar:&amp;lt;/p&amp;gt;&amp;lt;div class="boxcode"&amp;gt;&amp;lt;pre class="sh_html sh_sourceCode"&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;input&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;type&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"radio"&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;checked&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"checked"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;lt;input&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;type&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"text"&amp;lt;/span&amp;gt; &amp;lt;span class="sh_type"&amp;gt;readonly&amp;lt;/span&amp;gt;&amp;lt;span class="sh_symbol"&amp;gt;=&amp;lt;/span&amp;gt;&amp;lt;span class="sh_string"&amp;gt;"readonly"&amp;lt;/span&amp;gt;&amp;lt;span class="sh_keyword"&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;h4&amp;gt;Valid kah kode XHTML anda?&amp;lt;/h4&amp;gt;&amp;lt;p class="content"&amp;gt;Jika anda sudah mengubah semua kode HTML menjadiXHTML, sekarang saatnya anda untuk mengetes apakah kode XHTML andavalid, bagaimana caranya? Kunjungi saja &amp;lt;a href="http://validator.w3.org/"&amp;gt;http://validator.w3.org&amp;lt;/a&amp;gt;yang merupakan validator resmi dari W3C. Jika tidak terdapat errordalam website anda, selamat website anda sudah standard, dan andabenar-benar memperhatikan website anda dan pengunjung website anda.&amp;lt;/p&amp;gt;&amp;lt;h4&amp;gt;&amp;amp;nbsp;&amp;lt;/h4&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;/iframe&gt;&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-4954778724775336725?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/4954778724775336725/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/belajar-xhtml-dan-web-standards-serta.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4954778724775336725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4954778724775336725'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/belajar-xhtml-dan-web-standards-serta.html' title='Belajar XHTML dan Web Standards serta mengenali seluk beluknya'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-4759952452034764141</id><published>2009-12-27T08:25:00.001-08:00</published><updated>2009-12-27T08:34:57.301-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Upload file ke server dengan menggunakan PHP</title><content type='html'>&lt;div class="content"&gt;Kali ini saya akan membahas tentang upload file menggunakan PHP. Tentumenyenangkan jika pengguna website anda dapat melakukan upload gambar,dokumen atau video kedalam website anda. Artikel ini akan menerangkancara mengupload file keserver anda dengan PHP.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;PHP membuat semuanya menjadi lebih mudahdalam menangani upload file. Untuk membuat form upload pastikan kitamenyertakan atribut &lt;code&gt;enctype="multipart/form-data"&lt;/code&gt; dan pastikan methodnya adlaha &lt;code&gt;post&lt;/code&gt;. Oke langsung saja kita lihat ko&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="content"&gt;de HTML berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt; &lt;span class="sh_variable"&gt;method&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"post"&lt;/span&gt; &lt;span class="sh_variable"&gt;action&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;""&lt;/span&gt; &lt;span class="sh_variable"&gt;enctype&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"multipart/form-data"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"file"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myfile"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;value&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"Submit"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Seperti yang kita lihat, kita me,mberi nama padafield upload kita "myfile". Nama ini sangat penting, karena ketika filetelah diupload maka file tersebut otomatis diberi nama yang unik dandisimpan di temporary direktori. Tentu saja url path ke filenya bisadiakses, karena otomatis akan muncul variabel global yang memiliki namayang sama dengan field upload kita, dalam hal ini &lt;code&gt;myfile&lt;/code&gt;. Akan ada 4 variabel baru yang semuanya diawali dengan &lt;code&gt;myfile&lt;/code&gt; dan diikuti dengan garis bawah (underscore), yaitu:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;$myfile&lt;/strong&gt;. Variabel ini berisi informasi lokasi file di server.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;$myfile_name&lt;/strong&gt;. Nama file asli ketika masih dikomputer klien.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;$myfile_size&lt;/strong&gt;. Ukuran dari file (dalam satuan bytes).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;$myfile_type&lt;/strong&gt;. Tipe file.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Upload sederhana&lt;/h4&gt;&lt;div class="content"&gt;Langsung saja kita coba &lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;contoh upload berikut ini, simpan dengan nama upload.php:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;title&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sh_variable"&gt;Upload&lt;/span&gt; &lt;span class="sh_variable"&gt;file&lt;/span&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;title&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_keyword"&gt;isset&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$upload&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Lokasi File: $myfile&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Nama File: $myfile_name&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Ukuran: $myfile_size bytes&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Tipe File: $myfile_type&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_function"&gt;copy &lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$myfile&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt; &lt;span class="sh_string"&gt;"$myfile_name"&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_keyword"&gt;or&lt;/span&gt; &lt;span class="sh_keyword"&gt;die&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"Gagal mengupload"&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt; &lt;span class="sh_variable"&gt;enctype&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"multipart/form-data"&lt;/span&gt; &lt;span class="sh_variable"&gt;action&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;""&lt;/span&gt; &lt;span class="sh_variable"&gt;method&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"post"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"file"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myfile"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;br&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;value&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"upload"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"upload"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Ketika tombol upload ditekan, maka url path file tersebut akan disimpan di variabel &lt;code&gt;$myfile&lt;/code&gt; dan kita tampilkan dibrowser. Kita juga menampilkan nama file yang tersimpan pada variabel &lt;code&gt;$myfile_name&lt;/code&gt;, ukuran file di variabel &lt;code&gt;$myfile_size&lt;/code&gt; dan tipe file di variabel &lt;code&gt;$myfile_type&lt;/code&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Kita menggunakan fungsi &lt;code&gt;copy()&lt;/code&gt; untuk memindahkan file dari komputer kita direktori sementara di server kita. Fungsi &lt;code&gt;copy()&lt;/code&gt;membutuhkan dua argumen yaitu lokasi awal file dan lokasi barudiserver. Jika kita ingin mengupload nya ke suatu folder diserver(katakanlah kita simpan difolder images) maka kita perlu mengubahnyamenjadi: &lt;code&gt;copy ( $myfile, "images/$myfile_name")&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Upload yang lebih kompleks&lt;/h4&gt;&lt;div class="content"&gt;Sekarang mari kita coba membuat fungsi upload yang jauh lebih rumit.Misalkan kita ingin membuat fungsi upload dimana file yang diuploadharus file jpg, dan ukurannya tidak boleh lebih besar dari 100Kb sertapanjang dan lebar gambar tidak boleh lebih dari 100 piksel.Kelihatannya rumit kan? Mari kita coba kode berikut dan simpan dengannama upload2.php:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_PHP sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;title&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sh_variable"&gt;Upload&lt;/span&gt; &lt;span class="sh_variable"&gt;file&lt;/span&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;title&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;head&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_keyword"&gt;isset&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$upload&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt; &lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Lokasi File: $myfile&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Nama File: $myfile_name&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Ukuran: $myfile_size bytes&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Tipe File: $myfile_type&lt;br /&gt;"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$myfile_type&lt;/span&gt; &lt;span class="sh_symbol"&gt;==&lt;/span&gt; &lt;span class="sh_string"&gt;"image/pjpeg"&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$myfile_size&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sh_number"&gt;102400&lt;/span&gt; &lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;list&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_variable"&gt;$width&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt; &lt;span class="sh_variable"&gt;$height&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_symbol"&gt;=&lt;/span&gt; @&lt;span class="sh_function"&gt;getimagesize&lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"$myfile"&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;if&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$width&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sh_number"&gt;100&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="sh_variable"&gt;$height&lt;/span&gt; &lt;span class="sh_symbol"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sh_number"&gt;100&lt;/span&gt; &lt;br /&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_function"&gt;copy &lt;/span&gt;&lt;span class="sh_symbol"&gt;(&lt;/span&gt; &lt;span class="sh_variable"&gt;$myfile&lt;/span&gt;&lt;span class="sh_symbol"&gt;,&lt;/span&gt; &lt;br /&gt;&lt;span class="sh_string"&gt;"$myfile_name"&lt;/span&gt;&lt;span class="sh_symbol"&gt;)&lt;/span&gt; &lt;span class="sh_keyword"&gt;or&lt;/span&gt; &lt;span class="sh_keyword"&gt;die&lt;/span&gt; &lt;span class="sh_symbol"&gt;(&lt;/span&gt;&lt;span class="sh_string"&gt;"Couldn't copy"&lt;/span&gt;&lt;span class="sh_symbol"&gt;);&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"File anda telah sukses diupload"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Ukuran panjang dan lebar gambar terlalu besar"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"Ukuran file tidak boleh lebih dari 100Kb"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;span class="sh_keyword"&gt;else&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="sh_keyword"&gt;echo&lt;/span&gt; &lt;span class="sh_string"&gt;"File harus JPG!!"&lt;/span&gt;&lt;span class="sh_symbol"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt; &lt;span class="sh_variable"&gt;enctype&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"multipart/form-data"&lt;/span&gt; &lt;span class="sh_variable"&gt;action&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;""&lt;/span&gt; &lt;span class="sh_variable"&gt;method&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"post"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"file"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"myfile"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;br&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sh_variable"&gt;input&lt;/span&gt; &lt;span class="sh_variable"&gt;type&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"submit"&lt;/span&gt; &lt;span class="sh_variable"&gt;value&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"upload"&lt;/span&gt; &lt;span class="sh_variable"&gt;name&lt;/span&gt;&lt;span class="sh_symbol"&gt;=&lt;/span&gt;&lt;span class="sh_string"&gt;"upload"&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;form&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;body&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_symbol"&gt;&lt;!--&lt;/span--&gt;&lt;span class="sh_variable"&gt;html&lt;/span&gt;&lt;span class="sh_symbol"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="sh_PHP sh_sourceCode"&gt;&lt;span class="sh_symbol"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;Pertama-tama yang kita lakukan adalah mengecek apakah file kita jpg dengan cara mengecek &lt;code&gt;$myfile_type&lt;/code&gt;. Jika hasil dari variabel &lt;code&gt;$myfile_type&lt;/code&gt;adalah "image/pjpeg", maka bisa dipastikan bahwa file kita adalah jpg.Berikutnya kita melakukan pengecekan apakah ukuran filenya tidak lebihbesar dari 100Kb dengan mengecek variabel &lt;code&gt;$myfile_size&lt;/code&gt;. Ingat bahwa 100Kb = 102400Bytes(Rumusnya 1Kb=1024Bytes). Kemudian kita menggunakan fungsi &lt;code&gt;getimagesize()&lt;/code&gt; untuk menemukan panjang dan lebar dari gambar yang kita simpan dengan array menggunakan fungsi &lt;code&gt;list()&lt;/code&gt;.Kemudian kita cek panjang dan lebar dari gambar apakah tidak lebih dari100 piksel. Jika semuanya terpenuhi maka filenya tinggal kita copy.Cukup mudah kan? gampang... anda pasti bisa.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-4759952452034764141?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/4759952452034764141/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/upload-file-ke-server-dengan.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4759952452034764141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4759952452034764141'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/upload-file-ke-server-dengan.html' title='Upload file ke server dengan menggunakan PHP'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-5974159789971672250</id><published>2009-12-27T08:23:00.001-08:00</published><updated>2009-12-27T08:34:57.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>7 Rahasia CSS yang (mungkin) belum anda ketahui dan wajib diketahui</title><content type='html'>&lt;div class="content"&gt;CSS pasti sudah menjadi hal yang wajib dipelajari jika anda inginmembuat website. Meneruskan artikel saya yang lalu tentang dasar-dasarCSS, sekarang saya akan memberitahu &lt;strong&gt;rahasia CSS&lt;/strong&gt;yang mungkin belum anda ketahui dan wajib diketahui, karena dapatmemperkecil ukuran file CSS anda. Inilah dia rahasia CSS yang (mungkin)belum anda ketahui:&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;1. Memasang 2 class pada 1 tag HTML&lt;/h4&gt;&lt;div class="content"&gt;Hei, apa anda tau bahwa kita bisa memasang &lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;2 classuntuk satu tag HTML? Jawabannya bisa.. Jika kita biasanya hanya membuatkode seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Maka jika kita ingin bahwa &lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;mengikuti dua aturan class yang berbeda maka kita cukup mengubahnya menjadi:&lt;br /&gt;&lt;div class="content"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content isi"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Jadi jika anda memiliki class &lt;code&gt;content&lt;/code&gt; dan &lt;code&gt;isi&lt;/code&gt; maka kedua aturan pada class tersebut akan dimasukkan kedalam &lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;. Ingat hanya 2 tidak bisa lebih d&lt;br /&gt;&lt;div class="content"&gt;an dipisahkan dengan spasi.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;2. Hilangkan px untuk nilai 0&lt;/h4&gt;&lt;div class="content"&gt;Oke, katakanlah anda memiliki kode CSS seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;border-top:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-left:&lt;/span&gt;&lt;span class="sh_value"&gt;0px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding:&lt;/span&gt;&lt;span class="sh_value"&gt;0px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;px disini berarti satuannya pixel dan kita harusmenuliskannya, tetapi ternyata ada pengecualian untuk angka 0 (angka 0saja) jadi kita bisa menuliskannya seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;border-top:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-left:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Ya, angka 0 tidak perlu menggunakan px, ini berar&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;ti kita memperkecil sedikit ukuran file CSS kita :)&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;3. Gunakanlah selalu shorthand&lt;/h4&gt;&lt;div class="content"&gt;Apa sih shorthand? Shorthand merupakan aturan di CSS untuk menyingkat kode CSS anda. &lt;code&gt;margin&lt;/code&gt;, dan &lt;code&gt;padding&lt;/code&gt; merupakan contoh yang bisa kita singkat. Perhatikan contoh CSS berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;border-top:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-left:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-right:&lt;/span&gt;&lt;span class="sh_value"&gt;20px&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_property"&gt;border-bottom:&lt;/span&gt;&lt;span class="sh_value"&gt;15px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-top:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-bottom:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-left:&lt;/span&gt;&lt;span class="sh_value"&gt;12px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-right:&lt;/span&gt;&lt;span class="sh_value"&gt;9px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Dapat anda singkat menjadi:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;border:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt; &lt;span class="sh_value"&gt;20px&lt;/span&gt; &lt;span class="sh_value"&gt;15px&lt;/span&gt; &lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt; &lt;span class="sh_value"&gt;9px&lt;/span&gt; &lt;span class="sh_value"&gt;10px&lt;/span&gt; &lt;span class="sh_value"&gt;12px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Lihat berapa banyak yang bisa kita hemat :) yangpaling penting adalah urutannya dari kiri ke kanan dimulai dari posisiatas kemudian bergerak searah jarum jam.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;4. Shorthand pada warna&lt;/h4&gt;&lt;div class="content"&gt;Yap, warna pun bisa kita singkat, jika kita memiliki wa&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;rna putih maka kita menggunakan &lt;code&gt;#ffffff&lt;/code&gt; bisa disingkat menjadi &lt;code&gt;#fff&lt;/code&gt;. Demikian juga jika kita memiliki warna &lt;code&gt;#111111&lt;/code&gt; menjadi &lt;code&gt;#111&lt;/code&gt;. Tapi kita tidak bisa menyingkat warna &lt;code&gt;#abcdef&lt;/code&gt;. Harus warna yang memiliki angka hexa yang sama.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;5. Shorthand pada font&lt;/h4&gt;&lt;div class="content"&gt;Siapa bilang font tidak bisa disingkat? Jika anda memiliki &lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;kode seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;font-style:&lt;/span&gt; &lt;span class="sh_value"&gt;italic&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;font-weight:&lt;/span&gt; &lt;span class="sh_value"&gt;bold&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;font-variant:&lt;/span&gt; &lt;span class="sh_value"&gt;small-caps&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;font-size:&lt;/span&gt; &lt;span class="sh_value"&gt;1em&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;line-height:&lt;/span&gt; &lt;span class="sh_value"&gt;1.5em&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;font-family:&lt;/span&gt; &lt;span class="sh_value"&gt;verdana&lt;/span&gt;,&lt;span class="sh_value"&gt;sans-serif&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Dapat anda singkat menjadi 1 baris: &lt;code&gt;font: bold itali&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;code&gt;c small-caps 1em/1.5em verdana,sans-serif&lt;/code&gt;&lt;br /&gt;Perlu diingat bahwa untuk menyingkat font anda wajib mengatur &lt;code&gt;font-size&lt;/code&gt; dan &lt;code&gt;font-family&lt;/code&gt; yang diletakkan paling akhir. Untuk yang lainnya tidak wajib ada.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;6. Menyingkat yang sudah disingkat&lt;/h4&gt;&lt;div class="content"&gt;Kita bisa menyingkat yang sudah disingkat. Sudahsingkat tapi masih bisa disingkat lagi? Nggak masuk akal.. Bisa.Perhatikan contoh berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_property"&gt;border-top:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-left:&lt;/span&gt;&lt;span class="sh_value"&gt;20px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-right:&lt;/span&gt;&lt;span class="sh_value"&gt;20px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;border-bottom:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-top:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-bottom:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-left:&lt;/span&gt;&lt;span class="sh_value"&gt;15px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding-right:&lt;/span&gt;&lt;span class="sh_value"&gt;15px&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Oke, jika kode diatas disingkat maka hasilnya seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;border:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt; &lt;span class="sh_value"&gt;20px&lt;/span&gt; &lt;span class="sh_value"&gt;10px&lt;/span&gt; &lt;span class="sh_value"&gt;20px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;padding:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt; &lt;span class="sh_value"&gt;15px&lt;/span&gt; &lt;span class="sh_value"&gt;0&lt;/span&gt; &lt;span class="sh_value"&gt;15px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Dan karena nilai atas dan bawah serta kiri dan kanan nya sama. Maka bisa disingkat lagi menjadi:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;.box&lt;/span&gt; &lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;border:&lt;/span&gt;&lt;span class="sh_value"&gt;10px&lt;/span&gt; &lt;span class="sh_value"&gt;20px&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_property"&gt;padding:&lt;/span&gt;&lt;span class="sh_value"&gt;0&lt;/span&gt; &lt;span class="sh_value"&gt;15px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Sip kan.. Ingat ini hanya berlaku jika nilai atas dan bawah serta kiri dan kanan sama.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;7. Menengahkan objek&lt;/h4&gt;&lt;div class="content"&gt;Anda ingin menengahkan suatu objek, misal images atau div. Gampang gunakan sa&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;ja &lt;code&gt;auto&lt;/code&gt; pada &lt;code&gt;margin&lt;/code&gt;. Perhatikan contoh berikut ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;span class="sh_selector"&gt;#content&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="sh_property"&gt;width:&lt;/span&gt; &lt;span class="sh_value"&gt;600px&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_property"&gt;margin:&lt;/span&gt; &lt;span class="sh_value"&gt;0&lt;/span&gt; &lt;span class="sh_value"&gt;auto&lt;/span&gt;;&lt;br /&gt;&lt;span class="sh_cbracket"&gt;}&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;auto disini berarti kita membiarkan CSS mendeteksilebar kiri dan kanan secara otomatis berdasarkan lebar layar. Makaotomatis hasilnya akan ketengah. Tidak berlaku jika kita inginmenengahkan secara vertikal.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Bagaimana menarik bukan? itu baru sebagian kecil, dan masih banyak lagi rahasia dan trik CSS yang perlu diketahui.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-5974159789971672250?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/5974159789971672250/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/7-rahasia-css-yang-mungkin-belum-anda.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/5974159789971672250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/5974159789971672250'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/7-rahasia-css-yang-mungkin-belum-anda.html' title='7 Rahasia CSS yang (mungkin) belum anda ketahui dan wajib diketahui'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-7793285274484268630</id><published>2009-12-27T08:12:00.001-08:00</published><updated>2009-12-27T08:20:19.404-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Cara Meningkatkan Alexa Rank Website Anda</title><content type='html'>&lt;strong&gt;Alexa &lt;/strong&gt;adalah website yang menyediakan informasi mengenai &lt;strong&gt;traffic &lt;/strong&gt;suatu website.&lt;br /&gt;Alexa rank dapat dijadikan gambaran mengenai jumlah pengunjung yang mendatangi suatu blog yang terekam oleh &lt;em&gt;&lt;strong&gt;Alexa&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;Alexa Rank sangat penting bagi website kita karena ada beberapa website layanan iklan komersil/&lt;strong&gt;adsense &lt;/strong&gt;yang memberikan syarat ranking Alexa dalam batasan tertentu jika kita ingin menggunakan layanannya.&lt;br /&gt;Rangking &lt;em&gt;&lt;strong&gt;Trafiic &lt;/strong&gt;&lt;/em&gt;Alexa dihitung berdasar perhitungan tri wulan sejarah data &lt;strong&gt;traffic &lt;/strong&gt;yg dikumpulkan &lt;em&gt;&lt;strong&gt;Toolbar &lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;Alexa &lt;/strong&gt;pengguna.&lt;br /&gt;Data juga didapat dari sumber lain dan dikombinasikan dengan pageviewdan reach / kunjungan web asli pengunjung dan bukannya robot.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Berikut beberapa langkah untuk meningkatkan Alexa rank:&lt;br /&gt;&lt;strong&gt; 1. Memasang Alexa Rank Widget di sidebar anda&lt;/strong&gt;&lt;br /&gt;Kode Alexa dapat didownload di &lt;a href="http://www.alexa.com/site/devcorner" target="_blank" title="Alexa Rank"&gt;http://www.alexa.com/site/devcorner&lt;/a&gt;&lt;br /&gt;Pemasangan kode pada sidebar sama seperti pemasang&lt;br /&gt;an kode HTML pada umumnya.&lt;br /&gt;&lt;strong&gt;2. Memasang Plugin Alexa&lt;/strong&gt;&lt;br /&gt;Menginstall Alexa &lt;strong&gt;Toolbar&lt;/strong&gt;(&lt;a href="http://www.alexa.com/site/download/" target="_blank" title="Alexa Rank"&gt;http://www.alexa.com/site/download/&lt;/a&gt;).&lt;br /&gt;Setting alamat Website kita sebagai homepage utama dari browser yang kita gunakan.&lt;br /&gt;&lt;strong&gt;3. Menulis Artikel mengenai Alexa&lt;/strong&gt;&lt;br /&gt;Posting artikel bisa dalam bentuk materi tentang Alexa, tips-tips maupun hal lain seputar Alexa Rank.&lt;br /&gt;&lt;strong&gt;4. Tingkatkan Trafik Kunjungan&lt;/strong&gt;&lt;br /&gt;Cara paling bagus adalah membuat artikel yang berbobot.&lt;br /&gt;&lt;strong&gt;5. Bergabung dengan Forum atau Mailing List yang sesuai dengan Materi Website anda&lt;/strong&gt;&lt;br /&gt;Cara paling mudah untuk menarik minat seseorang untuk datang berkunjungadalah meninggalkan link website / blog pada bagian signature, disertaiketerangan singkat mengenai isinya.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-7793285274484268630?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/7793285274484268630/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/cara-meningkatkan-alexa-rank-website.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/7793285274484268630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/7793285274484268630'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/cara-meningkatkan-alexa-rank-website.html' title='Cara Meningkatkan Alexa Rank Website Anda'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-9193776728128511924</id><published>2009-12-27T08:08:00.001-08:00</published><updated>2009-12-27T08:20:19.409-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Memanfaatkan Unordered List untuk membuat menu horizontal, vertikal dan sitemap</title><content type='html'>&lt;div class="content"&gt;Anda tentu tidak asing lagi dengan tag HTML &lt;code&gt;&lt;/code&gt;dan &lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;ol&gt;. Ya kedua tag ini digunakan untuk membuat list / urutan. Dan dengan bantuan CSS kita dapat membuat tag &lt;code&gt;&lt;/code&gt;&lt;ul&gt; yang kita anggap remeh ini menjadi sesuatu yang &lt;/ul&gt;&lt;/ol&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ol&gt;&lt;ul&gt;wajib kita pakai dalam membuat website    &lt;h4&gt;Unordered List&lt;/h4&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ol&gt;&lt;ul&gt;&lt;div class="content"&gt;Oke, mari kita ingat terlebih dahulu mengenai list, jika anda memiliki kode seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_html sh_sourceCode"&gt;&lt;ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/pre&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;pre class="sh_html sh_sourceCode"&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;/li&gt;&lt;br /&gt;List 1&lt;br /&gt;&lt;li&gt;&lt;/li&gt;&lt;br /&gt;List 2&lt;br /&gt;  &lt;i&gt;&lt;/i&gt;&lt;i&gt;List 3&lt;br /&gt;&lt;/i&gt;&lt;/ul&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;i&gt;Maka hasilnya akan seperti ini:&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;List 1&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;List 2&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;List 3&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="content"&gt;&lt;i&gt;Oke anda sudah ingat?, sekarang apa saja yang bisa kita lakukan denganlist yang membosankan seperti itu? Banyak, dengan bantuan CSS kita bisamemanfaatkan list untuk membuat website kita menjadi lebih menarik.&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;i&gt;Yang perlu kita ingat bahwa unordered list selalu terdiri dari 2 tag, yaitu tag &lt;code&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;i&gt; dan &lt;code&gt;&lt;/code&gt;&lt;/i&gt;&lt;li&gt;&lt;i&gt;. Oke sekarang anda coba berikut ini dan simpan dengan nama menu.html:&lt;/i&gt;&lt;br /&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_html sh_sourceCode"&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;i&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt; href="#"&amp;gt;Home&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt; href="#"&amp;gt;Artikel&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt; href="#"&amp;gt;Kategori&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt; href="#"&amp;gt;Belajar List&lt;/a&gt;&lt;br /&gt;&lt;/i&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;i&gt;Maka hasilnya seperti ini:&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;&lt;a href="http://www.dhimasronggobramantyo.com/artikel/Memanfaatkan_Unordered_List_untuk_membuat_menu_horizontal,_vertikal_dan_sitemap#"&gt;Home&lt;/a&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;a href="http://www.dhimasronggobramantyo.com/artikel/Memanfaatkan_Unordered_List_untuk_membuat_menu_horizontal,_vertikal_dan_sitemap#"&gt;Artikel&lt;/a&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;a href="http://www.dhimasronggobramantyo.com/artikel/Memanfaatkan_Unordered_List_untuk_membuat_menu_horizontal,_vertikal_dan_sitemap#"&gt;Kategori&lt;/a&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;a href="http://www.dhimasronggobramantyo.com/artikel/Memanfaatkan_Unordered_List_untuk_membuat_menu_horizontal,_vertikal_dan_sitemap#"&gt;Belajar List&lt;/a&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;div class="content"&gt;&lt;i&gt;Kita akan menggunakan menu.html untuk semua contohdari awal sampai akhir dari artikel ini. Anda hanya perlu menggantikode CSS dengan contoh yang diberikan. Saya yakin anda sudah taubagaimana memasang CSS pada HTML. Jika belum mengerti, silahkan bacaartikel &lt;a href="http://www.dhimasronggobramantyo.com/artikel/Belajar_CSS,_bagaimana_CSS_dapat_merubah_tampilan_website"&gt;dasar-dasar CSS&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;&lt;i&gt;Membuat kotak mengelilingi menu&lt;/i&gt;&lt;/h4&gt;&lt;div class="content"&gt;&lt;i&gt;Pertama-tama kita akan coba membuat kotak yang mengelilingi menu kita.Karena kotak berada dibagian terluar dari menu, maka kita perlumengubah CSS untuk tag &lt;code&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;i&gt;. Cobalah kode CSS berikut ini:&lt;/i&gt;&lt;br /&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;ul { &lt;br /&gt; border: 1px solid #000;&lt;br /&gt; margin: 5px;&lt;br /&gt; width: 160px;&lt;br /&gt; padding: 5px;&lt;br /&gt;}&lt;/i&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/pre&gt;&lt;div class="content"&gt;&lt;i&gt;Jika anda lihat pada contoh diatas, menu nya telah dikelilingi olehkotak dengan garis berwarna hitam. Nah pada Firefox bullet nya masihterlihat dan pada IE 6 tidak terlihat. Untuk itu kita perlu menggeserpaddingnya kekanan agar terlihat sama dikedua browser tersebut.Sekarang ubahlah kode CSS nya menjadi:&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;ul { &lt;br /&gt; border: 1px solid #000;&lt;br /&gt; margin: 5px;&lt;br /&gt; width: 160px;&lt;br /&gt; padding: 5px 5px 5px 25px;&lt;br /&gt;}&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;i&gt;Oke, sekarang tampilannya telah sama. Berikutnya kita akan cobamengganti bullet (yang bentuknya lingkaran dan terlihat membosankan)dengan images. Silahkan simpan contoh images untuk bullet ini &lt;img alt="Contoh Bullet" height="10" src="http://www.dhimasronggobramantyo.com/contoh/bullet.gif" width="10" /&gt; untuk digunakan pada contoh berikut ini. Sekarang cobalah CSS berikut ini:&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;ul { &lt;br /&gt; border: 1px solid #000;&lt;br /&gt; margin: 5px;&lt;br /&gt; width: 160px;&lt;br /&gt; padding: 5px 5px 5px 25px;&lt;br /&gt; list-style-image: url(bullet.gif);&lt;br /&gt;}&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;i&gt;Tetapi jika anda tidak suka menggunakan images, anda dapat menggantinyadengan panah atau istilah kerennya "right double angle quote". KodeHexa untuk membuat panah adalah », dan karena kita menggunakanCSS maka kita tidak bisa menggunakan Hexa, kita harus menggunakan kodeASCII. Anda tidak perlu repot mencari kode ASCII untuk » / »saya akan memberitahukannya yaitu 00BB dan 0020 untuk spasi.&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;i&gt;Kita akan menggunakan CSS2 :&lt;code&gt;before&lt;/code&gt; pseudo-element, yang sayang sekali &lt;b&gt;tidak disupport oleh IE 6 kebawah&lt;/b&gt;. Oke sekarang ganti kode CSS nya menjadi seperti ini:&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;ul { &lt;br /&gt; border: 1px solid #000;&lt;br /&gt; margin: 5px;&lt;br /&gt; width: 160px;&lt;br /&gt; padding: 5px 5px 5px 25px;&lt;br /&gt; list-style: none;&lt;br /&gt;} &lt;br /&gt;li:before {&lt;br /&gt; content: "\00BB \0020";&lt;br /&gt;}&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;&lt;i&gt;Vertical Menu&lt;/i&gt;&lt;/h4&gt;&lt;div class="content"&gt;&lt;i&gt;Untuk membuat menu yang menarik kita perlu kreatif dalam membuat CSS untuk tag &lt;code&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt; dan &lt;code&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&lt;/a&gt;&lt;/code&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;. Silahkan anda coba kode CSS berikut ini:&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;ul { &lt;br /&gt;margin: 5px;&lt;br /&gt;width: 160px;&lt;br /&gt;padding: 5px 5px 5px 15px;&lt;br /&gt;list-style: none;&lt;br /&gt;} &lt;br /&gt;li a{&lt;br /&gt; display:block;&lt;br /&gt; color:#ff8d1b;&lt;br /&gt; text-decoration:none;&lt;br /&gt; border-bottom:1px dashed #ff7f00;&lt;br /&gt; padding:2px 2px 2px 5px;&lt;br /&gt; font-family:Georgia, garamond, serif;&lt;br /&gt;}&lt;br /&gt;li a:hover{&lt;br /&gt; display:block;&lt;br /&gt; color:#db6d00;&lt;br /&gt; text-decoration:none;&lt;br /&gt; border-bottom:1px dashed #ff7f00;&lt;br /&gt; background:#ffdfbf;&lt;br /&gt;}&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&amp;nbsp;&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Jika anda perhatikan tidak banyak perbedaan dari kode CSS sebelumnya. Hanya saja kita memberikan kode CSS untuk tag &lt;code&gt;&lt;/code&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;. Yang terpenting disini kita memberikan warna background yang berbeda untuk &lt;code&gt;li a&lt;/code&gt; dengan &lt;code&gt;li a:hover&lt;/code&gt;. Jangan lupa menambahkan &lt;code&gt;display:block;&lt;/code&gt; agar perubahan efek hover bisa terjadi ketika mouse berada didalam kotak bagian &lt;code&gt;li&lt;/code&gt;, tidak perlu harus mengenai teksnya.&lt;br /&gt;&amp;nbsp;&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;h4&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Horizontal Menu&lt;/a&gt;&lt;/i&gt;&lt;/h4&gt;&lt;div class="content"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Kita pun dapat membuat menu horizontal dengan mudah. Coba anda buat kode CSSnya seperti ini:&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;ul { &lt;br /&gt;margin: 0;&lt;br /&gt;padding:0;&lt;br /&gt;list-style: none;&lt;br /&gt;} &lt;br /&gt;li {&lt;br /&gt; display:inline;&lt;br /&gt;}&lt;br /&gt;li a{&lt;br /&gt; float:left;&lt;br /&gt; color:#ff8d1b;&lt;br /&gt; text-decoration:none;&lt;br /&gt; border-right:1px solid #ff7f00;&lt;br /&gt; border-bottom:1px solid #fff;&lt;br /&gt; border-top:1px solid #fff;&lt;br /&gt; padding:2px 10px 2px 10px;&lt;br /&gt; font-family:Georgia, garamond, serif;&lt;br /&gt;}&lt;br /&gt;li a:hover{&lt;br /&gt; float:left;&lt;br /&gt; color:#db6d00;&lt;br /&gt; text-decoration:none;&lt;br /&gt; border-bottom:1px solid #ff7f00;&lt;br /&gt; border-top:1px solid #ff7f00;&lt;br /&gt; background:#ffdfbf;&lt;br /&gt;}&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&amp;nbsp;&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;div class="content"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Oke, jadi yang perlu diingat disini adalah untuk menambahkan &lt;code&gt;float:left;&lt;/code&gt; pada tag &lt;code&gt;&lt;/code&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;. &lt;code&gt;float:left;&lt;/code&gt;berguna untuk membuat menunya menjadi menyamping (Horizontal). Karenakita membuat menu menyamping kita tidak perlu mengatur width untuk &lt;code&gt;&lt;/code&gt;&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;. Dan seperti biasa di IE 6 tampilannya tidak pas horizontal, karena itu perlu diperbaiki dengan memberikan &lt;code&gt;display:inline&lt;/code&gt; pada tag &lt;code&gt;&lt;/code&gt;&lt;/a&gt;&lt;/i&gt;&lt;li&gt;&lt;br /&gt;&lt;h4&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Sitemap&lt;/a&gt;&lt;/i&gt;&lt;/h4&gt;&lt;div class="content"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Sitemap berguna agar pengunjung mengetahui dimana ia berada sekarang.Dan tentu saja dapat memudahkan search engine untuk menemukan halamanwebsite anda yang lain. Jika anda ingin melihat contoh sitemap andasilahkan anda lihat diatas dibawah tulisan "Artikel CSS", itulah yangakan kita buat sekarang. Sekarang kita coba buat file sitemap.html danisilah dengan kode berikut ini:&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&amp;lt;&lt;/a&gt;&lt;/i&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;style type="text/css" media="all"&amp;gt;&lt;br /&gt;ul {&lt;br /&gt; margin-left: 0;&lt;br /&gt; padding-left: 0;&lt;br /&gt; display: inline;&lt;br /&gt; border: none;&lt;br /&gt; } &lt;br /&gt;ul li {&lt;br /&gt; margin-left: 0;&lt;br /&gt; padding-left: 2px;&lt;br /&gt; border: none;&lt;br /&gt; list-style: none;&lt;br /&gt; display: inline;&lt;br /&gt; }&lt;br /&gt;style&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt; &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Homea&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;» &amp;lt;a href="#"&amp;gt;Artikela&amp;gt;&lt;br /&gt;  &amp;lt;ul&amp;gt;&lt;br /&gt;   &amp;lt;li&amp;gt;» &amp;lt;a href="#"&amp;gt;CSSa&amp;gt;&lt;br /&gt;   &amp;lt;ul&amp;gt;&lt;br /&gt;    &amp;lt;li&amp;gt;» Membuat Menuli&amp;gt;&lt;br /&gt;   ul&amp;gt;li&amp;gt;&lt;br /&gt;  ul&amp;gt;li&amp;gt;&lt;br /&gt; ul&amp;gt;li&amp;gt;&lt;br /&gt;ul&amp;gt;&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;&amp;nbsp;&lt;/a&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre class="sh_css sh_sourceCode"&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;Prinsipnya sama saja dengan membuat horizontal menu, tapi disini kita&lt;br /&gt;memasukkan tag &lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt; didalam tag &lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;i&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6396189155406463002&amp;amp;postID=9193776728128511924"&gt;. Jadi kita membuat&lt;br /&gt;Unordered List bertingkat. Bagaimana? gampang kan? selamat mencoba...&lt;br /&gt;&amp;nbsp;&lt;/a&gt;&lt;/i&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/div&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-9193776728128511924?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/9193776728128511924/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/memanfaatkan-unordered-list-untuk.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/9193776728128511924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/9193776728128511924'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/memanfaatkan-unordered-list-untuk.html' title='Memanfaatkan Unordered List untuk membuat menu horizontal, vertikal dan sitemap'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-8980896759780158285</id><published>2009-12-27T08:05:00.001-08:00</published><updated>2009-12-27T08:20:19.418-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Mendesign Web</title><content type='html'>Sering kita temui website yang tipikal: “Welcome to my homepage,”animasi e-mail, background dengan tulisan miring (diagonal), animasigaris pembatas, tabel dengan border tiga-dimesi dan lain-lain. Hal initerjadi akibat dari fasilitas Template yang disediakan oleh softwarepembuat web seperti: FrontpageT, Corel WebDesignerT, dan sebagainyayang ditujukan untuk mempermudah penggunanya dalam membangun website.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Jika anda puas dengan hasil kerja anda membangun website denganfasilitas template, sudahlah cukup sampai disini. Tetapi jika andatidak puas dengan apa yang anda buat, dan anda merasa ingin lebih baik,maka anda perlu mengetahui bagaimana Web Designer membangun suatuWebsite, terlepas anda punya bakat seni atau tidak.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Unik&lt;/b&gt; : Dalam membuat karyaapapun seorang designer mempunyai kesadaran untuk tidak meniru ataumenggunakan karya orang lain. Begitu pula seorang Web Designer harusmempunyai budaya malu untuk menggunakan icon, animasi, button, dll,yang telah digunakan atau dibuat oleh orang lain.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Komposisi&lt;/b&gt; : Seorang Web Designerselalu memperhatikan komposisi warna yang akan digunakan dalam websiteyang dibuatnya. Pergunakan selalu Palette 216 WebColor, yang dapatdiperoleh dari Adobe.com, hal ini untuk mencegah terjadinya dither padaimage yang berformat GIF. Dalam membangun website suatu perusahaan, WebDesigner selalu menyesuaikan warna yang digunakan dengan CorporateColor perusahaan tersebut. Sebagai contoh: Telkom Corporate Color-nyaadalah biru, Coca-Cola : merah dan putih, Standard-Chartered : hijaudan biru, dsb. Untuk kemudian warna-warna tadi digunakan sebagai warnadominan atau sebagai elemen pendukung (garis, background, button, dsb).&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Simple&lt;/b&gt; : Web Designer banyakyang menggunakan prinsip “Keep it Simple”, hal ini ditujukan agartampilan website tersebut terlihat rapi, bersih dan juga informatif.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Semiotik&lt;/b&gt; : Semiotika adalah ilmuyang mempelajari tentang tanda-tanda. Dalam hal ini diharapkan denganmelihat tanda atau gambar, user/ audience dapat dengan mudah dan cepatmengerti. Sebagai contoh: Jangan membuat gambar/image yang berkesantombol, padahal itu bukan tombol/ link.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Ergonomis&lt;/b&gt; : Web Designer selalumemperhatikan aspek ergonomi. Ergonomi disini adalah dalam halkenyamanan user dalam membaca dan kecepatan user dalam menelusuriwebsite tersebut. Web Designer memilih ukuran Fonts yang tepat sehinggamudah dibaca, Web Designer menempatkan link sedemikian rupa sehinggamudah dan cepat untuk di akses dan lebih penting lagi adalah Informatif.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Fokus&lt;/b&gt; : Tentukan hirarkiprioritas dari pesan yang akan disampaikan, misalnya: Judul harusbesar, tetapi jangan sampai akhirnya akan konflik dengan subjudul yangberukuran hampir sama. Hal ini akan membingungkan user/audience untukmenentukan pesan mana yang harus lebih dahulu dibaca/ dilihat.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Konsisten&lt;/b&gt; : Tentukan font apayang akan digunakan sebagai Body-text, Judul, Sub Judul dan sebagainya,sehingga website tersebut akan terlihat disiplin dan rapi. Sesuaikanjenis huruf yang digunakan dengan misi dan visi website tersebut,misalnya: hindari menggunakan font Comic dalam membangun website suatuperusahaan resmi.&lt;/li&gt;&lt;/ol&gt;Demikian beberapa aspek dan prinsip yang digunakan Web Designerdalam membuat website, selebihnya merupakan ekspresi dari pembuatwebsite itu sendiri yang terwujud dalam penggayaan penyusunan website.&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Software-software pembuat suatu website &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Desain&lt;/b&gt; : Untuk membuat desain suatu homepagebiasanya para web designer dimulai dengan software ini sebagai tampilansementara atau dalam membuat layout homepage.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Adobe Photoshop&lt;/b&gt; : Desain berbasis titik ( bitmap )&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Adobe Image Ready&lt;/b&gt; : Memotong gambar-gambar ke dalam format html&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Adobe Illustrator&lt;/b&gt; : Desain berbasis vector&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;CorelDraw&lt;/b&gt; : Desain berbasis vector&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Macromedia Freehand &lt;/b&gt;: Desain berbasis vector&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Efek Desain&lt;/b&gt; : Hal ini dilakukan untuk menghidupkandesain yang telah kita rancang. Seperti menambah efek cahaya, texturdan manipulasi teks.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Macromedia Firework&lt;/b&gt; : Efek teks&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Painter&lt;/b&gt; :      Memberikan efek lukisan&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Ulead Photo Impact&lt;/b&gt; : Efek frame dan merancangan icon yang cantik.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Plugins Photoshop&lt;/b&gt; : SepertiAndromeda, Alien Skin, Eye Candy, Kai’s Power Tool dan Xenofex jugasangat mendukung untuk memberi efek desain sewaktu anda mendesainlayout homepage di Photoshop.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Animasi&lt;/b&gt; : Penambahan animasi perlu untuk membuat homepage agar kelihatan menarik dan hidup.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;3D Studio Max&lt;/b&gt; : Untuk membuat objek dan animasi 3D.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Gif Construction      Set&lt;/b&gt; : Membuat animasi file gif&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Macromedia Flash&lt;/b&gt; : Menampilkan animasi berbasis vector yang berukuran kecil.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Microsoft Gif      Animator&lt;/b&gt; : Membuat animasi file gif&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Swift 3D&lt;/b&gt; :      Merancang animasi 3D dengan format file FLASH.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Swish&lt;/b&gt; :      Membuat berbagai macam efek text dengan format file FLASH.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Ulead Cool 3D&lt;/b&gt; : Membuat animasi efek text 3D.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Web Editor&lt;/b&gt; : Menyatukan keseluruhan gambar dan tata letak desain, animasi, mengisi halaman web dengan teks dan sedikit bahasa script.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;Alaire Homesite&lt;/li&gt;&lt;li class="MsoNormal"&gt;Cold Fusion&lt;/li&gt;&lt;li class="MsoNormal"&gt;Microsoft Frontpage&lt;/li&gt;&lt;li class="MsoNormal"&gt;Macromedia Dreamweaver&lt;/li&gt;&lt;li class="MsoNormal"&gt;Net Object Fusion&lt;/li&gt;&lt;/ol&gt;&lt;span id="more-10"&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Programming&lt;/b&gt; : Hal ini dilakukan setelah sebagianbesar desain homepage telah rampung. Programming bertugas sebagai aksesdatabase, form isian dan membuat web lebih interaktif. Contoh : Membuatguestbook, Form isian, Forum, Chatting, Portal, Lelang dan Iklanbaris.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;ASP ( Active Server Page )&lt;/li&gt;&lt;li class="MsoNormal"&gt;Borland Delphy&lt;/li&gt;&lt;li class="MsoNormal"&gt;CGI ( Common Gateway      Interface )&lt;/li&gt;&lt;li class="MsoNormal"&gt;PHP&lt;/li&gt;&lt;li class="MsoNormal"&gt;Perl&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Upload&lt;/b&gt; : File html kita perlu di letakkan ( upload) di suatu tempat ( hosting ) agar orang di seluruh dunia dapat melihathomepage kita.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;Bullet FTP&lt;/li&gt;&lt;li class="MsoNormal"&gt;Cute FTP&lt;/li&gt;&lt;li class="MsoNormal"&gt;WS-FTP&lt;/li&gt;&lt;li class="MsoNormal"&gt;Macromedia Dreamweaver :      dengan fasilitas Site FTP&lt;/li&gt;&lt;li class="MsoNormal"&gt;Microsoft Frontpage : dengan      fasilitas Publish&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Sound Editor&lt;/b&gt; : Homepage kita belum hidup tanpa musik. Untuk mengedit file midi atau wav, perlu alat khusus untuk itu.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Sound Forge&lt;/b&gt; : Mengedit dan menambah efek file yang berformat mp3 dan wav.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Cakewalk&lt;/b&gt; :      Mengedit dan menambah efek untuk file yang berformat midi&lt;/li&gt;&lt;/ol&gt;Banyak sekali memang software untuk membuat suatu homepage dan kitatidak perlu mempelajari semua software tersebut di atas. Tapi untukmempermudah, bagi pemula lebih baik dimulai terlebih dulu denganmempelajari software &lt;b&gt;Microsoft Frontpage&lt;/b&gt; atau &lt;b&gt;Macromedia Dreamweaver&lt;/b&gt; agar lebih mengenal aturan-aturan membuat homepage dan mengenal bahasa html. Setelah itu baru &lt;b&gt;Adobe Photoshop&lt;/b&gt; yang dipakai kebanyakan para desainer.&lt;br /&gt;&lt;b&gt;&lt;span style="color: #cc3300;"&gt;Langkah-langkah Membuat Homepage&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Bermacam-macam langkah yang digunakan profesi web kita untuk membuatsuatu homepage. Berikut ini adalah proses secara umum yang dilakukankebanyakan profesi web di Indonesia untuk membuat web.&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Membuat Sketsa      Desain&lt;/b&gt; :Desainer bisa saja menuangkan ide dalam membuat interface suatuhomepage dalam bentuk sketsa di kertas dahulu. Untuk kebanyakan orang,biasanya langkah ini dilewatkan dan langsung pada langkah membuatlayout desain dengan menggunakan software.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Membuat Layout      Desain&lt;/b&gt; :Setelah sketsa sudah jadi, kita menggunakan software seperti AdobePhotoshop, Adobe Illustrator, Macromedia Fireworks dan MacromediaFreehand untuk memperhalus sketsa desain.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Membagi gambar      menjadi potongan kecil-kecil&lt;/b&gt;: Setelah layout desain homepage sudah jadi. File gambarb tersebutdipecah menjadi potongan kecil-kecil untuk mengoptimize waktu download.Untuk melakukan hal tersebut dapat menggunakan software Adobe ImageReady. Software ini dapat langsung memotong gambar yang besar tadi danotomatis juga menjadikannya ke dalam format html. Langkah ini bisa sajadilewatkan bila ukuran gambar kita tidak terlalu besar.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Membuat Animasi&lt;/b&gt; : Animasidiperlukan untuk menghidupkan homepage kita agar menarik pengunjung.Macromedia Flash dan Gif Construction Set dapat dipakai untuk melakukanhal tersebut.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Membuat HTML&lt;/b&gt; : Setelah itu kitamerapikan layout desain kita seperti menempatkan beberapa tombol dangambar, menambah text, mengedit script HTML, membuat layout form kedalam format HTML. Untuk itu kita perlu software HTML Editor sepertiMacromedia Dreamweaver, Microsoft Frontpage dan Allaire Homesite.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Programming dan      Script&lt;/b&gt; :Untuk website e-commerce, iklan baris, lelang, database, membuatguestbook, counter dan forum diskusi. File HTML kita perlu programminguntuk melakukan aktivitas semacam itu. Programming dan script ini bisadibuat dengan menggunakan ASP, Borland Delphy, CGI, PHP, Visual Basic.Dan perlu diperhatikan bahwa programming dan script ini biasanyadilakukan setelah desain homepage kita telah jadi.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Upload HTML&lt;/b&gt; : Setelah file kitatelah menjadi html beserta gambar dan scriptnya. Kita perlu meng-uploadfile kita ke suatu tempat ( hosting ), agar semua orang di dunia dapatmengakses halaman html kita. Biasanya Macromedia Dreamweaver denganfasilitas site FTP dan Microsoft Frontpage dengan Publishnya telahmenyediakan fasilitas upload ini. Atau dapat menggunakan softwareseperti WS-FTP, Cute FTP, Bullet FTP.&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;b&gt;Homepage Pribadi&lt;/b&gt; : Untukhomepage pribadi atau yang sekedar ingin coba-coba biasanya setelahfile html sudah jadi dapat hosting di tempat-tempat gratis, memakaiguestbook dan counter gratis dan menambah macam-macam accesories dalammempercantik homepage pribadi tersebut.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-8980896759780158285?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/8980896759780158285/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/mendesign-web.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8980896759780158285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8980896759780158285'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/mendesign-web.html' title='Mendesign Web'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-3480340151248406615</id><published>2009-12-27T07:55:00.001-08:00</published><updated>2009-12-27T08:20:19.421-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>Mempelajari penggunaan Fungsi (Function) didalam PHP</title><content type='html'>&lt;div class="content"&gt;Fungsi meruapakan hal yang paling penting dalam membuat aplikasi web.Dengan membagi kode-kode yang ada kedalam fungsi-fungsi maka akanmemudahkan kita apabila kita akan menggunakan kembali kode tersebut.Atau apabila kita ingin membuat website dengan fitur yang sama denganwebsite yang pernah kita buat maka kita cukup menggunakan fungsi-fungsiyang pernah kita buat.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;Hal ini akan sangat menghemat waktu danmempercepat proses pembuatan website. Karena itu semakin banyak fungsiyang sudah anda buat, maka jika anda disuruh membuat website lagi andacukup mengambil fungsi-fungsi yang sudah ada.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="content"&gt;Fungsi pada PHP sintaxnya adalah &lt;code&gt;function namafungsi()&lt;/code&gt; dimana &lt;code&gt;namafungsi&lt;/code&gt;merupakan nama fungsi tersebut dan bisa anda ganti sesuka hati.Sedangkan isi didalam kurung dapat diisi dengan variabel yang akan kitakirim kedalam fungsi tersebut. Saya akan mengajarkan penggunaan &lt;code&gt;function namafungsi()&lt;/code&gt; yang paling sederhana.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Penggunaan function()&lt;/h4&gt;&lt;div class="content"&gt;Misalkan anda ingin membuat kode penjumlahan seperti ini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;br /&gt;$x=1+3;&lt;br /&gt;$y=$x+5;&lt;br /&gt;echo "$y&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;$x=1+3;&lt;br /&gt;$y=$x+5;&lt;br /&gt;echo "$y&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;$x=1+3;&lt;br /&gt;$y=$x+5;&lt;br /&gt;echo "$y&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;$x=1+3;&lt;br /&gt;$y=$x+5;&lt;br /&gt;echo "$y&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;$x=1+3;&lt;br /&gt;$y=$x+5;&lt;br /&gt;echo "$y&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;$x=1+3;&lt;br /&gt;$y=$x+5;&lt;br /&gt;echo "$y&lt;br /&gt;";&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Jika anda perhatikan kode diatas, maka anda dapat melihat bahwa kitamelakukan fungsi penjumlahan yang sama berulang-ulang. Nah hal tersebutmeruapkan pemborosan karena kita perlu menuliskan kembali fungsipenjumlahan tersebut berulang-ulang. Bagaimana jika penjumlahannyapanjang? tentu merepotkan, untuk itu kita dapat menjadikannya fungsi.Pada kode diatas jika kita buatkan fungsi maka jadinya seperti ini: &lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;br /&gt;function tambah() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;$x=1+3;&lt;br /&gt;&amp;nbsp;&amp;nbsp;$y=$x+5;&lt;br /&gt;&amp;nbsp;&amp;nbsp;echo "$y&lt;br /&gt;";&lt;br /&gt;}&lt;br /&gt;tambah();&lt;br /&gt;tambah();&lt;br /&gt;tambah();&lt;br /&gt;tambah();&lt;br /&gt;tambah();&lt;br /&gt;tambah();&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Mudah kan, kode kita menjadi singkat. Jadi kita membuat fungsi dengan nama fungsinya &lt;code&gt;tambah()&lt;/code&gt;. Nah didalam fungsi &lt;code&gt;tambah()&lt;/code&gt;tersebut kita isikan fungsi penjumlahan kita. Kemudian jika kita inginmenjalankan fungsi penjumlahan tersebut maka kita cukup memanggilfungsi &lt;code&gt;tambah()&lt;/code&gt; tersebut sebanyak yang kita mau.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Mengirim Variabel kedalam Fungsi&lt;/h4&gt;&lt;div class="content"&gt;Kita dapat mengirimkan variabel kedalam fungsi tersebut. Sehingga nilaiyang dihasilkan dalam fungsi dapat berbeda-beda karena kita dapatmengirimkan variabel yang berbeda-beda. Sekarang cobalah kode berikutini:&lt;br /&gt;&lt;/div&gt;&lt;div class="boxcode"&gt;&lt;pre class="sh_php sh_sourceCode"&gt;&lt;br /&gt;function tambah($x, $y) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;$z=$x+$y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;echo "Hasil $x tambah $y = $z&lt;br /&gt;";&lt;br /&gt;}&lt;br /&gt;tambah(10, 5);&lt;br /&gt;tambah(20, 30);&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="content"&gt;Jika kita perhatikan pada kode diatas, fungsi &lt;code&gt;function tambah($x, $y)&lt;/code&gt; memiliki 2 variabel yaitu &lt;code&gt;$x&lt;/code&gt; dan &lt;code&gt;$y&lt;/code&gt;. Dan ketika kita memanggil fungsi tersebut dengan &lt;code&gt;tambah(10, 5);&lt;/code&gt;. Maka otomatis variabel &lt;code&gt;$x&lt;/code&gt; akan terisi dengan nilai 10 dan variabel &lt;code&gt;$y&lt;/code&gt; akan terisi dengan nilai 5. Demikian pula ketika kita mengubah nilai variabelnya &lt;code&gt;tambah(20, 30);&lt;/code&gt;. Dalam fungsi tidak terdapat batasan variabel kita bisa membuat variabel yang kita kirim sebanyak apapun.&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="content"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-3480340151248406615?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/3480340151248406615/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/mempelajari-penggunaan-fungsi-function.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/3480340151248406615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/3480340151248406615'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/mempelajari-penggunaan-fungsi-function.html' title='Mempelajari penggunaan Fungsi (Function) didalam PHP'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-3984809175180016180</id><published>2009-12-27T07:46:00.001-08:00</published><updated>2009-12-27T08:20:19.445-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>interface, class bertingkat dan detail lain</title><content type='html'>Beberapa bahasa pemrograman berorientasi objek, misalnya C++,membolehkan suatu kelas memiliki dua atau lebih kelas super. Hal inidisebut &lt;span style="color: red;"&gt;pewarisan ganda&lt;/span&gt; (multiple inheritance). Pada ilustrasi berikut, kelas E memiliki kelas super A dan B, sedangkan kelas F memiliki 3 kelas super.&lt;br /&gt;&lt;img alt="" src="http://java.lyracc.com/sites/java.lyracc.com/files/pewarisan_ganda.gif" /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Pewarisan ganda seperti ini &lt;b&gt;tidak diperbolehkan&lt;/b&gt;pada Java. Desainer Java ingin menjaga agar bahasa Java tetapsederhana, dan mereka merasa pewarisan ganda ini sangat kompleks dengankeuntungan yang tidak begitu besar. Akan tetapi, Java memiliki fiturlain yang bisa digunakan seperti halnya pewarisan berganda, yaitu &lt;span style="color: red;"&gt;antar muka&lt;/span&gt; (interface).&lt;br /&gt;Kita telah mengenal istilah "antar muka" sebelumnya, yaitu dalam konteks umum tentang &lt;a href="http://java.lyracc.com/artikel/java-untuk-pemula/kotak-hitam"&gt;kotak hitam dan subrutin&lt;/a&gt;.Antar muka suatu subrutin terdiri dari nama, jenis keluarannya, jumlahdan tipe parameternya. Informasi ini dibutuhkan jika kita inginmemanggi subrutin tersebut. Suatu subrutin juga memiliki implementasi :yaitu blok yang berisi perintah yang akan dijalankan ketika subrutinini dipanggil.&lt;br /&gt;Dalam Java, kata &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; adalah kata kunci yang memiliki arti tambahan. Suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;dalam hal ini adalah antar muka yang terdiri dari subrutin tanpaimplementasi apa-apa. Suatu kelas dapat mengimplementasi suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; dengan memberikan kode detail pada setiap subrutin yang ditulis pada &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; tersebut. Berikut adalah contoh &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; Java sederhana :&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt; Gambar &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;void&lt;/span&gt; gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #003399;"&gt;Graphics&lt;/span&gt; g&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Deklarasi di atas mirip dengan definisi suatu kelas, akan tetapi isi metode &lt;code class="geshifilter-java"&gt;gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt; dikosongkan. Suatu kelas yang mengimplementasi &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; ini, yaitu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;Gambar, harus mengisi implementasi metode &lt;code class="geshifilter-java"&gt;gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt; ini. Tentunya kelas tersebut juga bisa memiliki variabel dan metode lain. Misalnya,&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; Garis &lt;span style="color: black; font-weight: bold;"&gt;implements&lt;/span&gt; Gambar &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;void&lt;/span&gt; gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #003399;"&gt;Graphics&lt;/span&gt; g&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        . . . &lt;span style="color: #666666; font-style: italic;"&gt;// perintah untuk menggambar garis&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;    . . . &lt;span style="color: #666666; font-style: italic;"&gt;// variabel dan metode lain&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Kelas apapun yang mengimplementasi antar muka &lt;code class="geshifilter-java"&gt;Gambar&lt;span style="color: #009900;"&gt;[&lt;/span&gt;code&lt;span style="color: #009900;"&gt;]&lt;/span&gt; harus memberikan detail apa yang akan dilakukan oleh metode &lt;span style="color: #009900;"&gt;[&lt;/span&gt;code&lt;span style="color: #009900;"&gt;]&lt;/span&gt;gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;. Objek yang diciptakan dari kelas tersebut akan memiliki metode &lt;code class="geshifilter-java"&gt;gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;. Perlu diingat bahwa hanya menambah metode &lt;code class="geshifilter-java"&gt;gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt; saja tidak cukup. Definisi kelas yang ingin mengimplementasikan suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; harus menulis "&lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;implements&lt;/span&gt; Gambar&lt;/code&gt;" dalam definisi kelasnya. &lt;br /&gt;Suatu kelas bisa &lt;b&gt;menurunkan &lt;/b&gt;hanya satu kelas lain, akan tetapi suatu kelas bisa &lt;b&gt;mengimplementasikan &lt;/b&gt;lebihdari suatu antar muka. Sebenarnya, suatu kelas bisa menurunkan kelaslain dan mengimplementasikan satu atau lebih antar muka sekaligus.Misalnya&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; LingkaranBerwarna &lt;span style="color: black; font-weight: bold;"&gt;extends&lt;/span&gt; Lingkaran&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;implements&lt;/span&gt; Gambar, BerisiWarna &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        . . .&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Intinya adalah meskipun &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; bukan kelas, akan tetapi &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; mirip dengan kelas. suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;mirip seperti kelas abstrak, yaitu kelas yang hanya digunakan untukmembuat kelas lain, bukan untuk membuat objek. Subrutin pada suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; merupakan metode abstrak yang harus diimplementasikan pada kelas kongkrit yang mengimplementasikan &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt; tersebut&lt;/code&gt;.&lt;br /&gt;Seperti kelas abstrak, meskipun kita tidak bisa membuat objek dari &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;, akan tetapi suatu variabel dapat bertipe suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;. Misalnya, jika &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt; adalah suatu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;, dan jika &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; dan &lt;code class="geshifilter-java"&gt;LingkaranBerwarna&lt;/code&gt; adalah kelas yang mengimplementasikan &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt;, maka kita bisa menulis kode seperti :&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;Gambar gambarku&lt;span style="color: #339933;"&gt;;&lt;/span&gt;   &lt;span style="color: #666666; font-style: italic;"&gt;// Deklarasi variabel dengan tipe Gambar.&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color: #666666; font-style: italic;"&gt;// Variabel ini bisa diisi objek yang&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color: #666666; font-style: italic;"&gt;// mengimplementasi interface Gambar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;gambarku &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; Garis&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// gambarku berisi objek dengan kelas Garis&lt;/span&gt;&lt;br /&gt;gambarku.&lt;span style="color: #006633;"&gt;gambar&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;g&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;     &lt;span style="color: #666666; font-style: italic;"&gt;// memanggil metode gambar() dari kelas Garis&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;gambarku &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; LingkaranBerwarna&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;   &lt;span style="color: #666666; font-style: italic;"&gt;// Sekarang gambarku berisi objek dengan&lt;/span&gt;&lt;br /&gt;                                      &lt;span style="color: #666666; font-style: italic;"&gt;// kelas LingkaranBerwarna&lt;/span&gt;&lt;br /&gt;gambarku.&lt;span style="color: #006633;"&gt;gambar&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;g&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;   &lt;span style="color: #666666; font-style: italic;"&gt;// memanggil metode gambar() dari kelas LingkaranBerwarna&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Variabel dengan tipe &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt; boleh merujuk pada kelas apapun yang mengimplementasikan antar muka &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt;. Pernyataan di atas seperti "&lt;code class="geshifilter-java"&gt;gambarku.&lt;span style="color: #006633;"&gt;gambar&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;g&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;" boleh ditulis karena &lt;code class="geshifilter-java"&gt;gambarku&lt;/code&gt; adalah variabel dengan tipe &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt;, dan setiap objek bertipe &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt; pasti memiliki metode &lt;code class="geshifilter-java"&gt;gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;.&lt;br /&gt;Catatan bahwa &lt;span style="color: red;"&gt;tipe data&lt;/span&gt;merupakan sesuatu yang biasa digunakan untuk mendeklarasikan variabel.Tipe data juga digunakan untuk memberikan tipe suatu parameter padasubrutin, atau sebagai tipe keluaran suatu fungsi. Pada Java, tipe databisa berupa kelas, &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;, atau salah satu dari 8 tipe data primitif. Dari semuanya, hanya kelas yang bisa digunakan untuk membuat objek baru.&lt;br /&gt;Kita biasanya tidak perlu menulis &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; kita sendiri hingga program kita menjadi sangat kompleks. Akan tetapi ada beberapa &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; yang sudah disediakan oleh Java yang mungkin bisa digunakan atau diimplementasi dalam program kita.&lt;br /&gt;&lt;hr /&gt;&lt;b&gt;Kelas Bertingkat&lt;/b&gt;&lt;br /&gt;Suatukelas merupakan blok bangunan suatu program, yang melambangkan suatuide beserta data dan perilaku yang dimilikinya. Kadang-kadang kitamungkin berasa sedikit aneh untuk membuat kelas kecil hanya untukmenggabungkan beberapa data. Akan tetapi kadang-kadang kelas-kelaskecil ini sering bermanfaat dan penting. Untungnya Java membolehkankita untuk membuat kelas di dalam kelas lain, sehingga kelas-kelaskecil ini tidak perlu berdiri sendiri. Kelas kecil ini menjadi bagiandari suatu kelas besar yang bisa melakukan hal-hal kompleks lainnya.Kelas kecil ini misalnya berguna untuk mendukung operasi yang akandikerjakan oleh kelas besarnya.&lt;br /&gt;Dalam Java, &lt;span style="color: red;"&gt;kelas bertingkat&lt;/span&gt; atau &lt;span style="color: red;"&gt;kelas bagian dalam&lt;/span&gt; adalah kelas yang ditulis di dalam definisi kelas lain. Kelas bagian dalam ini bisa &lt;span style="color: red;"&gt;memiliki nama &lt;/span&gt;atau &lt;span style="color: red;"&gt;anonim &lt;/span&gt;(tanpanama). Kelas bagian dalam yang memiliki nama tampak seperti kelasbiasa, tetapi ia ditulis di dalam kelas lain. (Kelas bagian dalam inijuga bisa memiliki kelas bagian dalam yang lain, akan tetapi ingat akankonsekuensi kerumitannya apabila kita membuat terlalu banyak tingkatan).&lt;br /&gt;Sepertikomponen lain dalam suatu kelas, kelas bagian dalam yang memiliki namabisa berupa kelas statik atau kelas non-statik. Kelas bertingkat statikmerupakan bagian dari struktur statik dari kelas yang menaunginya.Kelas tersebut bisa digunakan di dalam kelas induknya untuk membuatobjek seperti biasa. Jika tidak dideklarasikan sebagai private, makankelas tersebut juga bisa digunakan dari luar kelas induknya. Jikadigunakan dari luar kelas induknya, namanya harus jelas mencantumkannama kelas induknya. Mirip seperti komponen statik dari suatu kelas :kelas bertingkat statik adalah bagian kelas di mana kelas tersebutmirip dengan variabel anggota statik lainnya di dalam kelas tersebut.&lt;br /&gt;Misalnya, suatu kelas bernama &lt;code class="geshifilter-java"&gt;ModelRangkaKawat&lt;/code&gt; melambangkan kumpulan garis dalam ruang 3 dimensi. Misalnya kelas &lt;code class="geshifilter-java"&gt;ModelRangkaKawat&lt;/code&gt; memiliki kelas bertingkat statik yang bernama &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; yaitu sebuah garis. Maka dari luar kelas &lt;code class="geshifilter-java"&gt;ModelRangkaKawat&lt;/code&gt;, kelas &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; akan dipanggil sebagai &lt;code class="geshifilter-java"&gt;ModelRangkaKawat.&lt;span style="color: #006633;"&gt;Garis&lt;/span&gt;&lt;/code&gt;.&lt;br /&gt;Kelas &lt;code class="geshifilter-java"&gt;ModelRangkaKawat&lt;/code&gt; dan kelas bagian dalamnya dapat dituliskan seperti berikut :&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; ModelRangkaKawat &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    . . . &lt;span style="color: #666666; font-style: italic;"&gt;// anggota lain kelas ModelRangkaKawat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; Garis &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Melambangkan garis dari titik (x1,y1,z1)&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// ke titik (x2,y2,z2) dalam ruang 3-dimensi&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #000066; font-weight: bold;"&gt;double&lt;/span&gt; x1, y1, z1&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #000066; font-weight: bold;"&gt;double&lt;/span&gt; x2, y2, z2&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// akhir kelas Garis&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    . . . &lt;span style="color: #666666; font-style: italic;"&gt;// anggota lain kelas ModelRangkaKawat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// akhir kelas ModelRangkaKawat&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Di dalam kelas &lt;code class="geshifilter-java"&gt;ModelRangkaKawat&lt;/code&gt;, objek &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; bisa dibuat dengan konstruktor "&lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; Garis&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;". Di luar kelas, perintah "&lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; ModelRangkaKawat.&lt;span style="color: #006633;"&gt;Garis&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;" harus digunakan.&lt;br /&gt;Kelasbertingkat statik memiliki akses penuh kepada anggota dari kelasinduknya, termasuk ke anggota private. Mungkin ini juga motivasisebagian orang untuk membuat kelas bertingkat, karena kelas bagiandalamnya bisa mengakses anggota private kelas lain tanpa harus membuatvariabel atau metode anggotanya menjadi public.&lt;br /&gt;Ketika kita mengkompilasi definisi kelas di atas, dua file kelas akan dibuat. Meskipun definisi kelas &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; berada di dalam &lt;code class="geshifilter-java"&gt;ModelRangkaKawat&lt;/code&gt;, akan tetapi kelas &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; akan disimpan dalam file terpisah. Nama file kelas &lt;code class="geshifilter-java"&gt;Garis&lt;/code&gt; akan menjadi &lt;code class="geshifilter-java"&gt;ModelRangkaKawat$Garis.&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;hr /&gt;Kelasbertingkat yang tidak statik, pada prakteknya, tidak jauh berbedadengan kelas bertingkat statik, akan tetapi kelas bertingkat non-statikberkaitan dengan suatu objek, bukan kelas induknya.&lt;br /&gt;Anggotanon-statik dari suatu kelas sebenarnya bukan merupakan bagian darikelas itu. Hal ini juga berlaku untuk kelas bertingkat non-statikseperti juga bagian kelas non-statik lainnya. Anggota non-statik suatukelas menjelaskan apa yang akan disimpan dalam objek yang diciptakandari kelas tersebut. Hal ini juga berlaku (secara logis) dari kelasbertingkat non-statik.&lt;br /&gt;Dengan kata lain, setiap objek yangdiciptakan dari kelas induknya memiliki kopi kelas bertingkatmasing-masing. Kopi ini memiliki akses ke semua variabel dan metodeinstansi objek tersebut. Dua objek kelas bagian dalam pada dua objekinduk merupakan objek berbeda karena metode dan variabel instansi yangbisa diakses berasal dari objek yang berbeda.&lt;br /&gt;Pada dasarnya,aturan untuk menentukan kapan suatu kelas bisa dimasukkan ke dalamkelas lain sebagai kelas statik atau non-statik adalah : Jika kelastersebut perlu menggunakan variabel atau metode instansi suatu objek(bukan variabel atau metode statik kelas), maka kelas tersebut harusdibuat non-statik, jika tidak maka harus dibuat statik.&lt;br /&gt;Dari luar kelas induknya, kelas bertingkat non-statik harus dipanggil dalam bentuk &lt;code class="geshifilter-java"&gt;namaVariabel.&lt;span style="color: #006633;"&gt;NamaKelasBertingkat&lt;/span&gt;&lt;/code&gt;, misalnya &lt;code class="geshifilter-java"&gt;namaVariabel&lt;/code&gt;adalah variabel yang merujuk pada objek yang memiliki kelas bertingkattersebut. Sebetulnya cara ini agak langka. Kelas bertingkat non-statikbiasanya digunakan hanya di dalam kelas induknya, sehingga bisa diaksesdengan nama yang sederhana.&lt;br /&gt;UNtuk membuat objek yang merupakankelas bertingkat non-statik, kita harus membuat objek yang merupakankelas induknya. (Ketika bekerja di dalam kelas, objek "&lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;this&lt;/span&gt;&lt;/code&gt;"akan secara otomatis digunakan). Objek dari kelas bertingkat tersebutdihubungkan secara permanen dengan objek dari kelas induknya, danmemiliki akses penuh atas anggota kelas induknya.&lt;br /&gt;Mari lihatcontoh berikut, dan mungkin bisa memberi pemahaman lebih baik bagaimanakelas bertingkat non-statik sebetulnya merupakan hal yang sangat alami.Misalnya suatu kelas yang melambangkan permainan kartu. Kelas inimemiliki kelas beringkat yang melambangkan para pemainnya. Struktur &lt;code class="geshifilter-java"&gt;MainKartu&lt;/code&gt; bisa berbentuk seperti :&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; MainKartu &lt;span style="color: #009900;"&gt;{&lt;/span&gt;  &lt;span style="color: #666666; font-style: italic;"&gt;// Melambangkan permainan kartu&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; Pemain &lt;span style="color: #009900;"&gt;{&lt;/span&gt;  &lt;span style="color: #666666; font-style: italic;"&gt;// Melambangkan salah satu pemain game ini&lt;/span&gt;&lt;br /&gt;        .&lt;br /&gt;        .&lt;br /&gt;        .&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// akhir kelas Pemain&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt; Tumpukan tumpukan&lt;span style="color: #339933;"&gt;;&lt;/span&gt;      &lt;span style="color: #666666; font-style: italic;"&gt;// Tumpukan kartu&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    .&lt;br /&gt;    .&lt;br /&gt;    .&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// akhir kelas MainKartu&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Jika &lt;code class="geshifilter-java"&gt;game&lt;/code&gt; adalah variabel dengan tipe &lt;code class="geshifilter-java"&gt;MainKartu&lt;/code&gt;, maka &lt;code class="geshifilter-java"&gt;game&lt;/code&gt; memiliki kelas &lt;code class="geshifilter-java"&gt;Pemain&lt;span style="color: #009900;"&gt;[&lt;/span&gt;code&lt;span style="color: #009900;"&gt;]&lt;/span&gt; sendiri. &lt;span style="color: #006633;"&gt;Dalam&lt;/span&gt; metode instansi objek &lt;span style="color: #009900;"&gt;[&lt;/span&gt;code&lt;span style="color: #009900;"&gt;]&lt;/span&gt;MainKartu&lt;/code&gt;, objek &lt;code class="geshifilter-java"&gt;Pemain&lt;/code&gt; bisa dibuat dengan perintah "&lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; Pemain&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;", seperti halnya kelas biasa. (Objek &lt;code class="geshifilter-java"&gt;Pemain&lt;/code&gt; bisa dibuat di luar kelas &lt;code class="geshifilter-java"&gt;MainKartu&lt;/code&gt; dengan perintah seperti "&lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; game.&lt;span style="color: #006633;"&gt;Pemain&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt;", tapi ini jarang dilakukan). Objek &lt;code class="geshifilter-java"&gt;Pemain&lt;/code&gt; memiliki akses ke variabel instansi &lt;code class="geshifilter-java"&gt;tumpukan&lt;/code&gt; dalam objek &lt;code class="geshifilter-java"&gt;MainKartu&lt;/code&gt;.&lt;br /&gt;Masing-masing objek &lt;code class="geshifilter-java"&gt;MainKartu&lt;/code&gt; memiliki &lt;code class="geshifilter-java"&gt;tumpukan&lt;/code&gt; dan &lt;code class="geshifilter-java"&gt;Pemain&lt;/code&gt;sendiri-sendiri. Pemain kartu pada game tersebut akan menggunakantumpukan kartunya sendiri sedangkan pemain kartu pada game yang lainakan menggunakan tumpukan kartu lain lagi.&lt;br /&gt;Jika &lt;code class="geshifilter-java"&gt;Pemain&lt;/code&gt; merupakan kelas bertingkat &lt;b&gt;statik&lt;/b&gt;, maka pemain tersebut akan bermain di semua permainan kartu, yang tentu saja tidak mungkin terjadi.&lt;br /&gt;&lt;hr /&gt;Dalambeberapa kasus, mungkin kita harus menulis kelas bertingkat dankemudian menggunakan kelas tersebut hanya 1 kali dalam program kita.Apakah berguna membuat kelas bertingkat jika begini kondisinya? Mungkinya mungkin tidak. Dalam kasus seperti ini kita juga bisa membuat &lt;span style="color: red;"&gt;kelas bertingkat anonim&lt;/span&gt;. Kelas anonim dapat dibuat dengan menggunakan variasi dari operator &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt;&lt;/code&gt; dengan bentuk&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt;  kelassuper_atau_interface &lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;    metode_dan_variabel&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Konstruktor ini membuat suatu kelas baru tanpa memberi nama, danpada saat yang sama membuat objek dari kelas tersebut. Bentuk operator &lt;code class="geshifilter-java"&gt;&lt;span style="color: #009900;"&gt;[&lt;/span&gt;code&lt;span style="color: #009900;"&gt;]&lt;/span&gt;&lt;/code&gt; seperti ini bisa digunakan dalam pernyataan apapun di mana pernyataan &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt;&lt;/code&gt;biasa digunakan. Maksud dari pernyataan di atas adalah untuk membuat :"objek baru di dalam suatu kelas yang namanya sama dengan &lt;code class="geshifilter-java"&gt;kelassuper_atau_interface&lt;/code&gt; dengan ditambah dengan &lt;code class="geshifilter-java"&gt;metode_dan_varaibel&lt;/code&gt; baru."&lt;br /&gt;Artinyapernyataan di atas sama dengan membuat objek baru dengan konfigurasiyang baru pula. Kita juga bisa membuat kelas anonim yang diturunkandari &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt;. Dalam hal ini, kelas anonim tersebut harus mengimplementasikan semua metode yang dideklarasikan oleh &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;interface&lt;/span&gt;&lt;/code&gt; tersebut.&lt;br /&gt;Kelas anonim sering digunakan untuk menangani event pada GUI (graphical user interfaces). Misalnya interface &lt;code class="geshifilter-java"&gt;Gambar&lt;/code&gt;seperti didefinisikan di awal bagian ini. Misalnya kita ingin membuatobjek berupa gambar bujur sangkar berisi warna merah dengan ukuran 100x 100 piksel. Daripada membuat kelas baru kemudian menggunakan kelastersebut untuk membuat objek, kita bisa menggunakan kelas anonim untukmembuat objek sekaligus dalam satu pernyataan :&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;Gambar kotakMerah &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; Gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #000066; font-weight: bold;"&gt;void&lt;/span&gt; gambar&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #003399;"&gt;Graphics&lt;/span&gt; g&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;            g.&lt;span style="color: #006633;"&gt;setColor&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #003399;"&gt;Color&lt;/span&gt;.&lt;span style="color: #006633;"&gt;red&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;            g.&lt;span style="color: #006633;"&gt;fillRect&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt;,&lt;span style="color: #cc66cc;"&gt;10&lt;/span&gt;,&lt;span style="color: #cc66cc;"&gt;100&lt;/span&gt;,&lt;span style="color: #cc66cc;"&gt;100&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Tanda titik koma (;) di akhir pernyataan ini bukan bagian daridefinisi suatu kelas, tapi merupakan bagian dari pernyataan secarakeseluruhan.&lt;br /&gt;Ketika kelas Java dikompilasi, setiap kelasbertingkat anonim akan dibuat dalam file kelas terpisah. Jika namakelas utama adalah &lt;code class="geshifilter-java"&gt;KelasUtama&lt;/code&gt;, misalnya, maka nama file kelas untuk setiap kelas bertingkat anonimnya menjadi &lt;code class="geshifilter-java"&gt;KelasUtama$1.&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt;&lt;/code&gt;, &lt;code class="geshifilter-java"&gt;KelasUtama$2.&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt;&lt;/code&gt;, &lt;code class="geshifilter-java"&gt;KelasUtama$3.&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt;&lt;/code&gt; dan seterusnya.&lt;br /&gt;&lt;hr /&gt;&lt;b&gt;Sifat Akses dalam Kelas&lt;/b&gt;&lt;br /&gt;Suatu kelas dapat dideklarasikan sebagai &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt;,yang bisa diakses dari manapun. Beberapa kelas harus dideklarasikansebagai publik, misalnya sebagai aplikasi desktop biasa, sehinggasistem operasi bisa menjalankan prosedur &lt;code class="geshifilter-java"&gt;main&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/code&gt; nya. Kelas pada applet misalnya harus juga dideklarasikan sebagai &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt; supaya bisa diakses oleh web browser.&lt;br /&gt;Jika suatu kelas tidak dideklarasikan sebagai &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt; maka ia hanya akan bisa diakses dari paket yang sama. &lt;a href="http://java.lyracc.com/belajar/java-untuk-pemula/toolbox-api-dan-paket"&gt;Bagian ini membahas tentang paket&lt;/a&gt;. Kelas yang tidak ditulis dalam suatu paket tertentu akan dimasukkan dalam paket default.&lt;br /&gt;Suatu paket seharusnya terdiri dari beberapa kelas yang saling berhubungan. Beberapa dari kelas ini memang sengaja dibuat &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt;agar bisa diakses dari desktop atau program lain misalnya. Bagian lain,yang merupakan bagian internal dari bagaimana paket tersebut bekerjadan tidak boleh disentuh dari luar, tidak boleh dibuat menjadi &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt;. Paket adalah salah satu jenis dari kotak hitam, dan kelas &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt; dalam paket tersebut adalah antar muka dengan dunia luarnya.&lt;br /&gt;Variabel atau metode anggota suatu kelas juga bisa dideklarasikan sebagai &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt; yang juga berarti bisa diakses dari manapun. Variabel atau metode anggota ini juga bisa dideklarasikan sebagai &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt;&lt;/code&gt; yang artinya hanya bisa diakses dari dalam kelas di mana dia dideklarasikan. Membuat variabel menjadi &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt;&lt;/code&gt; memastikan bahwa tidak ada bagian lain yang akan bisa mengubah variabel ini kecuali dari dalam kelas atau objek itu sendiri.&lt;br /&gt;Jikakita tidak memberikan sifat akses pada metode atau variabel anggotatertentu, maka ia akan otomatis bisa diakses oleh semua kelas dalampaket yang sama.&lt;br /&gt;Ada satu jenis sifat akses lain yang bisa digunakan pada variabel atau metode anggota kelas, yaitu &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;protected&lt;/span&gt;&lt;/code&gt;. Sifat &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;protected&lt;/span&gt;&lt;/code&gt;digunakan apabila kita ingin variabel atau metode anggota tersebut bisadiakses oleh turunan kelas tersebut. Artinya lebih leluasa dari &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt;&lt;/code&gt; tapi lebih ketat daripada &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt;&lt;/code&gt;. Kelas yang didesain untuk diturunkan, biasanya memiliki anggota &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;protected&lt;/span&gt;&lt;/code&gt;. Anggota &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;protected&lt;/span&gt;&lt;/code&gt; digunakan untuk menambah fondasi bagi kelas turunannya, akan tetapi tetap tak terlihat dari dunia luar.&lt;br /&gt;&lt;hr /&gt;&lt;b&gt;Menggabungkan Statik dan Non-Statik&lt;/b&gt;&lt;br /&gt;Seperti disebutkan sebelumnya, kelas dapat memiliki dua kegunaanyang sangat berbeda. Kelas bisa digunakan untuk menggabungkan variabeldan subrutin statik. Atau juga bisa digunakan sebagai produsen pembuatobjek. Variabel dan subrutin non-statik dalam suatu kelas akanmenentukan metode dan variabel instansi pada objek yang diciptakan darikelas tersebut. Dalam banyak kasus, suatu kelas dapat melakukan salahsatu atau kedua fungsi tersebut secara bersamaan.&lt;br /&gt;Dalam halanggota statik dan non-statik digabung dalam satu kelas, kelas tersebutmengharapkan adanya interaksi antara bagian statik dan bagiannon-statik dari suatu kelas. Misalnya, metode instansinya menggunakanvariabel statik atau memanggil subrutin statik. Metode instansidimiliki oleh suatu objek, bukan oleh kelas tersebut. Karena kita bisamembuat banyak objek dari suatu kelas, di mana setiap objek yangdiciptakan memiliki metode instansi masing-masing. Akan tetapi akanhanya ada satu variabel statik yaitu yang dimiliki oleh suatu kelas.Dengan demikian, kita memiliki banyak objek yang bisa mengaksesvariabel statik tersebut bersama-sama.&lt;br /&gt;Misalnya anggap kita akan menulis kelas &lt;code class="geshifilter-java"&gt;PasanganDadu&lt;/code&gt; yang menggunakan kelas &lt;code class="geshifilter-java"&gt;&lt;span style="color: #003399;"&gt;Random&lt;/span&gt;&lt;/code&gt; seperti pada bagian sebelumnya untuk mengocok dadu. Objek &lt;code class="geshifilter-java"&gt;PasanganDadu&lt;/code&gt; perlu mengakses objek &lt;code class="geshifilter-java"&gt;&lt;span style="color: #003399;"&gt;Random&lt;/span&gt;&lt;/code&gt;. Akan tetapi membuat objek &lt;code class="geshifilter-java"&gt;&lt;span style="color: #003399;"&gt;Random&lt;/span&gt;&lt;/code&gt; untuk setiap objek &lt;code class="geshifilter-java"&gt;PasanganDadu&lt;/code&gt;adalah terlalu berlebihan, karena fungsinya hanya digunakan untukmenghasilkan nilai acak saja. Solusi yang bagus adalah denganmenggunakan variabel &lt;code class="geshifilter-java"&gt;&lt;span style="color: black; font-weight: bold;"&gt;static&lt;/span&gt;&lt;/code&gt; yang digunakan oleh semua objek yang dibuat dari kelas &lt;code class="geshifilter-java"&gt;PasanganDadu&lt;/code&gt;. Misalnya pada kode berikut ini :&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; PasanganDadu &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #003399;"&gt;Random&lt;/span&gt; randGen &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;new&lt;/span&gt; &lt;span style="color: #003399;"&gt;Random&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #666666; font-style: italic;"&gt;// (Catatan:  java.util.Random telah diimpor sebelum kelas ini dibuat)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;int&lt;/span&gt; dadu1&lt;span style="color: #339933;"&gt;;&lt;/span&gt;   &lt;span style="color: #666666; font-style: italic;"&gt;// Angka pada dadu pertama&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;int&lt;/span&gt; dadu2&lt;span style="color: #339933;"&gt;;&lt;/span&gt;   &lt;span style="color: #666666; font-style: italic;"&gt;// Angka pada dadu kedua&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; PasanganDadu&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Konstruktor. Membuat pasangan dadu dengan angka&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// awal berupa bilangan acak&lt;/span&gt;&lt;br /&gt;        kocok&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;void&lt;/span&gt; kocok&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Kocok dadu dengan membuat masing-masing dadu&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// bernilai bilangan acak 1 hingga 6&lt;/span&gt;&lt;br /&gt;        dadu1&lt;span style="color: #339933;"&gt;=&lt;/span&gt; randGen.&lt;span style="color: #006633;"&gt;nextInt&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;6&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;        dadu2&lt;span style="color: #339933;"&gt;=&lt;/span&gt; randGen.&lt;span style="color: #006633;"&gt;nextInt&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;6&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #339933;"&gt;+&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt; &lt;span style="color: #666666; font-style: italic;"&gt;// akhir kelas PasanganDadu&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Contoh lain adalah kelas Murid yang digunakan pada bagian sebelumnya. Kita tambahkan variabel instansi &lt;code class="geshifilter-java"&gt;nomorMurid&lt;/code&gt; yaitu nomor unik yang berbeda untuk setiap murid. Untuk itu kita perlu melacak nomor baru yang belum dipakai dengan variabel &lt;code class="geshifilter-java"&gt;nomorBerikutnya&lt;/code&gt;yang berbentuk variabel statik sehingga semua objek akan mengacu padavariabel yang sama. Ketika objek baru dibuat, objek baru akan mengambilnilai &lt;code class="geshifilter-java"&gt;nomorBerikutnya&lt;/code&gt; untuk dijadikan &lt;code class="geshifilter-java"&gt;nomorMurid&lt;/code&gt; yang baru.&lt;br /&gt;&lt;div class="geshifilter"&gt;&lt;pre class="java geshifilter-java" style="font-family: monospace;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;class&lt;/span&gt; Murid &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #003399;"&gt;String&lt;/span&gt; nama&lt;span style="color: #339933;"&gt;;&lt;/span&gt;  &lt;span style="color: #666666; font-style: italic;"&gt;// Nama murid&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;int&lt;/span&gt; nomorMurid&lt;span style="color: #339933;"&gt;;&lt;/span&gt;  &lt;span style="color: #666666; font-style: italic;"&gt;// nomor murid unik&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;double&lt;/span&gt; ujian1, ujian2, ujian3&lt;span style="color: #339933;"&gt;;&lt;/span&gt;   &lt;span style="color: #666666; font-style: italic;"&gt;// Nilai ujian&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: black; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;int&lt;/span&gt; nomorBerikutnya &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #666666; font-style: italic;"&gt;// simpan nomor murid berikutnya&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    Murid&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #003399;"&gt;String&lt;/span&gt; namaBaru&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Konstruktor objek Murid:&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// memberi nama, dan memberi nomor murid baru&lt;/span&gt;&lt;br /&gt;        nama &lt;span style="color: #339933;"&gt;=&lt;/span&gt; namaBaru&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;        nomorBerikutnya&lt;span style="color: #339933;"&gt;++;&lt;/span&gt;&lt;br /&gt;        nomorMurid &lt;span style="color: #339933;"&gt;=&lt;/span&gt; nomorBerikutnya&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #003399;"&gt;String&lt;/span&gt; getNama&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Fungsi untuk mengambil isi variabel instansi private: nama&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: black; font-weight: bold;"&gt;return&lt;/span&gt; nama&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;int&lt;/span&gt; getNomorMurid&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Fungsi untuk membaca isi nomorMurid&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: black; font-weight: bold;"&gt;return&lt;/span&gt; nomorMurid&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;    &lt;span style="color: black; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000066; font-weight: bold;"&gt;double&lt;/span&gt; hitungRataRata&lt;span style="color: #009900;"&gt;(&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #009900;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #666666; font-style: italic;"&gt;// Hitung rata-rata nilai ujian&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: black; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #009900;"&gt;(&lt;/span&gt;ujian1 &lt;span style="color: #339933;"&gt;+&lt;/span&gt; ujian2 &lt;span style="color: #339933;"&gt;+&lt;/span&gt; ujian3&lt;span style="color: #009900;"&gt;)&lt;/span&gt; &lt;span style="color: #339933;"&gt;/&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #009900;"&gt;}&lt;/span&gt;  &lt;span style="color: #666666; font-style: italic;"&gt;// akhir kelas Murid&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;Inisialisasi "&lt;code class="geshifilter-java"&gt;nomorBerikutnya &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;/code&gt;"hanya dilakukan satu kali, yaitu ketika kelas ini pertama kalidipanggil (pada saat program dijalankan). Ketika objek baru bertipe &lt;code class="geshifilter-java"&gt;Murid&lt;/code&gt; dibuat, dan di dalam konstruktor perintah "&lt;code class="geshifilter-java"&gt;nomorBerikutnya&lt;span style="color: #339933;"&gt;++;&lt;/span&gt;&lt;/code&gt;", maka nomor berikutnya akan disimpan untuk digunakan pada objek baru lainnya.&lt;br /&gt;Ketika objek pertama dibuat, nilai &lt;code class="geshifilter-java"&gt;nomorBerikutnya&lt;/code&gt; akan bernilai 1. Ketika objek kedua dibuat, nilai &lt;code class="geshifilter-java"&gt;nomorBerikutnya&lt;/code&gt; bernilai 2, dan seterusnya. Konstruktor akan menyimpan nilai baru &lt;code class="geshifilter-java"&gt;nomorBerikutnya&lt;/code&gt; pada variabel instansinya sendiri yang tidak di-share dengan objek-objek lain yaitu &lt;code class="geshifilter-java"&gt;nomorMurid&lt;/code&gt;. Dengan cara ini setiap murid baru akan selalu memiliki &lt;code class="geshifilter-java"&gt;nomorMurid&lt;/code&gt; baru yang berbeda satu dengan yang lain&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-3984809175180016180?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/3984809175180016180/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/interface-class-bertingkat-dan-detail.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/3984809175180016180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/3984809175180016180'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/interface-class-bertingkat-dan-detail.html' title='interface, class bertingkat dan detail lain'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-3019433964597781966</id><published>2009-12-27T07:40:00.001-08:00</published><updated>2009-12-27T08:20:19.450-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Operator</title><content type='html'>Operator Java merupakan karakter khusus yang berupa simbol atau tanda yang&lt;br /&gt;memerintahkan compiler untuk melakukan berbagai operasi terhadap sejumlah&lt;br /&gt;operand. Perintah operasi dispesifikasikan oleh operator, dimana operand-nya adalah&lt;br /&gt;variabel, pernyataan, atau besaran literal.&lt;br /&gt;Operator yang dibahas pada bagian ini adalah operator aritmatik&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;a, increment&lt;br /&gt;dan decrement, assignment (penugasan), relasi, logical, dan bitwise.&lt;br /&gt;A. Operator Aritmatika&lt;br /&gt;Sama halnya dengan semua bahasa pemrograman, Java menyediakan&lt;br /&gt;operator-operator aritmatika untuk manipulasi variabel data numerik.&lt;br /&gt;Operator-operator tersebut antara lain :&lt;br /&gt;Operator Penggunaan Deskripsi&lt;br /&gt;+ Op1 + Op2 Menambahkan Op1 dengan Op2&lt;br /&gt;- Op1 – Op2 Mengurangkan Op1 dengan Op2&lt;br /&gt;* Op1 * Op2 Mengalikan Op1 dengan Op2&lt;br /&gt;/ Op1 / Op2 Membagi Op1 dengan Op2&lt;br /&gt;% Op1 % Op2 Menghasilkan sisa hasil bagi Op1 dengan Op2&lt;br /&gt;Latihan 4. Aritmatika.java&lt;br /&gt;class Aritmatika{&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;int a = 20;&lt;br /&gt;int b = 10;&lt;br /&gt;System.out.println("Penggunaan Operator Aritmatika ");&lt;br /&gt;System.out.println("Nilai awal a adalah : "+a);&lt;br /&gt;System.out.println("Nilai awal b adalah : "+b);&lt;br /&gt;System.out.println("Hasil dari a + b = " +(a + b));&lt;br /&gt;System.out.println("Hasil dari a - b = " +(a - b));&lt;br /&gt;System.out.println("Hasil dari a / b = " +(a / b));&lt;br /&gt;System.out.println("Hasil dari a * b = " +(a * b));&lt;br /&gt;System.out.println("Hasil dari a % b = " +(a % b));&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;16&lt;br /&gt;B. Operator Increment dan Decrement&lt;br /&gt;Operator Increment dan Decrement digunakan untuk menaikan atau&lt;br /&gt;menurunkan suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan&lt;br /&gt;hanya dapat digunakan pada variabel.&lt;br /&gt;Ada dua versi operator increment maupun decrement, yaitu prefix dan&lt;br /&gt;postfix. Prefix berarti operator digunakan sebelum variabel atau ekspresi, dan&lt;br /&gt;postfix berarti operator digunakan sesudahnya. Penjelasan selengkapnya&lt;br /&gt;yaitu:&lt;br /&gt;Operator Penggunaan Deskripsi&lt;br /&gt;Op++&lt;br /&gt;Op dinaikkan nilainya 1 setelah dilakukan operasi&lt;br /&gt;pada Op&lt;br /&gt;++&lt;br /&gt;++Op&lt;br /&gt;Op dinaikkan nilainya 1 sebelum dilakukan operasi&lt;br /&gt;pada Op&lt;br /&gt;Op--&lt;br /&gt;Op diturunkan nilainya 1 setelah dilakukan operasi&lt;br /&gt;pada Op&lt;br /&gt;--&lt;br /&gt;--Op&lt;br /&gt;Op diturunkan nilainya 1 sebelum dilakukan&lt;br /&gt;operasi pada Op&lt;br /&gt;Latihan 5. IncrementDecrement.java&lt;br /&gt;class IncrementDecrement{&lt;br /&gt;public static void main (String[] args){&lt;br /&gt;int i = 1;&lt;br /&gt;System.out.println("i : " + i);&lt;br /&gt;System.out.println("++i : " + ++i);&lt;br /&gt;System.out.println("i++ : " + i++);&lt;br /&gt;System.out.println("i : " + i);&lt;br /&gt;System.out.println("--i : " + --i);&lt;br /&gt;System.out.println("i-- : " + i--);&lt;br /&gt;System.out.println("i : " + i);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;17&lt;br /&gt;C. Operator Assignment ( Penugasan )&lt;br /&gt;Operator assignment dalam Java digunakan untuk memberikan sebuah&lt;br /&gt;nilai ke sebuah variabel. Operator assignment hanya berupa ‘=’, namun selain&lt;br /&gt;itu dalam Java dikenal beberapa shortcut assignment operator yang penting,&lt;br /&gt;yang digambarkan dalam tabel berikut :&lt;br /&gt;Operator Penggunaan Ekuivalen Dengan&lt;br /&gt;+= Op1 += Op2 Op1 = Op1 + Op2&lt;br /&gt;-= Op1 -= Op2 Op1 = Op1 – Op2&lt;br /&gt;*= Op1 *= Op2 Op1 = Op1 * Op2&lt;br /&gt;/= Op1 /= Op2 Op1 = Op1 / Op2&lt;br /&gt;%= Op1 %= Op2 Op1 = Op1 % Op2&lt;br /&gt;&amp;amp;= Op1 &amp;amp;= Op2 Op1 = Op1 &amp;amp; Op2&lt;br /&gt;¦= Op1 ¦= Op2 Op1 = Op1 ¦ Op2&lt;br /&gt;^= Op1 ^= Op2 Op1 = Op1 ^ Op2&lt;br /&gt;&amp;lt;&amp;lt;= Op1 &amp;lt;&amp;lt;= Op2 Op1 = Op1 &amp;lt;&amp;lt; Op2&lt;br /&gt;&amp;gt;&amp;gt;= Op1 &amp;gt;&amp;gt;= Op2 Op1 = Op1 &amp;gt;&amp;gt; Op2&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt;= Op1 &amp;gt;&amp;gt;&amp;gt;= Op2 Op1 = Op1 &amp;gt;&amp;gt;&amp;gt; Op2&lt;br /&gt;Latihan 6. Assignment.java&lt;br /&gt;class Assignment {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;int var = 10;&lt;br /&gt;int a,b,c;&lt;br /&gt;a = b = c = 100;&lt;br /&gt;int d,e,f;&lt;br /&gt;f = 200;&lt;br /&gt;e = f;&lt;br /&gt;d = e;&lt;br /&gt;18&lt;br /&gt;System.out.println("Nilai var : " + var);&lt;br /&gt;System.out.println("Nilai a : " + a);&lt;br /&gt;System.out.println("Nilai b : " + b);&lt;br /&gt;System.out.println("Nilai c : " + c);&lt;br /&gt;System.out.println("Nilai f : " + f);&lt;br /&gt;System.out.println("Nilai e : " + e);&lt;br /&gt;System.out.println("Nilai d : " + d);&lt;br /&gt;int z;&lt;br /&gt;char Teks1 = 'a'; // dalam Unicode karakter 'a' direpresentasikan dengan&lt;br /&gt;angka 97&lt;br /&gt;z = Teks1 * 100; // z = 97 * 10;&lt;br /&gt;System.out.println("Nilai Teks1 : " + Teks1);&lt;br /&gt;System.out.println("Nilai z : " + z);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;D. Operator Relasi&lt;br /&gt;Operator relasi dalam Java digunakan untuk menghasilkan nilai&lt;br /&gt;boolean yang sering digunakan untuk mengatur alur jalannya sebuah program.&lt;br /&gt;Operator Penggunaan Deskripsi&lt;br /&gt;&amp;gt; Op1 &amp;gt; Op2 Menghasilkan true jika Op1 lebih besar dari Op2&lt;br /&gt;&amp;lt; Op1 &amp;lt; Op2 Menghasilkan true jika Op1 lebih kecil dari Op2&lt;br /&gt;&amp;gt;= Op1 &amp;gt;= Op2 Menghasilkan true jika Op1 lebih besar atau sama&lt;br /&gt;dengan Op2&lt;br /&gt;&amp;lt;= Op1 &amp;lt;= Op2 Menghasilkan true jika Op1 lebih kecil atau sama&lt;br /&gt;dengan Op2&lt;br /&gt;== Op1 == Op2 Menghasilkan true jika Op1 sama dengan Op2&lt;br /&gt;!= Op1 != Op2 Menghasilkan true jika Op1 tidak sama dengan Op2&lt;br /&gt;19&lt;br /&gt;Latihan 7. Relasi.java&lt;br /&gt;class Relasi{&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;int x,y,z;&lt;br /&gt;x = 100;&lt;br /&gt;y = 99;&lt;br /&gt;z = 99;&lt;br /&gt;System.out.println("Nilai x = "+x);&lt;br /&gt;System.out.println("Nilai y = "+y);&lt;br /&gt;System.out.println("Nilai z = "+z);&lt;br /&gt;// operator sama dengan&lt;br /&gt;if(y == z ){&lt;br /&gt;System.out.println("y sama dengan z");&lt;br /&gt;}else {&lt;br /&gt;System.out.println("y tidak sama dengan z");&lt;br /&gt;}&lt;br /&gt;// operator tidak sama dengan&lt;br /&gt;if(x != y ){&lt;br /&gt;System.out.println("x tidak sama dengan y");&lt;br /&gt;}else {&lt;br /&gt;System.out.println("x sama dengan y");&lt;br /&gt;}&lt;br /&gt;// operator lebih besar dari&lt;br /&gt;if(x &amp;gt; y ){&lt;br /&gt;System.out.println("x lebih besar dari y");&lt;br /&gt;}else {&lt;br /&gt;System.out.println("x lebih kecil dari y");&lt;br /&gt;}&lt;br /&gt;// operator lebih kecil dari&lt;br /&gt;if(y &amp;lt; x ){&lt;br /&gt;System.out.println("y lebih kecil dari x");&lt;br /&gt;}else {&lt;br /&gt;System.out.println("y lebih besar dari x");&lt;br /&gt;}&lt;br /&gt;// operator lebih besar dari atau sama dengan&lt;br /&gt;if(x &amp;gt;= y ){&lt;br /&gt;System.out.println("x lebih besar dari atau sama dengan y");&lt;br /&gt;20&lt;br /&gt;}else {&lt;br /&gt;System.out.println("x lebih kecil dari atau sama dengany");&lt;br /&gt;}&lt;br /&gt;// operator lebih kecil dari atau sama dengan&lt;br /&gt;if(y &amp;lt;= x ){&lt;br /&gt;System.out.println("y lebih kecil dari atau sama dengan x");&lt;br /&gt;}else {&lt;br /&gt;System.out.println("y lebih besar dari atau sama dengan x");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;E. Operator Logical&lt;br /&gt;Operator ini digunakan untuk ekspresi logik yang menghasilkan nilai&lt;br /&gt;boolean. Operator-operator yang digunakan adalah AND ( &amp;amp;&amp;amp; ), OR ( ¦ ¦ )&lt;br /&gt;dan NOT ( ! ).&lt;br /&gt;A B A ¦¦ B A &amp;amp;&amp;amp; B&lt;br /&gt;True True True True&lt;br /&gt;True False True False&lt;br /&gt;False True True False&lt;br /&gt;False False False False&lt;br /&gt;Latihan 8. logik.java&lt;br /&gt;class logik{&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;boolean Benar = true;&lt;br /&gt;boolean Salah = false;&lt;br /&gt;System.out.println("Hubungan OR (||)");&lt;br /&gt;System.out.println("Benar || Benar : " +(Benar||Benar));&lt;br /&gt;System.out.println("Benar || Salah : " +(Benar||Salah));&lt;br /&gt;21&lt;br /&gt;System.out.println("Salah || Benar : " +(Salah||Benar));&lt;br /&gt;System.out.println("Salah || Salah : " +(Salah||Salah));&lt;br /&gt;System.out.println("Hubungan AND (&amp;amp;&amp;amp;)");&lt;br /&gt;System.out.println("Benar &amp;amp;&amp;amp; Benar : " +(Benar&amp;amp;&amp;amp;Benar));&lt;br /&gt;System.out.println("Benar &amp;amp;&amp;amp; Salah : " +(Benar&amp;amp;&amp;amp;Salah));&lt;br /&gt;System.out.println("Salah &amp;amp;&amp;amp; Benar : " +(Salah&amp;amp;&amp;amp;Benar));&lt;br /&gt;System.out.println("Salah &amp;amp;&amp;amp; Salah : " +(Salah&amp;amp;&amp;amp;Salah));&lt;br /&gt;System.out.println("Hubungan NOT (!)");&lt;br /&gt;System.out.println("Kebalikan (NOT) dari Benar adalah: " +!Benar);&lt;br /&gt;System.out.println("Kebalikan (NOT) dari Salah adalah: " +!Salah);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;F. Operator Bitwise&lt;br /&gt;Operator ini dalam Java digunakan untuk melakukan manipulasi bit.&lt;br /&gt;Operator Penggunaan Deskripsi&lt;br /&gt;&amp;amp; Op1 &amp;amp; Op2 Bitwise AND&lt;br /&gt;¦ Op1 ¦ Op2 Bitwise OR&lt;br /&gt;^ Op1 ^ Op2 Bitwise XOR&lt;br /&gt;~ ~Op Bitwise Complement&lt;br /&gt;&amp;lt;&amp;lt; Op1 &amp;lt;&amp;lt; Op2 Menggeser bit Op1 ke kiri sejauh Op2&lt;br /&gt;&amp;gt;&amp;gt; Op1 &amp;gt;&amp;gt; Op2 Menggeser bit Op1 ke kanan sejauh Op2&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; Op1 &amp;gt;&amp;gt;&amp;gt; Op2&lt;br /&gt;Geser kanan tanpa mempertahankan sign&lt;br /&gt;(dengan nilai 0 sebagai pengisi bit paling&lt;br /&gt;kiri)&lt;br /&gt;22&lt;br /&gt;1. Bitwise AND&lt;br /&gt;Bitwise AND akan menghasilkan bit “1”, jika kedua operator&lt;br /&gt;bernilai bit “1”. Operasi bitwise AND dapat digambarkan sebagai berikut :&lt;br /&gt;Op1 Op2 Op1 &amp;amp; Op2&lt;br /&gt;0 0 0&lt;br /&gt;0 1 0&lt;br /&gt;1 0 0&lt;br /&gt;1 1 1&lt;br /&gt;2. Bitwise OR&lt;br /&gt;Bitwise OR akan menghasilkan bit “1”, jika salah satu operator&lt;br /&gt;bernilai bit “1”. Operasi bitwise OR dapat digambarkan sebagai baerikut :&lt;br /&gt;Op1 Op2 Op1 ¦ Op2&lt;br /&gt;0 0 0&lt;br /&gt;0 1 1&lt;br /&gt;1 0 1&lt;br /&gt;1 1 1&lt;br /&gt;3. Bitwise XOR ( Exclusive OR )&lt;br /&gt;Bitwise XOR akan menghasilkan bit “1”, jika kedua operator&lt;br /&gt;memiliki nilai bit yang berbeda. Operasi bitwise XOR dapat digambarkan&lt;br /&gt;sebagai berikut :&lt;br /&gt;Op1 Op2 Op1 ¦ Op2&lt;br /&gt;0 0 0&lt;br /&gt;0 1 1&lt;br /&gt;1 0 1&lt;br /&gt;1 1 0&lt;br /&gt;4. Bitwise Complement&lt;br /&gt;Bitwise Complement akan menghasilkan bit yang berlawanan&lt;br /&gt;dengan bit yang dioperasikan. Operasinya dapat digambarkan sebagai&lt;br /&gt;berikut :&lt;br /&gt;Op Op&lt;br /&gt;0 1&lt;br /&gt;1 0&lt;br /&gt;23&lt;br /&gt;Latihan 9. Bitwise.java&lt;br /&gt;class Bitwise{&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;int x,y;&lt;br /&gt;x = ~100;&lt;br /&gt;System.out.println("Nilai negasi x : "+x);&lt;br /&gt;x = 17 &amp;amp; 30;&lt;br /&gt;System.out.println("Nilai and : "+x);&lt;br /&gt;x = 17 | 30;&lt;br /&gt;System.out.println("Nilai or : "+x);&lt;br /&gt;x = 17 ^ 30;&lt;br /&gt;System.out.println("Nilai xor : "+x);&lt;br /&gt;x = 111;&lt;br /&gt;y = x &amp;gt;&amp;gt; 1;&lt;br /&gt;System.out.println("Nilai geser kanan : "+x);&lt;br /&gt;x = -111;&lt;br /&gt;y = x &amp;gt;&amp;gt; 1;&lt;br /&gt;System.out.println("Nilai geser kanan neg : "+x);&lt;br /&gt;x = 111;&lt;br /&gt;y = x &amp;gt;&amp;gt;&amp;gt; 1;&lt;br /&gt;System.out.println("Nilai geser kanan 1 bit 0 : "+x);&lt;br /&gt;x = -111;&lt;br /&gt;y = x &amp;gt;&amp;gt;&amp;gt; 1;&lt;br /&gt;System.out.println("Nilai geser kanan 1 bit 0 neg : "+x);&lt;br /&gt;x = 111;&lt;br /&gt;y = x &amp;lt;&amp;lt; 1;&lt;br /&gt;System.out.println("Nilai geser kiri : "+x);&lt;br /&gt;x = 1000;&lt;br /&gt;y = x &amp;lt;&amp;lt; 1;&lt;br /&gt;System.out.println("Nilai geser kiri : "+x);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;24&lt;br /&gt;G. Precedence Operator&lt;br /&gt;Operasi-operasi yang menggunakan operator dapat melibatkan lebih&lt;br /&gt;dari 1 operator dan 1 operand. Adapun urutan precedence operator dalam&lt;br /&gt;Java, dapat digambarkan dalam tabel berikut :&lt;br /&gt;Postfix operators [] . (params) expr++ expr--&lt;br /&gt;Unary operators ++expr --expr +expr -expr ~ !&lt;br /&gt;Creation or cast New (type)expr&lt;br /&gt;Multiplicative * / %&lt;br /&gt;Additive + -&lt;br /&gt;Shift &amp;lt;&amp;lt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;Relational &amp;lt;&amp;gt; &amp;lt;= &amp;gt;= instanceof&lt;br /&gt;Equality == !=&lt;br /&gt;Bitwise AND &amp;amp;&lt;br /&gt;Bitwise exclusive OR ^&lt;br /&gt;Bitwise inclusive OR ¦&lt;br /&gt;Logical AND &amp;amp;&amp;amp;&lt;br /&gt;Logical OR ¦¦&lt;br /&gt;Conditional ? :&lt;br /&gt;Assignment = += -= *= /= %= &amp;amp;= ^= ¦= &amp;lt;&amp;lt;= &amp;gt;&amp;gt;= &amp;gt;&amp;gt;&amp;gt;=&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-3019433964597781966?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/3019433964597781966/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/operator.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/3019433964597781966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/3019433964597781966'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/operator.html' title='Operator'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-8255500447880469768</id><published>2009-12-25T19:10:00.001-08:00</published><updated>2009-12-25T19:24:52.740-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teknologi'/><title type='text'>Harga Sony PS3 Turun, Departemen Pertahanan Amerika Borong 2.200 PS3 Untuk Upgrade Supercomputer</title><content type='html'>&lt;div class="entry"&gt;   &lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.beritateknologi.com/wp-content/uploads/2009/11/30__dodps3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="30__dodps3" border="0" class="alignnone size-full wp-image-9676" height="173" src="http://www.beritateknologi.com/wp-content/uploads/2009/11/30__dodps3.jpg" width="200" /&gt;&lt;/a&gt;Turunnya harga PS3 memang kabarmenggembirakan untuk para pecinta game di dunia. Bukan itu saja,ternyata momen seperti itulah yang ditunggu-tunggu oleh DepartemenPertahanan Amerika Serikat untuk memborong PS3 dalam jumlah yang cukupbesar. Kabarnya departemen tersebut telah memboyong 2.200 unit PS3.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sejumlah unit PS3 ini memang sengajadibeli untuk tujuan merancang supercomputer, yang mana dipercaya bahwaPS3 jauh lebih baik bila mereka harus membeli produk keluaran IBM.Selain harganya juga terpaut jauh, ke&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;butuhan Departemen Pertahanantersebut ternyata cukup dapat terpenuhi dengan PS3.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ini memang bukan yang pertama dilakukanoleh Departemen Pertahanan yang mana telah menggunakan konsol PS3 untuksupercomputer-nya. Sejumlah unit konsol PS3 yang baru tersebut sengajadigunakan untuk melengkapi kebutuhan kekurangan yang ada dimana awalnyahanya tersedia 336 unit PS3 yang telah digunakan oleh Angkatan UdaraAmerika Serikat. Menurut Justification Review Documents, pembelian yangdilakukan ini memang cukup sesuai budget yang dimiliki oleh DepartemenPertahanan.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Bayangkan saja, untuk memiliki satuserver 1U yang dikonfigurasikan dengan dual processor berkecepatan3.2GHz dibutuhkan biaya sekitar 8.000 USD atau sekitar 80 juta rupiah,sedangkan untuk membeli 2 unit konsol PS3 hanya dibutuhkan biaya 600USD atau sekitar 6 juta rupiah. Sangat terpaut jauh sekali bukanharganya?!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kalau dilihat dari segi performa, 1 selprocessor berkecepatan 3,2GHz dapat memberikan lebih dari 200 GFLOPS,sedangkan konfigurasi Sony PS3 memberikan sekitar 150 GFLOPS, yangkira-kira sepuluh kali lipat perbedaan biaya per GFLOP sehingga bisadipastikan bahwa memilih konsol Sony PS3 merupakan jalan terbaik yangdilakukan oleh pihak Departemen Pertahanan yang bisa digunakan untukaplikasi HPC.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-8255500447880469768?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/8255500447880469768/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/harga-sony-ps3-turun-departemen.html#comment-form' title='2 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8255500447880469768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8255500447880469768'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/harga-sony-ps3-turun-departemen.html' title='Harga Sony PS3 Turun, Departemen Pertahanan Amerika Borong 2.200 PS3 Untuk Upgrade Supercomputer'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-6977710067588705804</id><published>2009-12-25T19:00:00.001-08:00</published><updated>2009-12-25T19:09:49.748-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='teknologi'/><title type='text'>Nippon Institute of Technology Perkenalkan Robot e-NUVO Demi Tujuan Edukasi</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.beritateknologi.com/wp-content/uploads/2009/12/anit-zmp-humanoid-1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="anit-zmp-humanoid-1" border="0" class="alignnone size-full wp-image-10390" height="194" src="http://www.beritateknologi.com/wp-content/uploads/2009/12/anit-zmp-humanoid-1.jpg" width="178" /&gt;&lt;/a&gt;Perkembangan bidang robotik di Jepangmemang cukup pesat. Ambisi besar untuk memunculkan prototipe-prototiperobot humanoid memang sudah menjadi tujuan berbagai pihak di sana. Adayang tujuannya untuk bidang kesehatan, pusat perbelanjaan bahkan kiniada yang akan digunakan untuk tujuan edukasi. Para peneliti di Nippon Institute ofTechnolog, Harada Vehicle Design, ZMP dan ZNUG Design kini sedangmenggarap robot humanoid e-NUVO. Robot dengan tinggi 4 kaki inidirancang khusus sehingga ukurannya hampir sama dengan siswa sekolahdasar dan rencananya robot ini akan disatukan dalam kelas-kelas disekolah dasar.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dengan tujuan edukasi, robot humanoidini diprogramkan untuk mendidik anak-anak dan dibuat seramah mu&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;ngkinbagi lingkungan sekolah. Sudah tentu ini akan membantu para pengajaruntuk tetap bisa menangani kelas dengan baik. Hmmmm, cukup menarik yakalau di kelas ada robot yang bisa menemani kita belajar.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-6977710067588705804?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/6977710067588705804/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/nippon-institute-of-technology.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6977710067588705804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6977710067588705804'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/nippon-institute-of-technology.html' title='Nippon Institute of Technology Perkenalkan Robot e-NUVO Demi Tujuan Edukasi'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-6487032284660570251</id><published>2009-12-25T18:47:00.000-08:00</published><updated>2009-12-25T18:47:25.735-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Arshavin keliru soal Liga Inggris</title><content type='html'>&lt;div class="field field-type-filefield field-field-image"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item odd"&gt;&lt;a class="thickbox initThickbox-processed" href="http://sepakbola.com/sites/default/files/Andriy%20Arshavin%20cant%20believe%20Reuters.jpg" rel="gallery-4366" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" title="Arshavin sempat mengira Liga Inggris tidak sulit (Reuters)"&gt;&lt;img alt="Andrei Arshavin" class="imagecache imagecache-main" height="183" src="http://sepakbola.com/sites/default/files/imagecache/main/Andriy%20Arshavin%20cant%20believe%20Reuters.jpg" title="Arshavin sempat mengira Liga Inggris tidak sulit (Reuters)" width="258" /&gt;&lt;/a&gt;Nyaris genap setahun Andrei Arshavin berlaga di LigaPrimer. Lantas apa impresi bintang Arsenal itu tentang kompetisi yangkini dia geluti?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Arshavin bergabung dengan Arsenal dari klub Zenit St Petersburg padabulan Januari tahun 2009. Ini sekaligus mengakhiri episode panjangspekulasi transfer pemain asal Rusia tersebut, yang sebelumnya jugadiminati Barcelona.&lt;br /&gt;Semenjak kepindahannya ke Emirates, ESPN Star mencatat Arshavinsudah mengemas 12 gol dari 27 penampilan. Jumlah yang terbilang okeuntuk seorang pendatang baru, ya&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;ng juga beroperasi di sektor tengahlapangan alias sebagai gelandang serang.&lt;br /&gt;Meski begitu, apa yang dicapai pemain berusia 28 tahun tersebut takdicapai dengan mudah. Arshavin harus bekerja keras karena Liga Inggrisbegitu ketat.&lt;br /&gt;"Sebelum pindah ke Inggris, aku mengira jika Anda pemain bagus danbermain untuk tim besar maka semua akan jadi lebih mudah," ungkapArshavin kepada Sky Sports.&lt;br /&gt;"Tapi bahkan saat Anda melawan Burnley atau Wolverhampton, samasekali tidak gampang. Anda tak punya waktu untuk memutar ataumenggiring bola, jika bisa melakukan dua sentuhan, Anda beruntung,"lugas dia.&lt;br /&gt;Apapun, sudah pasti Arshavin akan berusaha sekuat tenaga untuk bisaselalu memberikan yang terbaik untuk Arsenal yang tengah bercokol diposisi tiga klasemen sementara.&lt;br /&gt;Akhir pekan ini 'Gudang Peluru' akan berusaha mempertahankan posisitersebut kala menghadapi Aston Villa yang punya poin setara, 35, danmenghuni peringkat empat. Arsenal sendiri punya surplus satu laga lebihbanyak dari Villa.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-6487032284660570251?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/6487032284660570251/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/arshavin-keliru-soal-liga-inggris.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6487032284660570251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6487032284660570251'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/arshavin-keliru-soal-liga-inggris.html' title='Arshavin keliru soal Liga Inggris'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-4516627323992321066</id><published>2009-12-25T18:30:00.001-08:00</published><updated>2009-12-25T18:41:32.227-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Lorenzo Nyaris Pensiun Dini</title><content type='html'>&lt;br /&gt;&lt;div class="pc" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;                                        &lt;img border="0" src="http://sports.okezone.com/photo/dt/content/2009/12/24/38/288053/eAn5O26p0w.jpeg" /&gt;                                        &lt;h5&gt;&lt;/h5&gt;&lt;/div&gt;&lt;br /&gt;                    &lt;!-- SIZER --&gt;                    &lt;br /&gt;&lt;!-- CONTENT --&gt;                    &lt;!-- skyscraper banner --&gt;                    &lt;!--div class="sky"&gt;                        &lt;script type='text/javascript'--&gt;            &lt;!--// &lt;![CDATA[                OA_show('Sports_Details_skyscraper');            // ]]&gt; --&gt;               &lt;!--/script&gt;                                                            &lt;/div--&gt;                        &lt;!-- skycsraper banner --&gt;                                                  &lt;h5 style="font-weight: normal;"&gt;&lt;strong&gt;GERNO DI LESMO&lt;/strong&gt;– Jorge Lorenzo bercerita bahwa dirinya sempat berencana mundur dariajang MotoGP. Beberapa kecelakaan beruntun sepanjang musim 2008 membuatpembalap Fiat Yamaha itu ketakutan. Benarkah?&lt;br /&gt;&lt;br /&gt;Ya,momentum Lorenzo sebagai debutan MotoGP nyaris berakhir pada musim2008. Itu setelah dia mengalami beberapa kecelakaan secara beruntun.Lorenzo mengalami kecelakaan saat sesi latihan di MotoGP China danCatalunya.&lt;br /&gt;&lt;br /&gt;Sempat terlintas dalam benak Lorenzo ketika itu, bahwa dirinyamemutuskan untuk berhenti dari balapan dua roda tersebut. “Saya sempatberpikir karir saya sudah berakhir,” cerita Lorenzo ketika itu.&lt;br /&gt;&lt;br /&gt;&lt;/h5&gt;&lt;h5 style="font-weight: normal;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/h5&gt;&lt;h5 style="font-weight: normal;"&gt;“Setelah empat kecelakaan berat, termasuk salah satunya pada sesilatihan di Barcelona. Ketika itu saya nyaris mematahkan kepala saya.Bahkan, akibat kecelakaan itu saya sempat hilang ingatan,” lanjutpembalap asal Spanyol itu.&lt;br /&gt;&lt;br /&gt;“Saya serius, saya sama sekali tidak ingat nama saya atau apa yang sayalakukan. Ketika ingatan saya kembali, saya sempat berpikir untukberhenti balapan,” tambahnya dikutip &lt;em&gt;Motorsprint&lt;/em&gt;, Jumat (25/12/2009).&lt;br /&gt;&lt;br /&gt;Kendati hanya menang satu kali di MotoGP Portugal, Lorenzo masih mampuberada di urutan keempat klasemen pembalap 2008. Musim berikutnya, diamenjadi pesaing utama dalam perebutan gelar juara.&lt;br /&gt;&lt;br /&gt;“Terima kasih karena pikiran manusia bisa berubah dengan cepat. Namun,yang pasti, saya berjanji kepada diri ini untuk mengubah pendirianmengenai olahraga ini,” tegas pembalap 22 tahun itu.&lt;br /&gt;&lt;/h5&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-4516627323992321066?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/4516627323992321066/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/lorenzo-nyaris-pensiun-dini.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4516627323992321066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/4516627323992321066'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/lorenzo-nyaris-pensiun-dini.html' title='Lorenzo Nyaris Pensiun Dini'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-6030017356565147415</id><published>2009-12-25T18:24:00.000-08:00</published><updated>2009-12-25T18:26:03.575-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Buku-buku Ini Dilarang!</title><content type='html'>&lt;div style="float: left; margin-right: 10px; width: 300px;"&gt;        &lt;div style="padding: 0px 0px 5px; width: 298px;"&gt;      &lt;div id="loadarea" style="margin-bottom: 5px; width: 298px;"&gt;&lt;img border="0" src="http://www.kompas.com/data/photo/2009/12/24/0151398p.jpg" width="298" /&gt;    &lt;/div&gt;&lt;div id="boxpoto" style="color: #666666; font-family: arial; font-size-adjust: none; font-size: 9px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin-bottom: 0px; text-align: right;"&gt;&lt;a href="http://nasional.kompas.com/read/xml/2009/12/26/08031264/Buku-buku.Ini.Dilarang#" style="color: #666666; font-family: arial; font-size-adjust: none; font-size: 9px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: none;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--- video --&gt;                                              &lt;div id="boxterkait" style="background-color: white; margin-bottom: 20px; width: 300px;"&gt;     &lt;b class="judulnolead"&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="font36 c_black"&gt;&lt;strong&gt;JAKARTA, KOMPAS.com - &lt;/strong&gt;Setelah berbulan-bulan membahas, Kejaksaan Agung akhirnya resmi melarang lima buku.Limabuku itu adalah Pembunuhan Massal Gerakan 30 September dan KudetaSoeharto (ditulis John Roosa, diterbitkan Institut Sejarah SosialIndonesia dan Hasta Mitra), Suara Gereja bagi Umat Penderitaan TetesanDarah dan Cucuran Air Mata Umat Tuhan di Papua Barat Harus Diakhiri(ditulis Socratez Sofyan Yoman, diterbitkan Reza Enterprise), Lekra TakMembakar Buku Suara Senyap LembarKebudayaan Harian Rakyat 1950-1965(ditulis Rhoma Dwi Aria Yuliantri dan Muhidin M Dahlan, diterbitkanMerakesumba LukamuSakitku), Enam Jalan Menuju Tuhan (ditulis Darmawan,diterbitkan Hikayat Dunia), dan Mengungkap Mi&lt;a name='more'&gt;&lt;/a&gt;steri Keragaman Agama(ditulis Syahruddin Ahmad, diterbitkan Yayasan Kajian AlquranSiranindi).&lt;/div&gt;&lt;!-- end judul + lead --&gt;                             &lt;!-- end headline --&gt;                       &lt;!-- isi berita --&gt;                               &lt;span id="article_body"&gt;Pelarangan buku itu termasuk dalam kinerja BidangIntelijen Kejaksaan Agung selama tahun 2009. Jaksa Agung Muda PembinaanIskamto—yang sebelumnya menjabat Jaksa Agung Muda Intelijen—memaparkanhal itu dalam jumpa pers di Sasana Pradana Kejaksaan Agung, Rabu lalu.Jaksa Agung Hendarman Supandji hadir dalam jumpa pers itu.&lt;br /&gt;KepalaPusat Penerangan Hukum Kejaksaan Agung Didiek Darmanto yang dihubungipada hari Kamis (24/12) menjelaskan, larangan terbit atas lima judulbuku tersebut ditujukan kepada penerbit. Penerbit tidak boleh lagimenerbitkan dan mengedarkan buku-buku itu. ”Kalau yang sudah beredar,kami minta kepada penerbit agar ditarik,” katanya.&lt;br /&gt;MenurutDidiek, buku-buku tersebut dilarang karena melanggar ketertiban umum.Substansi buku dinilai tidak sesuai dengan aturan. Namun, ketertibanumum yang mana yang dilanggar buku-buku itu, Didiek tidak menjelaskan.&lt;br /&gt;Bukankahmasyarakat berhak memperoleh informasi yang luas dan bebas? ”Bebas,tetapi tidak sebebas-bebasnya. Bebas, tetapi terkendali. Ada aturanmenjaga ketertiban,” katanya.&lt;br /&gt;Buku-buku itu sudah diteliti dalamtim penyeleksian (clearing house) Kejaksaan Agung sejak Mei 2009. Halitu disebutkan pada rapat kerja Jaksa Agung dengan Komisi III DPR pada11 Mei 2009.&lt;br /&gt;Pelarangan itu menimbulkan pertanyaan, bahkankritik. Di antaranya dari Ketua Forum Rektor Indonesia Edy SuandiHamid. Dia berpendapat, model pelarangan buku semacam itu mestinyadihindari. Informasi bagi publik mestinya dibuka seluas-luasnya.&lt;br /&gt;Edy,yang juga rektor Universitas Islam Indonesia Yogyakarta, menambahkan,pelarangan justru bisa berdampak kontraproduktif, apalagi bilaberkaitan dengan sejarah masa lalu. Masyarakat, yang saat ini sudahmengerti haknya memperoleh informasi, bisa mencurigai bahwa ada faktasejarah yang sengaja disembunyikan.&lt;br /&gt;Rhoma Dwi Aria Yuliantri,yang bukunya dilarang, berpendapat, sejarah adalah multitafsir, tidaktunggal. Terhadap alternatif kebenaran lain, masyarakat harus toleran.&lt;br /&gt;Mengenaibukunya yang dinyatakan dilarang oleh Kejaksaan Agung, Rhoma mengakubelum tahu substansi pelarangan. Bahkan, ia juga belum diberi tahuhal-hal apa di bukunya yang membuat menjadi terlarang. Yang pasti,melarang buku —sebagai karya intelektual—merupakan pelanggaran atas hakberkreasi.&lt;br /&gt;”Saya ini, kan, latar belakangnya sejarah. Ketika adafakta, saya menuliskannya. Dengan beragam versi sejarah, pembacamenjadi kaya dan terbuka dengan beragam versi. Kalau hanya satu versi,rasanya menjadi dipaksakan,” ujarnya.&lt;br /&gt;Berdasarkan catatan Kompas,kejaksaan sudah beberapa kali melarang peredaran buku. Tahun 2006,kejaksaan memeriksa dan mengawasi buku Menembus Gelap Menuju Terang 2,Atlas Lengkap Indonesia (33 provinsi) dan Dunia, serta Aku MelawanTeroris (Kompas, 3/1/2006).&lt;br /&gt;Tahun 2007, kejaksaan melarangsejumlah buku pelajaran sejarah untuk sekolah beredar. Alasannya,antara lain, tidak menyebutkan pemberontakan Partai Komunis Indonesia(PKI) di Madiun tahun 1948 dan hanya memuat keterlibatan G30S tanpamenyebut PKI pada tahun 1965 (Kompas, 10/3/2007).&lt;br /&gt;Ukuran apa yangsebenarnya digunakan kejaksaan saat menyatakan suatu buku dilarangberedar? Mengutip pendapat Edy Suandi Hamid, ”Kalau pelarangandilakukan oleh lembaga formal dan terkait dengan kekuasaan, akan munculdugaan bahwa pelarangan buku ini sesuai dengan kepentingan penguasa.”Nah, pelarangan buku oleh kejaksaan, sebenarnya demi kepentingan siapa?&lt;credit&gt;&lt;/credit&gt;&lt;strong&gt;(Dewi Indriastuti)&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-6030017356565147415?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/6030017356565147415/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/buku-buku-ini-dilarang.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6030017356565147415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/6030017356565147415'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/buku-buku-ini-dilarang.html' title='Buku-buku Ini Dilarang!'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-5112093485185150343</id><published>2009-12-25T17:44:00.001-08:00</published><updated>2009-12-25T17:45:10.331-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Inheritance &amp; Abstraction</title><content type='html'>&lt;b&gt;A.&amp;nbsp;&amp;nbsp;&amp;nbsp; Inheritance (Pewarisan)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Java mengizinkan kita untuk mendefinisikan suatu kelas yang bersifat generic. Selanjutnya, kelas tersebut dapat diturunkan lagi menjadi generic, kelas tersebut dapat diturunkan lagi menjadi kelas baru dengan sifat yang lebih spesifik. Kelas induk yang diturunkan disebut dengan superclass.&lt;br /&gt;kelas binatang adalah superclass. Dari kelas Herbivora &amp;amp;amp; Carnivora. Herbivora &amp;amp;amp; Carnivora sendiri berperan sebagai subclass. Namun Herbivora dapat menjadi superclass dari subclass kambing &amp;amp;amp; kerbau. Dan Carnivora dapat menjadi superclass dari subclass harimau &amp;amp;amp; anjing.&lt;br /&gt;&lt;b&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Membuat Kelas Turunan (Subclass)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Untuk melakukan proses penurunan suatu kelas, diperlukan kata kunci extends Bentuk umum dari penggunaan kata kunci tersebut sebagai berikut:&lt;br /&gt;&lt;br /&gt;Class nama-subclass extends nama-superclass&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; / / badan kelas&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Contoh listing program &lt;br /&gt;class A{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;public void setA (int nilai) {&lt;br /&gt;a = nilai;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getA ( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return a;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// membuat kelas turunan (subclass) dari A&lt;br /&gt;class B extends A{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private int b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;public void setB(int nilai) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; b = nilai;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getB( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return b;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class ContohKelasTurunan {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;//melakukan instansi terhadap kelas B&lt;br /&gt;B obj = new B( );&lt;br /&gt;&lt;br /&gt;//mengeset nilai objek dari kelas B&lt;br /&gt;obj.setA(100);&lt;br /&gt;obj.setB(200);&lt;br /&gt;&lt;br /&gt;//mendapatkan nilai yang terdapat dalam objek dari kelas B&lt;br /&gt;System.out.println(“Nilai a : “+ obj.getA( ) );&lt;br /&gt;System.out.println(“Nilai b : “+ obj.getB( ) );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;B.&amp;nbsp;&amp;nbsp;&amp;nbsp; Override Terhadap Method&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Pada saat kita mendefinisikan suatu method di dalam kelas turunan yang nama dan daftar parameternya sama persis seperti yang terdapat pada kelas induk, maka dikatakan kita telah melakukan override method yang tersimpan dalam kelas induk. Apabila kita melakukan pemanggilan method yang telah di-override melalui objek dari kelas turunan, maka yang akan dieksekusi adalah method yang terdapat pada kelas turunan, bukan yang terdapat kelas induk. Dengan kata lain, apabila kita melakukan override terhadap kelas induk, maka di dalam kelas turunan, method pada kelas induk akan disembunyikan keberadaannya (tidak tampak, tapi ada).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Contoh listing program:&lt;br /&gt;class A {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setA (int nilai) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a = nilai;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getA( ){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void tampilkanNilai ( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(“Nilai a : “ + getA( ) );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class B extends A {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setB (int nilai) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; b = nilai;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getB( ){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //melakukan override terhadap method tampilNilai( )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void tampilkanNilai ( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(“Nilai b : “ + getB( ) );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class DemoOverride {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main (String [ ] args){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; B obj = new B( );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; obj.setA( 100 );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; obj.setB( 200 );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //akan memanggil method yang terdapat pada kelas B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; obj.tampilkanNilai( );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Untuk memunculkan / menampakkan nilai A, maka perlu penambahan kata kunci super.&lt;br /&gt;class A {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setA (int nilai) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a = nilai;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getA( ){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return a;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void tampilkanNilai ( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(“Nilai a : “ + getA( ) );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class B extends A {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setB (int nilai) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; b = nilai;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getB( ){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //melakukan override terhadap method tampilNilai( )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void tampilkanNilai ( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; super.tampilkanNilai( );&amp;nbsp;&amp;nbsp;&amp;nbsp; //memanggil method dalam kelas A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(“Nilai b : “ + getB( ) );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class DemoOverride {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main (String [ ] args){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; B obj = new B( );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; obj.setA( 100 );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; obj.setB( 200 );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //akan memanggil method yang terdapat pada kelas B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; obj.tampilNilai( );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;C.&amp;nbsp;&amp;nbsp;&amp;nbsp; Abstraction (Abstrak)&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Untuk mendefinisikan sebuah kelas induk yang di dalamnya terdapat deklarasi method yang tidak memerlukan implementasi sama sekali. Method-method tersebut selanjutnya baru akan diimplementasikan oleh kelas-kelas turunannya. Method semacam ini disebut method abstrak.&lt;br /&gt;&lt;br /&gt;Bentuk umunya:&lt;br /&gt;abstract class namaKelas {&lt;br /&gt;/ / badan kelas&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Contoh listing program :&lt;br /&gt;// mendefinisikan kelas abstract&lt;br /&gt;abstract class A {&lt;br /&gt;// method abstrak, tidak memiliki kode implementasi&lt;br /&gt;abstract public void coba();&lt;br /&gt;&lt;br /&gt;// kelas abstrak masing diizinkan untuk mendefinisikan method non-abstrak&lt;br /&gt;public void cobajuga( ) {&lt;br /&gt;System.out.println(“Method di dalam kelas abstrak”);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class B extends A {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //method prosedure coba( )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void coba( ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(“Method di dalam kelas B”);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class DemoKelasAbstrak {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[ ] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; A ref;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // mendeklarasi referensi ke A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;B obj = new B( );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;ref = obj;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // ref menunjuk ke objek dari kelas B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ref.coba( );&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // memanggil method coba( ) di dalam B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ref.cobajuga( );&amp;nbsp;&amp;nbsp;&amp;nbsp; // memanggil method cobajuga( ) di dalam A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-5112093485185150343?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/5112093485185150343/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/inheritance-abstraction.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/5112093485185150343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/5112093485185150343'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/inheritance-abstraction.html' title='Inheritance &amp; Abstraction'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-8631980307352312556</id><published>2009-12-25T08:46:00.000-08:00</published><updated>2009-12-25T08:47:35.294-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>PHP 2</title><content type='html'>Saya yakin teman-teman sekalian pasti sudah tahu tentang Register, login, dan logout. Atau&lt;br /&gt;mungkin juga ada sebagian teman yang belum terlalu paham. Baiklah, Saya akan menjelaskan secara&lt;br /&gt;singkat saja yah.. Biasanya pada saat kita memasuki sebuah situs, kita diwajibkan untuk login&lt;br /&gt;terlebih dahulu. Tetapi sebelum login, kita harus mendaftar dulu nama, email, dan password yang&lt;br /&gt;kita inginkan untuk login nantinya. Baiklah, saya akan langsung menjelaskan scriptnya.&lt;br /&gt;Dalam contoh kali ini, saya membuat register, login, dan logout dalam 6 buah script.&lt;br /&gt;Yakni :&lt;br /&gt;1. Index.php&lt;br /&gt;2. Config.php&lt;br /&gt;3. Daftar.php&lt;br /&gt;4. Daftar2.php&lt;br /&gt;5. Login.php&lt;br /&gt;6. Dan logout.php&lt;br /&gt;Pertama -tama yang harus dilakukan tentu saja adalah membuat database-nya terlebih dahulu.&lt;br /&gt;Buatlah database dengan nama ?reglog?. Lalu buat table dengan nama ?members?. Lalu masukkan&lt;br /&gt;field berikut:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;?Id? type = bigint(20)&lt;br /&gt;?nama? type = varchar(50)&lt;br /&gt;?email? type = varchar (50)&lt;br /&gt;?password? type = varchar(8)&lt;br /&gt;Jika sudah, masukkan script berikut :&lt;br /&gt;&lt;br /&gt;Ini untuk mengkoneksikan dengan database...&lt;br /&gt;Config.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Index.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;!--.style1 {color: #FFFFFF}.style2 {color: #0000FF}--&gt;&lt;/style&gt;&lt;br /&gt;";&lt;br /&gt;}&lt;br /&gt;?&amp;gt;Welcome&lt;br /&gt;[&lt;a class="style2" href="http://www.blogger.com/logout.php"&gt;Logout&lt;/a&gt;] &lt;br /&gt;Klik &lt;a class="style2" href="http://www.blogger.com/?register=masukkan+nama%2Cemail%2Cdan+password+untuk+daftar"&gt;disini&lt;/a&gt; untuk register &lt;br /&gt;&lt;form action="index.php?login=success" method="post" name="form1"&gt;&lt;table border="0" style="width: 400px;"&gt;&lt;tbody&gt;&lt;tr bgcolor="#999999"&gt; &lt;td colspan="2"&gt;Login&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr bgcolor="#cccccc"&gt; &lt;td&gt;User : &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;input id="user" name="user" type="text" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr bgcolor="#cccccc"&gt; &lt;td&gt;Password : &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;input id="password" name="password" type="password" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="2"&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="2"&gt;&lt;input name="Submit" type="submit" value="Login !" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;Daftar.php&lt;br /&gt;&lt;style type="text/css"&gt;&lt;!--.style3 {font-size: 24px}--&gt;&lt;/style&gt;&lt;br /&gt;&lt;form action="index.php?register2=success" method="post" name="form1"&gt;&lt;table border="0" style="width: 400px;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td colspan="2"&gt;Register&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;Nama : &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;input id="nama" name="nama" type="text" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;Email : &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;input id="email" name="email" type="text" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;Password : &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;input id="password" name="password" type="password" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;Confirm Password : &lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;input id="c_password" name="c_password" type="password" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="2"&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="2"&gt;&lt;input name="Submit" type="submit" value="Register" /&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;Daftar2.php&lt;br /&gt;alert('Konfirmasi password harus sama dengan password !');&lt;br /&gt;javascript:history.go(-1);";&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;if((!empty($nama)) &amp;amp;&amp;amp; (!empty($email)) &amp;amp;&amp;amp; (!empty($password)))&lt;br /&gt;{&lt;br /&gt;$query = mysql_query("INSERT INTO $table (nama,email,password)&lt;br /&gt;values ('$nama','$email','$password');");&lt;br /&gt;print "Registrasi success&lt;br /&gt;&lt;a href="http://www.blogger.com/index.php"&gt;&lt;span style="color: blue;"&gt;Back to&lt;br /&gt;Home&lt;/span&gt;&lt;/a&gt;";&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;print "&lt;script&gt;alert('Maaf, tidak boleh ada field yang kosong !');javascript:history.go(-1);&lt;/script&gt;";&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Login.php&lt;br /&gt;Anda belum memasukkan username dan password !";&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;if($row != 0)&lt;br /&gt;{&lt;br /&gt;if($password != $result['password'])&lt;br /&gt;{&lt;br /&gt;print "&lt;br /&gt;&lt;br /&gt;&lt;center&gt;Password salah !";&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;setcookie("nama",$user);&lt;br /&gt;print "&lt;center&gt;Anda telah berhasil login dengan nama&lt;br /&gt;$user&lt;br /&gt;&lt;a href="http://www.blogger.com/index.php"&gt;&lt;span style="color: blue;"&gt;Back to home&lt;/span&gt;&lt;/a&gt;&lt;span style="color: blue;"&gt;";&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;print "&lt;/span&gt;&lt;center&gt;&lt;span style="color: blue;"&gt;Maaf, Username tidak terdaftar !&lt;br /&gt;Silahkan daftar dulu&lt;br /&gt;&lt;a href="http://www.blogger.com/index.php?register=masukkan%20nama,email,dan%20password%20untuk%20daftar"&gt;&lt;span style="color: blue;"&gt;disini&lt;/span&gt;&lt;/a&gt;&lt;span style="color: blue;"&gt;&lt;/span&gt;";&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Logout.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notes :&lt;br /&gt;Bila anda berhasil, maka pada saat anda telah mendaftar dan login sebagai nama yang anda daftarkan,&lt;br /&gt;maka pada halaman index akan tampil nama anda disamping teks welcome.&lt;br /&gt;&lt;/span&gt;&lt;/center&gt;&lt;/center&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6396189155406463002-8631980307352312556?l=informationandtechnologi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://informationandtechnologi.blogspot.com/feeds/8631980307352312556/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/php-2.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8631980307352312556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6396189155406463002/posts/default/8631980307352312556'/><link rel='alternate' type='text/html' href='http://informationandtechnologi.blogspot.com/2009/12/php-2.html' title='PHP 2'/><author><name>sandhy's blog</name><uri>http://www.blogger.com/profile/11671054560631807580</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_tB-vtIYfVR8/SyQ80GRnlpI/AAAAAAAAAAU/vKhrboa7_Sw/S220/B_c00L+!!.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6396189155406463002.post-5261008568387241402</id><published>2009-12-25T04:59:00.000-08:00</published><updated>2009-12-25T08:57:09.526-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='pemrograman web'/><title type='text'>CSS</title><content type='html'>&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cuser%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cuser%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso" rel="Edit-Time-Data"&gt;&lt;/link&gt;&lt;o:smarttagtype name="country-region" namespaceuri="urn:schemas-microsoft-com:office:smarttags"&gt;&lt;/o:smarttagtype&gt;&lt;o:smarttagtype name="City" namespaceuri="urn:schemas-microsoft-com:office:smarttags"&gt;&lt;/o:smarttagtype&gt;&lt;o:smarttagtype name="place" namespaceuri="urn:schemas-microsoft-com:office:smarttags"&gt;&lt;/o:smarttagtype&gt;&lt;style&gt;&lt;!-- /* Font Definitions */ @font-face	{font-family:Wingdings;	panose-1:5 0 0 0 0 0 0 0 0 0;	mso-font-charset:2;	mso-generic-font-family:auto;	mso-font-pitch:variable;	mso-font-signature:0 268435456 0 0 -2147483648 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal	{mso-style-parent:"";	margin:0in;	margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:12.0pt;	font-family:"Times New Roman";	mso-fareast-font-family:"Times New Roman";}h2	{mso-margin-top-alt:auto;	margin-right:0in;	mso-margin-bottom-alt:auto;	margin-left:0in;	mso-pagination:widow-orphan;	mso-outline-level:2;	font-size:18.0pt;	font-family:"Times New Roman";	font-weight:bold;}a:link, span.MsoHyperlink	{color:blue;	text-decoration:underline;	text-underline:single;}a:visited, span.MsoHyperlinkFollowed	{color:purple;	text-decoration:underline;	text-underline:single;}p	{mso-margin-top-alt:auto;	margin-right:0in;	mso-margin-bottom-alt:auto;	margin-left:0in;	mso-pagination:widow-orphan;	font-size:12.0pt;	font-family:"Times New Roman";	mso-fareast-font-family:"Times New Roman";}code	{font-family:"Courier New";	mso-ascii-font-family:"Courier New";	mso-fareast-font-family:"Times New Roman";	mso-hansi-font-family:"Courier New";	mso-bidi-font-family:"Courier New";}pre	{margin:0in;	margin-bottom:.0001pt;	mso-pagination:widow-orphan;	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;	font-size:10.0pt;	font-family:"Courier New";	mso-fareast-font-family:"Times New Roman";}span.hide	{mso-style-name:hide;}@page Section1	{size:8.5in 11.0in;	margin:1.0in 1.25in 1.0in 1.25in;	mso-header-margin:.5in;	mso-footer-margin:.5in;	mso-paper-source:0;}div.Section1	{page:Section1;} /* List Definitions */ @list l0	{mso-list-id:114451236;	mso-list-template-ids:1531772624;}@list l0:level1	{mso-level-number-format:bullet;	mso-level-text:;	mso-level-tab-stop:.5in;	mso-level-number-position:left;	text-indent:-.25in;	mso-ansi-font-size:10.0pt;	font-family:Symbol;}@list l1	{mso-list-id:1707824867;	mso-list-template-ids:-198542308;}@list l1:level1	{mso-level-tab-stop:.5in;	mso-level-number-position:left;	text-indent:-.25in;}ol	{margin-bottom:0in;}ul	{margin-bottom:0in;}--&gt;&lt;/style&gt;  Css atau Cascading style sheet merupakan bahasa untuk memperindah halaman web. Pengolahannya jauh lebih mudah karena hanya perlu membuat satu file saja sebagai rujukan semua file html yang kita buat. Sehingga apabila di kemudian hari tampilan ingin dirubah, kita hanya perlu merubah file CSS nya saja sekalipun jumlah halaman html kita puluhan atau bahkan ratusan. Untuk membuat halaman HTML yang di aturtampilannya oleh CSS, sisipkan kode berikut pada halaman html di antara tag  &lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div align="center" class="MsoNormal" style="margin-bottom: 12pt; text-align: center;"&gt;&lt;span style="color: red;"&gt;&lt;link href="file.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;file.css&lt;/b&gt;adalah nama file css yang kita buat. Apabila nama file CSs yang kita buat adalah &lt;b&gt;template.css&lt;/b&gt;, maka baris tersebut disesuaikan dengan nama filenya.&lt;br /&gt;&lt;div class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="margin-bottom: 12pt; text-align: center;"&gt;&lt;span style="color: red;"&gt;&lt;link href="template.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;Adapun file CSS-nya sendiri adalah sebuah file text biasa yang disimpan dengan akhiran &lt;b&gt;.css&lt;/b&gt; yang berisikan kode CSS. jangan lupa bahwa file css harus berada satu folder dengan file - file HTML yang kita rubah.&lt;br /&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;Pelanjaran singkat ini ditujukan untuk orang yang ingin mulai menggunakan CSS dan sebelumnya tidak pernah menulis sebuat syle sheet. &lt;br /&gt;Pelajaran ini tidak menjelaskan benyak mengenai CSS. Hal ini hanya menjelaskan bagaimana membuat sebuah file HTML, sebuah file CSS dan bagaimana membuat keduanya berkerja sama. Setelah itu, anda dapat membaca beberapa &lt;a href="http://www.erasparsa.com/w3/Style/Examples/011/firstcss.id.html#reading"&gt;pelajaran lain&lt;/a&gt; untuk menambah lebih banyak lagi fitur kedalam file HTML dan CSS. Atau anda dapat beralih menggunakan sebuah &lt;a href="http://www.w3.org/Style/CSS/#editors"&gt;editor HTML atau CSS&lt;/a&gt; khusus yang dapat membantu anda membuat situs situs yang kompleks. &lt;br /&gt;Di akhir pelajaran ini, anda akan selesai membuat sebuah file HTML yang terlihat sebagai berikut: &lt;br /&gt;Hasil halaman HTML, dengan warna dan tata letak, seluruhnya menggunakan CSS. &lt;br /&gt;Sebagai catatan saya tidak menganggap HTML ini indah ☺ &lt;br /&gt;&lt;img alt="Alert! Advanced:" border="0" height="44" src="file:///C:/DOCUME%7E1/user/LOCALS%7E1/Temp/msohtml1/01/clip_image002.gif" v:shapes="_x0000_i1026" width="50" /&gt;Bagian bagian yang tampak seperti ini adalah &lt;i&gt;tidak wajib.&lt;/i&gt; Hal tersebut mengandung penjelasan lebih lanjut mengenai kode-kode HTML dan CSS yang terdapat dalam contoh. Tanda “perhatian!” diawal menandakan bahwa ini adalah materi yang lebih sulit dari teks yang lain. &lt;br /&gt;&lt;h2&gt;Langkah 1: menulis HTML &lt;/h2&gt;Untuk pelajaran, saya menyarankan anda untuk menggunakan alat yang sangat sederhana. Seperti, Notepad (bila menggunakan Windows), TextEdit (untuk Mac) atau KEdit (bila menggunakan KDE) dapat berkerja dengan baik. Setelah anda mengerti prinsipnya, anda dapat beralih ke peralatan yang lebih canggih, atau bahkan ke program-program komersil, seprti Style Master, Dreamweaver atau GoLive. Tetapi untuk CSS file anda yang pertama, adalah sesuatu hal yang baik untuk bila perhatian anda tidak teralihkan dengan banyak fitur yang terlalu canggih bagi. &lt;br /&gt;Jangan menggunakan pengolah kata, seperti Microsoft Word atau OpenOffice. Mereka pada umumnya akan membuat file-file yang tidak dapat dibaca oleh browser web. Untuk HTML dan CSS, kita menginginkan file teks, yang sederhana. &lt;br /&gt;Langkah&amp;nbsp;1 ialah dengan membuka editor teks anda (Notepad, TextEdit, KEdit, atau apa pun favorit anda), mulai dengan file yang kosong dan ketik berikut ini kedalamnya: &lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp; &lt;title&gt;Halaman dengan style saya yang pertama&lt;/title&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;ul class="navbar"&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/index.html"&gt;Home page&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/renungan.html"&gt;Renungan&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/kota.html"&gt;Kotaku&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/links.html"&gt;Link-link&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;h1&gt;Halaman dengan style saya yang pertama&lt;/h1&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;Selamat datang ke halaman dengan style saya!&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;Halaman ini tidak ada gambar, tatapi paling tidak memiliki style.&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;Dan juga memiliki link, meskipun mereka tidak pergi kemana-mana…&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;Disini seharusnya ada lebih banyak lagi, tetapi saya belum tahu apa.&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;address&gt;Dibuat 5 April 2004&lt;br /&gt;&lt;/address&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp; oleh diriku sendiri.&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Malah anda tidak harus mengetiknya: anda dapat melakukan copy dan paste dari halaman ini ke dalam editor. &lt;br /&gt;(Bila anda menggunakan TextEdit pada Mac, jangan lupa memberi tahu TextEdit bahwa teksnya benar-benar teks sederhana (plain text), dengan pergi ke menu Format dan memilih “Make plain teks”.) &lt;br /&gt;&lt;img alt="Alert! Advanced:" border="0" height="59" src="file:///C:/DOCUME%7E1/user/LOCALS%7E1/Temp/msohtml1/01/clip_image003.gif" v:shapes="_x0000_i1027" width="67" /&gt;Baris pertama dari file HTML diatas memberi tahu browser apa tipe HTML-nya (DOCTYPE berarti DOCument TYPE). Dan dalam hal ini, adalah HTML versi&amp;nbsp;4.01. &lt;br /&gt;Kata-kata yang tertulis diantara &amp;lt; dan &amp;gt; dinamakan &lt;i&gt;tag,&lt;/i&gt; dan seperti yang ada lihat, dokumen ini terdapat di antara tag  dan . Antara  dan ada tempat untuk berbagai informasi yang tidak ditampilkan di layar. Saat ini pada tempat tersebut terdapat judul dari dokumen, tetapi kita akan menambahkan juga style sheet CSS disana. &lt;br /&gt;Bagian  adalah tempat aktual dari isi dokumen. Secara garis besar, segala sesuatu yang ditempatkan disitu akan ditampilkan, kecuali teks yang terdapat diantara , yang berfungsi sebagai komentar bagi diri kita sendiri. Hal ini akan diabaikan oleh browser. &lt;br /&gt;Dalam contoh, tag &lt;br /&gt;&lt;ul&gt;memperkenalkan kita pada “Unordered List (daftar tak beraturan)”, dalam artian, sebuah daftar yang isinya tidak bernomor. Tag&lt;li&gt; adalah awal dari “List Item (Item dari daftar).” Tag  adalah untuk “Paragraph (alinea/paragraf).” Dan &lt;a href="http://www.blogger.com/post-edit.do"&gt; adalah untuk jangkar “Anchor (jangkar),” yang merupakan hal yang membuat sebuah hyperlink. &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.do"&gt;&lt;img alt="Source HTML terlihat di Notepad" border="0" height="432" src="file:///C:/DOCUME%7E1/user/LOCALS%7E1/Temp/msohtml1/01/clip_image005.jpg" v:shapes="_x0000_i1028" width="554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.do"&gt;Editor Notepad menunjukan sumber HTML. &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.do"&gt;&lt;img alt="Alert! Advanced:" border="0" height="59" src="file:///C:/DOCUME%7E1/user/LOCALS%7E1/Temp/msohtml1/01/clip_image003.gif" v:shapes="_x0000_i1029" width="67" /&gt;Bila anda ingin mengetahui apa arti dari nama yang berada diantara &amp;lt;…&amp;gt;, salah satu tempat yang baik untuk memulai adalah &lt;/a&gt;&lt;a href="http://www.w3.org/MarkUp/Guide/"&gt;&lt;cite&gt;Getting started with HTML.&lt;/cite&gt;&lt;/a&gt; Tapi sedikit penjelasan mengenai struktur dari halaman HTML contoh milik kita. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal"&gt;Tag “ul” adalah sebuah daftar      dengan sebuah hyperlink per item. Ini akan kita pergunakan sebagai “menu      navigasi situs,” yang me-link ke halaman-halaman lain dari halaman Web      kita. Sebagai anggapan, seluruh halaman dari situs kita mempunya menu yang      serupa. &lt;/li&gt;&lt;li class="MsoNormal"&gt;Elemen-elemen “h1” dan “p”      adalah elemen elemen yang membentuk konten yang unik dari halaman ini,      sedangkan tanda tangan (signature) dibagian bawah (“address”) akan tampil      serupa di seluruh halaman situs. &lt;/li&gt;&lt;/ul&gt;Perhatikan bahwa saya tidak menutup elemen “li”dan “p”. Dalam HTML (tapi bukan dalam XHTML), tidak menuliskan tag penutup  dan &lt;br /&gt;adalah sesuatu yang diperbolehkan, seperti apa yang saya lakukan disini, untuk membuat teks lebih mudah dibaca. Tetapi jika anda inginkan, anda bisa menambahkannya sendiri.   Mari kita asumsikan bahwa halaman ini akan menjadi sebuah halaman dari situs Web dengan halaman-halaman yang serupa. Sesuatu yang umum untuk halaman-halaman website saat ini, yang ini memiliki menu yang me-link ke halaman-halaman lain di situs ini, beberapa konten yang unik dan sebuah tanda tangan (signature). &lt;br /&gt;Sekarang pilih “Save As…” dari menu File, arahkan ke ke direktori tempat anda ingin menaruhnya (Desktop pilihan yang baik) dan simpan file tersebut sebagai “halamanku.html”. Jangan tutup dulu editor tersebut, kita akan menggunakannya lagi. &lt;br /&gt;(Bila anda menggunakan TextEdit di Mac OS X sebelum versi 10.4, anda akan melihat opsi untuk tidak menambahkan extension .txt pada tampilan Save as. Pilih opsi tersebut, karena nama “halamanku.html” sudah memiliki sebuah extension. Versi TextEdit yang lebih baru akan memperhatikan extension .html secara otomatis.) &lt;br /&gt;Sekarang, buka file tersebut di sebuah browser. Anda dapat melakukannya dengan cara berikut: cari file tersebut dengan file manager (Windows Explorer, Finder atau Konqueror) dan mengklik atau menkliknya dua kali. File tersebut seharusnya terbuka di default Web browser anda. (Bila tidak, buka browser anda dan seret (drag) file tersebut kedalamnya) &lt;br /&gt;Seperti yang anda lihat, halaman tersebut tampak membosankan… &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Langkah 2: menambahkan beberapa warna&lt;/h2&gt;Anda mungkin melihat beberapa teks hitam dengan latar belakang putih, tetapi tergantung dari bagaimana brorser tersebut dikonfigurasi. Jadi salah satu hal mudah yang dapat kita lakukan untuk membuat halaman tersebut menjadi lebih &lt;st1:place w:st="on"&gt;&lt;st1:city w:st="on"&gt;gaya&lt;/st1:city&gt;&lt;/st1:place&gt; adalah dengan menambahkan beberapa warna. (Biarkan browser tetap terbuka, akan kita gunakan kembali nanti.) &lt;br /&gt;Kita akan mulai dengan sebuah style sheet yang dibuat di dalam file HTML. Kemudian, kita akan menaruh HTML dan CSS pada file yang terpisah. File terpisah merupakan hal yang baik, karena akan lebih mudah menggunakan style sheet yang sama untuk beberapa file HTML: anda hanya perlu menuliskan style sheet tersebut sekali. Tetapi untuk langkah ini, kita akan menaruhnya di sebuah file. &lt;br /&gt;Kita perlu menambahkan sebuah elemen &lt;style&gt; pada file HTML. Stylesheet tersebut akan berada didalam elemen itu. Jadi kembali ke jendela editordan tambahkan &lt;st1:place w:st="on"&gt;&lt;st1:city w:st="on"&gt;lima&lt;/st1:city&gt;&lt;/st1:place&gt;baris berikut dibagian head dari file HTML. Baris-baris yang di tambahkan tampildengan warna merah. &lt;/p&gt;&lt;pre&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;&lt;/pre&gt;&lt;pre&gt;&lt;html&gt;&lt;/pre&gt;&lt;pre&gt;&lt;head&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;title&gt;Halaman dengan style saya yang pertama&lt;/title&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;style type="text/css"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;body {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;color: purple;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;background-color: #d8da3d }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;[dsb.]&lt;/pre&gt;Baris pertama menjelaskan bahwa ini adalah sebuah style sheet dan ditulisdalam CSS (“text/css”). Baris kedua mengatakan bahwa kita menambahkan style kedalam elemen “body”. Yang ketiga menjadikan teks berwarna ungu dan barisberikutnya menjadikan latar belakang jadi kuning kehijauan. &lt;img alt="Alert! Advanced:" border="0" height="59" src="file:///C:/DOCUME%7E1/user/LOCALS%7E1/Temp/msohtml1/01/clip_image003.gif" v:shapes="_x0000_i1030" width="67" /&gt;Style sheet dalam CSSterbuat dari aturan-aturan. Tiap aturan memiliki tiga bagian: &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;i&gt;Selector&lt;/i&gt; (dalam      contoh: “body”), memberi tahu browser bagian dokumen (elemen HTML) yang      mana yang terkena dampak aturan tersebut; &lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;i&gt;property&lt;/i&gt; (dalam      contoh, 'color' dan 'background-color' keduanya adalah property), yang      menentukan aspek dari elemen yang sedang di atur; &lt;/li&gt;&lt;li class="MsoNormal"&gt;dan &lt;i&gt;value&lt;/i&gt; ('purple'      dan '#d8da3d'), yang memberikan nilai pada property dari style. &lt;/li&gt;&lt;/ol&gt;Contoh tersebut memperlihatkan bahwa aturan-aturan tersebut bisadikombinasikan. Kita memiliki dua set property, jadi kita juga bisa membuat duaaturan yang berbeda: &lt;pre&gt;body { color: purple }&lt;/pre&gt;&lt;pre&gt;body { background-color: #d8da3d }&lt;/pre&gt;tetapi karena kedua atauran tersebut hanya berdampak pada body, kita hanyamenulis “body” setu kali dan menulis kedua property dan value bersama. Untukmengetahui lebih lanjut mengenai selectors, baca &lt;a href="http://www.w3.org/Style/LieBos2e/enter/"&gt;bab 2&lt;/a&gt; dari &lt;cite&gt;Lie &amp;amp;Bos&lt;/cite&gt;. Latar belakang dari elemen body juga akan menjadi latar belakang dariseluruh dokumen. Kita belum memberi elemen-elemen lain (p, li, address…) latarbelakang apapun secara eksplisit, jadi secara normal mereka tidak mempunyainya(atau: akan menjadi transparan). Property 'color' menetapkan warna teks darielemen body, tetapi elemen elemen lain dalam body akan turut mewarisi warnatersebut, kecuali bila secara eksplisit di kesampingkan . (Kita akan menambahkanbeberapa warna lain nanti.) Sekarang simpan file ini (gunakan “Save” dari menu File) dan balik kejendela browser. Bila anda menekan tombol “Reload”, tampilan seharusnya berubahdari halaman “menbosankan” menjadi sebuah halaman yang berwarna (tetapi masihagak membosankan). Selain dari daftar link diatas, seluruh teks sekarangseharusnya berwarna ungu dengan latar belakang kuning kehijauan. &lt;img alt="Gamb
