Terima kasih telah singgah! Semoga kita segera berjumpa lagi

Kamis, 22 September 2011

Belajar HTML




Belajar HTML yang merupakan dasar dari pembuatan website :

HTML (Hypertext Markup Language) merupakan bahasa yang digunakan untuk membuat website. Menggunakan tag untuk mendeklarasikan sesuatu dan tag tersebut tidak ditampilkan tetapi tag tersebut memberi tahu browser bagaimana cara menampilkan dokumen website. Serta dapat saling berhubungan dengan dokumen HTML lain yang dikenal dengan istilah link.
Suatu halaman website sebenarnya hanya sebuah halaman teks, jika anda menggunakan browser internet explorer dan anda mengklik view – source, maka anda dapat melihat teks dari web tersebut. Tetapi teks tersebut diterjemahkan oleh browser menjadi halaman website yang enak dilihat. Teks merupakan bahasa universal bagi komputer, yang berarti setiap dokumen teks (termasuk website) yang anda buat melalui Windows dapat dibaca di sistem perasi lain seperti Mac OS, Linux, Unix dan lainnya.

HTML dan hal-hal yang berkaitan dengan website distandarisasi oleh sebuah badan yang disebut World Wide Web Consortium (W3C). Standard terbaru, konsep dan proposal mengenai starndarisasi web dapat dilihat di http://www.w3.org. Standar untuk HTML terbaru adalah HTML 4.0 yang telah didukung oleh bermacam-macam browser seperti Microsoft Internet Explorer, Netscape Navigator, Opera, Mozilla, Safari dan masih banyak lagi. Browser menterjemahkan tag yang terdapat pada dokumen HTML. Kita akan segera membicarakan mengenai tag.
Suatu halaman web merupakan file teks yang berarti anda dapat membuatnya hanya dengan menggunakan notepad saja. Bahkan jika anda masih pertama kali mempelajari HTML, notepad merupakan alat yang tepat. Saya menyarankan untuk menggunakan editplus karena menurut saya enak aja dipakainya, tetapi anda bebas menggunakan teks editor lain.
Jika anda baru pertama kali mengenal HTML, hindari Program WYSIWIG (What You See Is What You Get) seperti Dreamweaver atau Frontpage/Web Expression. Program-program ini memang memudahkan anda membuat website tetapi anda akan kurang memahami HTML, gunakan Frontpage atau Dreamweaver apabila anda sudah paham mengenai HTML.
Sekarang buka saja notepad anda dan kita mulai.
Kode HTML pertama

Buka notepad dan tuliskan kode dibawah ini
Hello World
Simpan file tersebut dengan nama hello.html didalam suatu folder (misal c:\webku) dan buka file HTML tersebut dengan browser kesukaan anda. Hasilnya seperti ini:
Hello <b>World!!</b>
Oke jadi apa yang dimaksud oleh “<” dan “>”, ketika anda menuliskan sesuatu diantara tanda “<” dan “>” maka anda membuat sesuatu yang disebut dengan tag, kalau anda lihat dikamus bahasa inggris tag artinya tanda/label. Sebagai contoh tag <b> maksudnya untuk memulai huruf tebal (bold) dan tag </b> merupakan tag penutup untuk menghentikan huruf tebal.
Sebuah halaman HTML yang baik harus memiliki tag <head> dan <body>, tapi kita akan membicarakan masalah ini belakangan. Yang penting sekarang pahami dulu mengenai tag HTML. Sekarang akan kita pelajari lebih jauh mengenai tag HTML.
Tag HTML dibagi menjadi dua, yaitu tag HTML yang memiliki penutup (containers) atau yang berdiri sendiri (standalone).
Containers
Kebanyakan tag HTML adalah containers (kita sebut containers saja sebab sulit mencari terjemahannya dalam bahasa Indonesia) yang berarti tag tersebut memiliki pembuka (batas awal) dan penutup (batas akhir). Teks yang berada diantara tag pembuka dan penutup akan berubah sesuai dengan fungsi dari tag tersebut. Perhatikan contoh berikut:
Hello <i>World!!</i><br>
Hasil:
Hello World!!
Tag <i> berguna untuk memiringkan teks (italic) tag <i> memiliki penutup yaitu </i>. Tag penutup selalu ditandai dengan “/”. Contoh diatas terdapat teks World!! diantara tag pembuka <i> dan tag penutup </i> sehingga menghasilkan tulisan World!! yang miring. Tag pembuka memiliki atribut tetapi tag penutup tidak memiliki atribut.
Standalone Tag
Beberapa tag tidak memerlukan penutup sebab tag tersebut hanya berfungsi untuk menempatkan sebuah elemen pada halaman web. Sebagai contoh tag <img> yang merupakan tag untuk memasang sebuah gambar didalam halaman web. Tag lain yang tidak memiliki penutup adalah<br> yang berguna untuk memberi jarak antar teks dan tag <hr> untuk memberi garis. Tag HTML cukup banyak jumlahnya, anda dapat mencarinya dibuku-buku atau mencarinya melalui google untuk mengetahui apa saja jenis tag HTML. Tapi saya akan beritahu yangpenting-penting saja.
Atribut
Atribut dipasang didalam tag pembuka untuk menambahkan fungsi dari tag tersebut. Setiap tag memiliki beberapa atribut dan dipasang sesudah nama tag dibatasi oleh spasi. Urutan atribut tidak perlu diperhatikan. Kebanyakan atribut memiliki nilai yang dipanggil dengan menggunakan tanda “=” sesudah nama atribut. Bingung? coba kode berikut ini dijamin anda mengerti:
Hello <font face=”verdana” size=”2″ color=”red”>World!!</font>
Hasilnya:
Hello World!!
Tulisan World!! terletak ditengah tag <font> nah tag <font> memiliki atribut face, size dan color yang dapat anda ubah nilainya. Cobalah untuk mengubah ukuran (size) menjadi 3 atau jenis fontnya ubahlah dari verdana menjadi arial. Kira-kira seperti itu kegunaan atribut. Bagaimana? lanjut?
HTML Entity
Jika anda ingin menuliskan karakter khusus dalam web, maka anda perlu menulisnya menggunakan kode khusus. Kode khusus ini dikenal dengan istilah HTML entity. Sebagai contoh anda ingin menulis seperti ini:
Saya belajar web
Anda lihat ada jarak spasi antara belajar dan web. Anda tidak bisa membuat spasi dengan menekan tombol space bar berkali-kali. Meskipun pada kode HTML hasilnya terdapat jarak namun browser hanya membacanya sekali, jadi sebanyak apapun space bar yang tekan browser hanya membacanya satu spasi. Lalu bagaimana caranya? Spasi dalam HTML memiliki kode HTML entity yaitu &nbsp; jadi untuk membuat seperti contoh diatas anda perlu menulisnya seperti ini:
Saya belajar&nbsp;&nbsp;&nbsp;&nbsp;web
HTML entity selalu diawali dengan “&” dan diakhiri dengan “;” ada banyak sekali HTML entity anda dapat mencarinya, dan lagi-lagi saya akan menyuruh anda mencarinya sendiri melalui google.
Struktur Dokumen HTML
Tadi sudah saya katakan bahwa HTML yang baik memiliki tag <head> dan <body>. <head>mendefiniskan bagian header dari dokumen HTML yang berisi informasi mengenai dokumen HTML tersebut. Tag <head> tidak memiliki atribut tetapi memiliki container khusus didalam header seperti<base>, <meta>, dan <title>. Tag <body> mendefinisikan awal dari isi website dan ditutup dengan </body>. Tag <body> berisi isi dokumen yang akan tampil di browser anda. Oke sekarang cobalah kode berikut ini:
<html>
<head>
<title>Your title</title>
</head>
<body bgcolor=”#cccccc”>
Hello <b>World!!</b>
</body>
</html>
Hasilnya didalam Microsoft Internet Explorer :
Anda lihat teks yang berada diantara tag <title> muncul dibagian atas browser. Apapun yang anda tulis diantara tag <body> akan muncul sebagai isi dari website anda. Jika anda lihat terdapat tag <body bgcolor=”#cccccc”> bgcolor merupakan atribut dari <body> yang berguna untuk memberi warna pada background halaman website. Pelajari dan pahami kode tersebut maka anda akan mudah untuk mempelajari kode selanjutnya.
Susun file Anda
Sangat penting untuk meletakkan file-file HTML anda. Akan lebih baik jika anda membuat folder untuk meletakkan file-file HTML dan didalamnya anda membuat subfolder (misalnya images) untuk menyimpan file-file gambar. Semakin sering anda membuat website anda akan semakin berpengalaman dan mengetahui teknik dalam menyusun file. Jadi ini tergantung pengalaman anda.
index.html
Ketika anda membuka dhimasronggobramantyo.com/belajar.html maka otomatis browser akan membuka file belajar.html. Tetapi jika kita membuka dhimasronggobramantyo.com saja, file apa yang dibuka? Semua server web otomatis akan mencari file index.html.
Karena itu jika website anda memiliki banyak halaman, anda harus memiliki sebuah file index.html yang akan menjadi halaman pertama dari website anda.
Oke, sekarang kita pelajari tag-tag HTML yang penting. Semua kode HTML berikut ini harus ditulis didalam tag <body>
Teks dan Paragraf
Header/judul akan membuat mata pembaca tertuju pada judul dan tertarik untuk membacanya. Dengan menggunakan tag heading maka search engine dapat membaca seberapa penting isi dari suatu website.
Heading merupakan container yang diawali dengan tag <h1> dan ditutup dengan tag </h1>. Ada 6 level heading mulai dari h1 sampai h6.
Cobalah kode berikut ini:
<h1>My First HTML</h1>
<h2>My First HTML</h2>
<h3>My First HTML</h3>
<h4>My First HTML</h4>
<h5>My First HTML</h5>
<h6>My First HTML</h6>
Hasil:
Saya rasa anda dapat dengan mudah memahami kode tersebut, sekarang kita coba tag HTML penting lainnya. <p> digunakan untuk membuat paragraf, ini merupakan salah satu tag yang banyak digunakan, tag penting lainnya adalah <b> untuk menebalkan,<i> untuk memiringkandan <u> untuk garis bawah
Sekarang coba kode berikut ini:
<p>Halo, nama saya <b>Budi</b> dan
saya ingin belajar HTML.</p>
<p>Ini merupakan <i>kode HTML pertama saya</i> dan saya
belajar untuk <u>memformat</u> teks dalam HTML </p>
Bagaimana hasilnya? silahkan anda coba sendiri, jika anda selalu melihat contoh dihalaman ini, anda tidak akan mencoba :)
Beberapa tag mempunyai atribut ALIGN, termasuk <p> dan <h1> – <h6>. ALIGN berguna untuk membuat teks rata kiri, tengah atau kanan. Cobalah kode berikut:
<h1 align=”center”>Nama saya Jono</h1>
<p>Halo nama saya Jono dan saya lagi belajar HTML</p>
<p align=”right”>James, 2006</p>
Hasilnya:
Anda dapat mengubah jenis huruf, ukuran dan warna. Untuk mengubah huruf digunakan tag<font>, tag <font> memiliki atribut seperti face, size dan color. Contoh:
<p><font face=”Arial” size=”2″ color=”#FF0000″>Nama
saya</font>
<b>Bambang</b><font face=”Arial” size=”2″>
dan </font><font face=”Tahoma”>saya cinta rupiah</font></p>
Silahkan anda coba sendiri untuk melihat seperti apa hasilnya
Didalam HTML, untuk memberi jarak anda tidak bisa hanya menekan “enter” saja. Untuk memberi jarak perbaris kita perlu tag HTML yaitu <br> sedangkan untuk spasi seperti yang sudah saya jelaskan tadi, kita perlu menggunakan HTML entity / character entity, untuk spasi character entitynya adalah &nbsp;. Langsung saja coba kode berikut ini:
<p>Baris 1<br>Baris 2<br>Baris&nbsp;&nbsp;&nbsp;&nbsp; 3<br>Baris
<b>4</b></p>
Hasil:
Baris 1
Baris 2
Baris 3
Baris 4
Untuk memberikan garis horisontal digunakan tag <hr>. Tag <hr> memiliki beberapa atribut. Tag<hr> tidak memerlukan tag penutup jadi tag <hr> merupakan standalone tag. Coba contoh berikut ini:
<p>Halo nama saya Telo</p>
<hr width=”25%” align=”justify”>
<p>Saya lagi belajar membuat garis horisontal.</p>
<hr size=”4″ align=”justify”>
<p>Matur nuwun</p>
<hr size=”3″ noshade color=”#000000″ width=”25%” align=”justify”>
Hasil:
Seperti yang anda lihat, anda bisa memasang banyak atribut dalam satu tag. Pada tag <hr>terdapat atribut yang tidak memiliki nilai yaitu noshade. Memang dalam beberapa tag HTML terdapat atribut-atribut yang tidak memiliki nilai. Salah satunya adalah noshade yang berarti menghilangkan bayangan pada garis. Anda dapat melihat perbedaan tag <hr> yang menggunakannoshade dengan yang tidak pada kode diatas.
Bagaimana? mudah kan belajar HTML, jangan senang dulu sekarang kita akan mempelajari yang lebih sulit
Links
Oke anda telah membuat banyak halaman HTML, sekarang bagaimana caranya anda berpindah dari satu halaman ke halaman yang lain? Apakah saya perlu menuliskan alamatnya di browser? Link adalah jawabannya. <a> merupakan tag HTML untuk membuat link agar kita dapat berpindah ke halaman lain. Tag <a> memiliki atribut yang sangat penting yaitu href. Langsung saja coba kode berikut ini:
My <a href=”http://www.dhimasronggobramantyo.com”>Homepage</a>
Hasil:
My homepage
Jika anda lihat, maka teks homepage telah berubah menjadi link, jika anda klik maka browser akan menuju alamat yang tertera pada atribut href. Sekarang jika anda memiliki banyak file HTML dalam satu folder, apakah saya perlu menggunakan http:// untuk melinknya? tentu tidak anda cukup menulis nama filenya saja, asalkan file tersebut berada satu folder dengan file yang berisi link. Contoh:
My <a href=”contact.html”>homepage</a>
Hasil:
My homepage
Jika anda klik, maka browser akan membuka file contact.html yang berada pada satu folder. Bagaimana jika filenya berada difolder lain? gampang, gunakan kode berikut:
My <a href=”folder/contact.html”>homepage</a>
Hasil:
My homepage
Jika anda ingin ketika link diklik dan halaman tersebut muncul pada jendela browser yang baru, gunakan atribut target=”_blank” seperti ini:
My <a href=”http://www.dhimasronggobramantyo.com”
target=”_blank”>homepage</a>
Oke silahkan anda coba sendiri untuk melihat hasilnya, sekarang kita akan belajar tentang images
Images
Pertengahan tahun 90′an website-website yang ada tidak memiliki gambar, karena browser yang ada tidak memiliki kemampuan untuk menampilkan gambar. Tetapi sekarang website tanpa gambar akan terlihat membosankan, tetapi website dengan banyak gambar akan terlihat menyebalkan, nah lo. Jadi gunakan gambar seperlunya, keluarkan semua imajinasi dan nilai seni anda untuk dapat membuat website yang nyaman dilihat. Saya tidak akan mengajarkan bagaimana cara membuat gambar disini, ada kategori lain diwebsite ini untuk belajar mendesain, anda dapat belajar menggunakan Photoshop. Gambar yang dipasang di website disarankan menggunakan bertipe file gif atau jpg. Untuk memasang image anda memerlukan tag <img>. Tag <img> tidak memerlukan penutup dan memiliki atribut src untuk mengambil gambar dari suatu alamat. Coba contoh berikut ini:
<img src=”images/artikel/introhtml_02.gif” width=”313″ height=”43″
alt=”Contoh Gambar”>
Hasil:
Atribut src disini sama dengan atribut href pada tag <a> yang berisi alamat posisi gambar. Pada contoh kode diatas anda memiliki gambar introhtml_02.gif yang berada pada folder images. Jika anda tidak memiliki file tersebut maka gambar tidak ditampilkan. Atribut width dan heightmerupakan opsional, tapi saya sarankan untuk mencantumkannya agar browser mengetahui ukuran gambar apabila gambar gagal ditampilkan. Atribut alt berguna untuk menampilkan teks pada gambar jika gambar gagal ditampilkan atau belum selesai ditampilkan. Anda dapat memberikan garis tepi pada gambar dengan menambahkan atribut border
<a href=”http://www.dhimasronggobramantyo.com”>
<img border=”1″ src=”images/introhtml_02.gif” width=”313″
height=”43″></a>
Hasil:
Komentar
Anda dapat menuliskan komentar dikode HTML, komentar berguna apabila anda ingin kembali mengutak-atik kode maka anda ingat kode tersebut fungsinya apa. Komentar hanya untuk memudahkan anda saja. Komentar tidak ditampilkan oleh browser. Untuk menulis komentar diawali dengan <!– dan diakhiri dengan –> lihat contoh berikut ini:
<!–Kode untuk menampilkan nama saya–>
<p>Nama saya <b>Dhimas</b></p>
List
Tag list berguna untuk menampilkan list-list. Ada 3 macam jenis list pada HTML. Yang pertama adalah Unordered List <ul>:
<ul>
<li>List 1</li>
<li>List 2</li>
<li>List 3</li>
</ul>
Hasil:
• List 1
• List 2
• List 3
Tag <ul> merupakan tag pembuka. Diantara tag <ul> Anda dapat menambahkan tag <li>untuk setiap list yang akan ditampilkan. Tag list lainnya adalah Ordered List <ol> Anda dapat menggunakannya sama seperti tag <ul> Contoh:
<ol>
<li>List 1</li>
<li>List 2</li>
<li>List 3</li>
</ol>
Hasil:
1. List 1
2. List 2
3. List 3
Jika anda ingin memulai list tidak dari nomor satu tambahkan atribut start. Contoh:
<ol start=”3″>
<li>List 1</li>
<li>List 2</li>
<li>List 3</li>
</ol>
Hasil:
3. List 1
4. List 2
5. List 3
Tabel merupakan hal yang paling penting dalam membuat interface website anda. Dengan tabel anda dapat memecah layout website menjadi beberapa kolom atau baris. Dengan tabel halaman website anda akan lebih rapih.
Table merupakan tag html terumit, karena didalam tag table terdapat tag-tag lainnya. Dan table sangat penting. Karena itu sebelum meneruskan, tarik nafas dalam-dalam dan konsentrasi.
Untuk membuat tabel maka diperlukan tag-tag dasar seperti ini :
• <TABLE></TABLE>–Tag ini merupakan containers untuk membuat tabel.
• <TR></TR>–Didalam tabel tag ini berfungsi untuk membuat baris.
• <TD></TD>–Tag untuk membuat kolom. didalam tag <tr> harus terdapat tag <td>, anda bisa menambahkan banyak tag <td> didalam <tr> untuk membuat kolom.
• <TH></TH>–Sama dengan <td> hanya saja berfungsi sebagai header, biasanya digunakan pada baris pertama didalam tabel.
Setiap tag tabel tersebut memiliki banyak atribut. Oke langsung saja coba kode berikut ini:
Contoh:
<table border=”1″ width=”60%”>
<tr>
<td>Contoh Table</td>
</tr>
</table>
Hasilnya:
Contoh Tabel
Tabel diawali dengan tag <table> dan biasanya memiliki atribut border. Jika border=”0″maka garis pada tabel tidak ditampilkan. Biasanya jika kita tidak menampilkan atribut border maka otomatis tabel tersebut juga tidak memiliki garis. <table> memiliki atribut cellpadding untuk memberi jarak didalam kolom dan cellspacing untuk memberi jarak antara kolom. Coba kode berikut ini:
<table border=”1″ width=”200″ cellpadding=”4″ cellspacing=”5″>
<tr>
<td width=”100″>Cell 1</td>
<td width=”100″>Cell 2</td>
</tr>
</table>
Hasil:
Cell 1 Cell 2
Coba anda ubah nilai dari atribut cellpadding dan cellspacing untuk melihat perbedaannya, cobalah untuk mengutak-atik kode diatas dengan mengubah nilai-nilai atributnya.
Setiap tabel memiliki baris dengan menggunakan tag <tr>. Didalam baris perlu sebuah kolom atau lebih, kolom dibuat dengan menggunakan tag <td>. Untuk lebih jelasnya cobalah kode berikut ini:
<table border=”1″ width=”200″ cellpadding=”2″>
<tr>
<td width=”100″ align=”center” bgcolor=”#C0C0C0″><b>Header</b></td>
<td width=”100″ align=”center” bgcolor=”#C0C0C0″><b>Header</b></td>
/
</tr>
<tr>
<td width=”100″>cell 1</td>
<td width=”100″>cell 2</td>
</tr>
<tr>
<td width=”100″>cell 3</td>
<td width=”100″>cell 4</td>
/
</tr>
</table>
Hasil:
Header Header
cell 1 cell 2
cell 3 cell 4
Bagaimana anda mengerti maksudnya kode diatas, coba anda pahami dulu. Pada kode diatas terdapat atribut bgcolor yang berguna untuk memberi warna pada background. Didalam kolom<td> anda dapat menuliskan kode HTML apa saja, bahkan anda dapat memasang tag <table>didalamnya, yang berarti anda memasang tabel didalam tabel. Contoh lainnya:
<table border=”1″ width=”200″ cellpadding=”2″>
<tr>
<td width=”100″ align=”center” bgcolor=”#C0C0C0″><b>Header</b></td>
<td width=”100″ align=”center” bgcolor=”#C0C0C0″><b>Header</b></td>
</tr>
<tr>
<td width=”100″ rowspan=”2″ valign=”top”>cell 1</td>
<td width=”100″>cell 2</td>
</tr>
<tr>
<td width=”100″>cell 4</td>
</tr>
</table>
Hasilnya:
Header Header
cell 1 cell 2
cell 4
Anda lihat ada atribut rowspan=”2″ ini berguna untuk menggabungkan 2 baris menjadi satu, jika anda ingin menggabungkan lebih dari 2 baris, ubah saja nilainya. Bagaiman susah? coba anda pelajari terus. Jika sudah coba anda pahami kode berikut ini:
<table border=”0″ width=”200″ cellpadding=”2″ cellspacing=”1″ bgcolor=”#000000″>
<tr>
<td width=”100″ align=”center” bgcolor=”#C0C0C0″><b>Header</b></td>
<td width=”100″ align=”center” bgcolor=”#C0C0C0″><b>Header</b></td>
</tr>
<tr>
<td width=”100″ valign=”top” bgcolor=”#CCCCCC” align=”left”>Left</td>
<td width=”100″ bgcolor=”#CCCCCC” align=”right”>Right</td>
</tr>
<tr>
<td width=”200″ valign=”top” colspan=”2″ bgcolor=”#FFFFFF” align=”center”>
Table is cool</td>
</tr>
<tr>
<td width=”200″ valign=”top” colspan=”2″ bgcolor=”#FFFFFF” align=”center”>
But it’s not easy</td>
</tr>
</table>
Hasil:
Header Header
Left Right
Table is cool
But it’s not easy
Anda sudah mengetahui dasar-dasar HTML. Masih banyak lagi tag-tag HTML lainnya sepertiframes dan form. Saya akan mengajarkan frames diartikel lainnya, tetapi frames harus dihindari dalam membuat website, alasan utama apa yang ada didalam frames tidak terbaca oleh Search Engine. Tag form hanya dibutuhkan apabila anda membuat website dinamis menggunakan bahasa pemrograman web seperti PHP, ASP, Perl atau JSP.
Sekarang kita akan membicarakan tag <META>. Tag <META> digunakan agar search engine mengenal dan dapat mengkategorisasikan website anda, gampangnya agar search engine mengetahui website anda isinya tentang apa. Tetapi tidak semua search engine membaca tag<META> tetapi sebagian besar membaca tag ini, jadi kita perlu menyertakannya pada website kita. Tag <META> berada diantara tag <head> bukan <body> yang berarti isi tag tersebut tidak ditampilkan dibrowser.
Sebenarnya apa sih kegunaan Search Engine dan apa pengaruhnya untuk website? Saya akan jelaskan secara gampang, anda memiliki website katakan websitesaya.com, nah bagaiman milyaran pengguna internet dapat mengetahui kalau ada sebuah situs websitesaya.com diantara ratusan juta situs lainnya. Pengguna internet banyak yang melakukan pencarian melalui search engine sepertigoogle atau yahoo. Jika mereka melakukan pencarian dan situs anda muncul pada hasil pencarian tersebut, maka anda mendapatkan pengunjung yang mengunjungi website anda. Bagaimana agar website saya ada di google atau search engine lainnya? ya dengan menggunakan <META> maka search engine akan mengenali website anda. Sebenarnya prosesnya jauh lebih rumit, search engine memiliki perhitungannya sendiri seperti ranking, backlink, recipocal link, tetapi kita ambil gampangnya saja.
Oke anda sudah mengerti pentingnya tag <META>Tag <META> memiliki atribut yang paling penting Keywords dan DESCRIPTION dimana kita memasukkan deskripsi dan kata kunci yang berhubungan dengan website kita.
Sebagai contoh misalnya kita memiliki website kecoak.com yang berisi bagaimana cara memelihara dan beternak kecoa. Maka kira-kira kita perlu membuat meta seperti ini:
<html>
<head>
<META content=”kecoak.com” name=AUTHOR>
<META content=”Cara memelihara dan beternak kecoak.” name=description>
<META content=”kecoak, beternak, memelihara, coro, ternak, pelihara” name=keywords>
<META content=”INDEX, FOLLOW” name=ROBOTS>
<META http-equiv=”Content-Language” content=”en-us”>
<META http-equiv=”Content-Type” content=”text/html; charset=windows-1252″>
<title>Ternak Kecoak</title>
</head>
Kira-kira seperti itu, ok anda telah mempelajari HTML, sekarang anda tinggal turun gunung dan mempraktekkan apa yang sudah dipelajari. Teruslah mencoba agar anda semakin ahli.

Minggu, 18 September 2011

Cara Mudah Membuat Jaringan Wi-Fi dengan Windows 7...


Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 ImageAnda hobi kumpul bareng teman-teman Anda di kafe untuk akses Wi-Fi gratis? Kalau di rumah Anda punya jaringan internet kabel atau kalaupun Anda punya modem CDMA / GSM, kenapa tidak miliki Wi-Fi pribadi saja di rumah? Bisa sharing internet dengan keluarga atau teman tanpa perlu memiliki perangkat tambahan. Cukup bermodalkan sistem operasi Windows 7 di komputer ataupun laptop Anda yang sudah dilengkapi dengan Wireless Adapter. Nah, ingin tau caranya? Yuk intip tips berikut ini.
Kalau dulu kita harus punya Wireless router untuk bisa memasang jaringan Wi-Fi, kini Windows 7 saja sudah cukup mumpuni untuk melakukannya. Dengan fitur Microsoft Virtual Wi-Fi Miniport Adapter yang dibundel bersama sistem operasi Windows 7, Anda akan dengan mudahnya membuat jaringan virtual Wi-Fi. Nah, untuk memudahkan settingan membuat Wi-Fi pribadi ini, kita akan menggunakan aplikasi Connectifity.
Connectifity sendiri merupakan aplikasi sederhana yang menggantikan fungsi Wireless router. Dengan aplikasi ini, Anda bisa sharing koneksi internet Anda baik menggunakan jaringan LAN, modem GSM / CDMA atau bahkan jaringan Wi-Fi lainnya. Cukup aktifkan aplikasi Connectifity ini, selanjutnya teman atau kerabat Anda akan dapat konek langsung ke jaringan Wi-Fi Anda seperti terhubung dengan jaringan Wi-Fi pada umumnya. Agar lebih aman, Anda bisa memasang password yang sudah dienkripsi dengan WPA2. Pada saat tulisan ini diterbitkan, aplikasi Connectifity yang akan digunakan berikut adalah Connnectifity versi 2.2.0
Silahkan download terlebih dahulu aplikasi Connectifity di sini.
Selanjutnya kita akan coba menginstal aplikasi Connectifity ini di komputer ataupun laptop Anda yang sudah menggunakan sistem operasi Windows 7. Klik langsung pada aplikasi Connectifity yang sudah kita download tadi, lalu akan muncul Window installer seperti ini. Anda harus mengklik tombol ‘I Agree’ untuk melanjutkan instalasi.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Di bagian ini, Anda boleh centang bagian Install RealPlayer kalau ingin menginstall aplikasi player multimedia tersebut, tapi kalaupun tidak, jangan mencentang bagian itu. Untuk melanjutkan instalasi, klik ‘Install’.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Tunggu beberapa menit untuk menyelesaikan proses instalasi.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Jika muncul notifikasi ‘Would you like to install this device software?’ jangan ragu untuk mengklik ‘Install’.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Klik ‘Finish’ untuk menyelesaikan instalasi Connectifity. Untuk melanjutkan konfigurasi jaringan Wi-Fi pastikan Anda telah mencentang ‘Run Connectifity’ sebelum mengklik ‘Finish’.
Selanjutnya akan muncul jendela Welcome Screen seperti di bawah ini. Jangan lupa untuk mengklik tombol ‘Next’.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Nah, untuk mengkonfigurasi jaringan virtual Wi-Fi Anda, pertama-tama yang harus dilakukan adalah mengetikkan Network Name atau nama dari jaringan Wi-Fi Anda nantinya. Bagian ini tidak boleh kosong dan harus diisi dengan huruf tidak lebih dari 32 karakter.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Agar jaringan Wi-Fi Anda tidak sembarangan diakses oleh orang yang tidak dikenal, jangan lupa untuk mengisi bagian password, sehingga nantinya jaringan Wi-Fi pribadi Anda ini hanya bisa diakses oleh orang yang sudah Anda beri aksesnya. Dianjurkan password diisi dengan 8 sampai 63 karakter agar tidak mudah ditebak.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Selanjutnya kita akan masuk ke bagian pemilihan Shared Connection. Di bagian ini, Anda bisa memilih apakah jaringan yang ingin Anda share sebagai jaringan virtual Anda asalnya dari LAN, modem GSM / CDMA (di bagian screenshot tidak muncul pilihan, tapi kalau Anda sudah terhubung dengan modem maka akan muncul di sini), atau jaringan Wi-Fi milik orang lain. Kalaupun Anda hanya ingin bermain game LAN, tapi tidak punya jaringan LAN, Anda bisa memilih No Internet Sharing, sehingga Anda tidak share jaringan Wi-Fi melainkan membuat LAN virtual. Rekomendasi pilihan Shared Connection tergantung dari jaringan yang konek dengan komputer ataupun laptop Anda. Sebagai contoh : misalnya Anda terhubung dengan jaringan LAN, maka pilihlah Local Area Connection.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Sedikit tips untuk Anda yang sedang berada di tempat umum seperti kafe, bila Anda hanya boleh konek Wi-Fi dengan batasan 1 login per orang, maka gunakan saja aplikasi ini cukup 1 orang saja yang terkoneksi dengan jaringan Wi-Fi kafe tersebut, lalu share dengan teman-teman Anda menggunakan aplikasi ini.
Bila konfigurasi sudah selesai maka akan muncul seperti ini.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Nantinya akan muncul icon baru di bagian taskbar Anda, silahkan klik kanan pada icon tersebut, pilih Options lalu pilih ‘Always Show A-Hoc Mode’ untuk memunculkan mode Ad-Hoc. kalau sudah akan muncul seperti ini.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Nah, klik satu kali lagi di icon Connectifity, untuk memunculkan jendela status jaringan Wi-Fi pribadi Anda.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image
Screenshot di bawah ini diambil langsung dari website Connectifity, sebagai keterangan tambahan dari jendela status ini.
Cara Mudah Membuat Jaringan Wi Fi dengan Windows 7 Image

Selamat, sekarang Anda sudah bisa punya jaringan virtual Wi-Fi pribadi, jangan lupa untuk sharing dengan keluarga Anda di rumah atau teman-teman Anda ketika berada di luar rumah. Hmm, sungguh menyenangkan bukan memiliki Wi-Fi milik sendiri?

Kamis, 15 September 2011

9 Tips Menghilangkan Jerawat


       Wajah adalah pesona setiap insan, baik itu pria atau wanita. Hal yang pertama kali diperhatikan jika kita bertemu seseorang adalah wajah. oleh karena itu kita wajib menjaga kebersihan wajah kita. Jika di wajah kita muncul yang namanya jerawat, pasti akan mengganggu sekali terhadap penampilan kita…khususnya bagi wanita yang selalu peduli akan kecantikan.
Jerawat akan lebih menyiksa lagi karena sering muncul pada masa pubertas yang katanya sebagian besar orang adalah masa yang paling indah, masa2 pacaran. bagaimana kita bisa punya pacar jika wajah kita merupakan sarang jerawat? Pasti sulit sekali bukan? Berikut ini tips yang akan membuat jerawat anda hilang dan tidak akan mengganggu penmpilan anda lagi :
1. Mencuci wajah 2 kali sehari
Mencuci wajah 2 kali sehari akan membantu menghilangkan minyak di permukaan kulit kita. Jika kita jarang membersihkannya, maka bakteri penyebab jerawat akan hidup subur di wajah kita. Namun ingat..jangan mencuci wajah apalagi menggosok wajah secara berlebihan karena malah akan meningkatkan produksi minyak sobaceous yang dapat menyebabkan masalah kulit pada wajah. Cucilah wajah 2 kali sehari dengan menggunakan sabun yang lembut.
2. Sesuaikan kosmetik dengan jenis kulit anda
Jika kulit anda berminyak maka gunakanlah kosmetik untuk kulit berminyak, jika kosmetik yang anda gunakan tidak sesuai dengan jenis kulit anda..jerawat akan segera mendatangi kulit wajah anda. Jadi berhati-hatilah dalam memilih kosmetik.
3. sebisa mungkin hindari kosmetik yang berminyak.
secara alami wajah kita akan menmproduksi minyak, bahkan kulit kering sekalipun. Jadi sebisa mungkin hindarilah hindarilah menggunakan kosmetik yang berlebihan karena minyak dan debu akan menjadi media bakteri penyebab jerawat untuk bermukim di wajah kita.
4. Keringkan wajah kita dengan handuk yang bersih setelah cuci muka atau mandi, karena bakteri juga menyukai tempat yang lembab dan hangat.
5. Minum air putih
Hampir 70% kulit kita terdiri dari air, dengan minum air minimal 2 liter sehari, maka kulit kita akan selalu fit dan sehat.
6. gunakan pelembab kulit
Menggunakan pelembab akan membantu menyehatkan kulit kita, terutama dari kulit kering dan pecah2. Namun pelembab disini bukan berarti pelembab yang berminyak..sekarang sudah banyak produk kosmetik yang berbahan dasar air.
7. selalu pastikan kulit anda bersih sebelum tidur.
Selalu cuci muka anda sebelum tidur agar kulit beregenerasi dengan baik.
8. Sering-seringlah makan sayur dan buah.
sayur2an mengandung banyak vitamin yang menyehatkan kulit kita. Perbanyaklah makan sayur atau buah, terutama yang mengandung vitamin E. Dengan kulit yang sehat, maka jerawat akan sukar untuk tumbuh dan berkembang.
9. Tidur yang cukup dan teratur.
Kulit juga sama seperti kita, butuh istirahat. Jadi biasakanlah untuk tidur yang cukup dan teratur. Karena saat kita tidur, kulit akan beregenerasi dan membuang racun2 yang berbahaya sehingga saat kita bangun keesokan harinya kulit kita akan kebali segar.

Senin, 12 September 2011

SOAL2 Pemrograman Java


Bab 1 : Pengenalan Terhadap Java
  1. Sebutkan kelebihan-kelebihan yang dimiliki oleh Java yang Anda ketahui!
Jawaban :
·        Bersifat portable dan platform independent . Program Java yang Anda tulis akan dapat dieksekusi di platform mana pun tanpa memerlukan kompilasi ulang (portable) asalkan Java Virtual Machine untuk platform tersebut tersedia.
·        Memiliki garbage collection yang dapat mendealokasikan memori secara otomatis. Anda tidak perlu secara eksplisit membebaskan suatu lokasi memori yang dipakai karena ini akan dilakukan secara otomatis oleh Java.
·        Menghilangkan pewarisan berganda yang terdapat pada C++. Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak mengakibatkan kerugian dari pada keuntungan. Java telah didesain sedemikian rupa sehingga Anda tidak akan memerlukan tehnik ini dalam pembuatan program apa pun.
·        Mengurangi pointer aritmetik. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi dan menghilangkan kemungkinan kesalahan seperti ini, penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
·        Memiliki array sejati.
·        Mengurangi kerancuan antara pemberian nilai pada statement kondisional. Contoh penggunaan tanda ‘=’ dengan ‘==’ pada kondisi if.
  1. Apa yang Anda ketahui tentang karakteristik Java?
Jawaban :
    • Berorientasi Objek, Java telah menerapkan konsep pemrograman berorientasi objek yang modern dalam implementasinya.
    • Robust, Java mendorong pemrograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki runtime checking.
    • Portable, program Java dapat dieksekusi di platform mana pun selama tersedia Java Virtual Machine untuk platform tersebut.
    • Multithreading, Java mendukung penggunaan multithreading yang telah terintegrasi secara langsung dalam bahasa Java.
    • Dinamis, program Java dapat melakukan suatu tindakan yang ditentukan pada saat eksekusi program dan bukan pada saat kompilasi.
    • Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari.
    • Terdistribusi, Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.
    • Aman, aplikasi yang dibuat dengan bahasa Java dapat dipastikan keamanannya terutama untuk aplikasi internet.
    • Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu.
    • Interpreted, aplikasi Java dapat dieksekusi pada platform yang berbeda-beda dengan melakukan interpretasi pada bytecode.
    • Berkinerja Tinggi, bytecode  Java telah sangat teroptimasi, sehingga eksekusi program dapat dilakukan secara cepat sekalipun dilakukan dengan cara interpretasi terhadap bytecode.
Bab 2: Pengenalan Objek: Paradigma Pemrograman Berbasis Objek
  1. Jelaskan perbedaan antara state dan behavior. Berikan contohnya!
Jawaban:
           
            State merupakan keadaan dari suatu objek, contohnya tinggi, berat, usia, merupakan state yang dimiliki oleh objek manusia. State ini bersifat pasif karena ia tidak dapat melakukan operasi apa pun, padanya justru dilakukan operasi. Oleh karena itu secara sederhana state dapat dianggap sebagai ‘kata benda’. Sedangkan behaviour merupakan operasi atau aktivitas yang dapat dilakukan oleh suatu objek, contohnya makan, minum, menua, bekerja, merupakan behaviour yang dimiliki oleh objek manusia. Aktivitas ini dapat (tidak selalu) mempengaruhi state dari objek itu sendiri, misalnya behaviour menua dapat merubah state umur. Oleh karena sifatnya ini, secara sederhana behaviour dianggap sebagai ‘kata kerja’.
  1. Jelaskan apa yang dimaksud dengan class dan objek ! Apa bedanya dan berikan contohnya!
Jawaban:
            Class digunakan untuk menggambarkan suatu model atau spesifikasi dari suatu entitas, sedangkan objek merupakan kenyataan, realisasi atau perwujudan dari class itu sendiri. Contoh sederhana : desain arsitektur gedung dan gedung yang dibuat berdasarkan desain tersebut. Desain arsitektur gedung dapat dianggap sebagai class, sedangkan gedung yang dibangun berdasarkan desain itu sendiri dapat dianggap sebagai objeknya.
Bab 3 : Sintaks Bahasa dan Tipe Data
  1. Apa perbedaan antara tipe data primitif dan tipe data referensi?
Jawaban :
            Tipe data primitif merupakan tipe data dasar yang dikenal oleh Java. Variabel dengan tipe data primitif dapat langsung digunakan untuk ‘memegang’ data yang sesuai dengan tipe datanya. Contoh : int var = 3; maka nilai variabel var adalah 3.
            Sedangkan tipe data referensi digunakan untuk semua tipe data selain tipe data primitif termasuk di sini adalah array dan class. Variabel dengan tipe data referensi tidak ‘memegang’ secara langsung nilai yang hendak disimpan, melainkan variabel ini hanya ‘memegang’ referensi (alamat) dari nilai yang sebenarnya yang ada di memori.
  1. Untuk melatih pengetahuan Anda akan tipe data, buatlah program untuk menghitung luas :
    • Segitiga
    • Lingkaran
    • Bujursangkar
    • Empat persegi panjang
Hati-hati dengan konversi tipe data secara otomatis yang dilakukan oleh Java, terutama konversi dari tipe floating-point ke integer.
Jawaban :
public class HitungLuas {
     public static void main(String[] args) {
     // data segitiga
int panjangSegitiga = 5;
int tinggiSegitiga = 9;
     // data lingkaran
int jari2Lingkaran = 15;
     // data bujursangkar
int panjangSisi = 13;
     // data persegi panjang
int panjangPersegi = 35;
int lebarPersegi = 45;
double luas;
     // luas segitiga
luas = ((double) (panjangSegitiga*tinggiSegitiga)/2);
System.out.println("Luas Segitiga : " + luas);
     // luas lingkaran
luas = 3.14*jari2Lingkaran*jari2Lingkaran;
System.out.println("Luas Lingkaran : " + luas);
     // luas bujursangkar
luas = panjangSisi*panjangSisi;
System.out.println("Luas Bujursangkar : " + luas);
     // luas persegi panjang
luas = panjangPersegi*lebarPersegi;
System.out.println("Luas Persegi Panjang : " + luas);
     }
}
           
output program :
           
Bab 4 : Operator
1.      Apa perbedaan x++ dan ++x, jelaskan!
Jawaban :
      Penggunaan x++ dan ++x jika tidak dikombinasikan dengan ekspresi lainnya tidak memiliki perbedaan sama sekali. Perbedaannya baru akan terasa jika penggunaannya digabung dengan suatu ekspresi. Namun secara sederhana x++ dapat diartikan : lakukan operasi terhadap x baru kemudian tambahkan tambahkan dengan 1. Sedangkan ++x dapar diartikan : jumlahksn x dengan 1, baru kemudian lakukan operasi terhadap x. Contoh :
y = x++ + 10;  sama dengan : y = x + 10;
                                                       x = x + 1;
Sedangkan
      y = ++x + 10;  sama dengan : y = x + 1;
                                                      x = x + 10;
           
2.      Bagaimana menghitung perkalian dan pembagian dengan bilangan dua tanpa menggunakan operator matematika?
Jawaban :
      Perkalian dengan bilangan dua dapat  dilakukan dengan menggunakan operator bitwise << (geser kiri). Sedangkan untuk pembagian dapat dilakukan dengan menggunakan operator bitwise >> (geser kanan).
Contoh penjelasan :
      124/2 = 124 >> 1
124    =  0000000001111100
    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \               >> 1
   0000000000111110             = 62
                       
                        124*2 = 124 << 1
124 = 0000000001111100
   / / / / / / / / / / / / / / /                   << 1
  0000000011111000                 = 248
3.            Bagaimana menukar nilai dari dua variabel integer dengan tanpa menggunakan variabel perantara.
Jawaban :
Contoh : variabel A = 22 dan B = 34, tanpa menggunakan variabel perantara, tukarlah kedua nilai dari variabel tersebut sehingga variabel A = 34 dan B = 22.
Untuk menukar nilai dari dua buah variabel integer tanpa menggunakan variabel perantara dapat digunakan operator bitwise XOR. Perhatikan contoh penjelasan berikut ini :
A = 22 dan B = 34
Hasil dari A XOR B adalah
      A = 22             = 0000000000010110
B = 34             = 0000000000100010
A XOR B         = 0000000000110100 = 52
Jika kita anggap hasil dari A XOR B adalah C maka
A = 22             = 0000000000010110
C = 52             = 0000000000110100
B XOR C         = 0000000000010110 = A
Dapat disimpulkan bahwa jika C = A XOR B,
maka C XOR A = B dan C XOR B = A
Dengan demikian, Anda dapat menuliskan kode berikut ini untuk menukar nilai dari dua buah variabel integer A dan B di atas :
A = A ^ B;
B = A ^ B;
A = B ^ A;
Sehingga sekarang nilai variabel A = 34 dan B = 22.
Bab 5 : Kontrol Alur Eksekusi Program
1.      Buatlah program yang menghasilkan ouput seperti di bawah ini!
                       
                        Jawaban :
public class Bintang {
     public static void main(String[] args) {
     int ukuran = 7;
     for (int i = 0; i<ukuran; i++) {
          int j;
          int spasiCounter = ukuran - i - 1;
          for (j = 0; j < spasiCounter; j++) {
              System.out.print(" ");
          }
          for (j = 0; j <= (i*2); j++) {
              if (j % 2 == 1)
                   System.out.print(" ");
              else
                   System.out.print("*");
          }
          System.out.println();
     }
     }
}
                       
                                   
Bab 6 : Class
            Buatlah sebuah class dengan nama Televisi, yang mempunyai property :
·        deskripsi : untuk menyimpan nama/deskripsi dari televise. Property ini hanya dapat diset saat pembuatan saja, dapat dibaca namun tidak dapay diubah setelahnya.
·        jumlahChannel : untuk menyimpan banyaknya channel yang dapat disimpan oleh televisi. Property ini hanya dapat diset saat pembuatan saja, dapat dibaca namun tidak dapat diubah setelahnya.
·        channels : untuk menyimpan data channel stasiun televisi yang sudah diset. Property ini dapat dibaca dan diubah kapan saja.
·        channelAktif : untuk menyimpan nomor channel yang sedang aktif saat ini. Property ini dapat dibaca dan diubah kapan saja.
·        volume : untuk menyimpan informasi besarnya volume televisi yang sedang aktif saat ini. Property ini dapat dibaca dan diubah kapan saja.
Selain itu objek Televisi tersebut juga harus mendukung operasi berikut ini :
·        Menset channel stasiun televisi yang diinginkan. Ini sama halnya jika Anda membeli televisi baru, hal pertama kali yang Anda lakukan tentunya adalah mendaftarkan semua channel stasiun televisi yang ada ke dalam televisi Anda.Sehingga berikutnya jika Anda ingin menonton televisi yang Anda inginkan, Anda cukup memasukkan nomor channel dari stasiun tersebut yang sudah terdaftar pada televisi tersebut. Anda juga tidak boleh menset channel lebih banyak dari jumlah channel yang dapat ditampung oleh televisi.
·        Mengganti channel stasiun yang sedang aktif. Jika nomor channel yang diinginkan ternyata belum diset ke stasiun televisi manapun, tampilkan informasi yang memberitahukan hal tersebut.
·        Mengubah volume suara.
·        Menampilkan deskripsi dari televisi.
Class Televisi yang Anda buat tersebut harus dapat digunakan oleh program berikut ini :
public class User {
     public static void main(String[] args) {
     Televisi tv = new Televisi("TV tempoe doeloe, 14 inches", 10);
     String[] semuaChannel = {"RCTI", "SCTV","INDOSIAR","LA TV",
                                                "METRO TV","TRANS TV","TPI","TV 7",                                               "TVRI","TV G","AN TV"};
     String[] channelFavorit = {"RCTI", "SCTV", "INDOSIAR", "LA TV",
                                                "MTRO TV","TRANS TV","TPI","TV 7"};
     System.out.println("Televisi yang baru gua beli : " + tv.getDeskripsi());
     tv.getChannels();
     tv.setChannels(semuaChannel);
     tv.setChannels(channelFavorit);
     tv.setChannelAktif(3);
     tv.setVolume(10);
     tv.setChannelAktif(1);
     }
}
           
            Dengan hasil eksekusi seperti berikut ini :
           
           
                        Jawaban :
class Televisi {
     private String deskripsi;
     private int jumlahChannel;
     private String[] channels = null;
     private int channelAktif;
     private int volume;
     public Televisi(String deskripsi, int jumlahChannel) {
     this.deskripsi = deskripsi;
     this.jumlahChannel = jumlahChannel;
     }
     public String getDeskripsi() {
     return deskripsi;
     }
     public int getJumlahChannel() {
     return jumlahChannel;
     }
     public String[] getChannels() {
     if (channels == null) {
          System.out.println("Belum ada channel yang diset!");
     }
     return channels;
     }
     public void setChannels(String[] channels) {
     if (channels.length > jumlahChannel) {
          System.out.println("Maaf Tv ini hanya dapat menyimpan " +
                        jumlahChannel + " channel");
     }
     else {
          this.channels = channels;
          System.out.println("Informasi channel berhasil di update!");
     }
     }
     public int getChannelAktif() {
     return channelAktif;
     }
     public void setChannelAktif(int channelAktif) {
     if (channelAktif > channels.length) {
          System.out.println("Channel yang Anda inginkan belum diset!");
          return;
     }
     this.channelAktif = channelAktif;
     System.out.println("Pindah channel ke : " + channels[channelAktif]);
     }
     public int getVolume() {
     return volume;
     }
     public void setVolume(int volume) {
     this.volume = volume;
     System.out.println("intensitas volume sekarang : " + volume);
     }
}
           
                                   
Bab 7 : Pewarisan
1.      Keuntungan apa yang dapat Anda peroleh dengan melakukan pewarisan dan kapan Anda mungkin perlu untuk melakukannya?
Jawaban :
      Keuntungan terutama yang Anda dapatkan adalah ‘reusable code’, karena dengan menurunkan suatu class dari Superclass, Anda cukup menambahkan kode specific yang dimiliki oleh class itu saja sedangkan kode lainnya mungkin tidak perlu Anda ketik ulang karena telah didapat dari Superclass-nya.
2.      Apa yang terjadi jika Anda mendeklarasikan member pada Subclass yang sama persis dengan yang dimiliki oleh superclass-nya? Bagaimana pula cara subclasss agar dapat mengakses member dari superclass tersebut?
Jawaban :
      Member yang Anda deklarasikan pada subclass yang sama persis dengan member yang dideklarasikan oleh superclass-nya dikatakan meng-override member dari superclass tersebut. Untuk mengakses member dari superclass ini dari subclass-nya harus digunakan keyword super.
3.      Buatlah sebuah class turunan bernama class TelevisiModern dari class Televisi  yang telah Anda buat pada soal  di bab 6. Tambahkan fasilitas teletext dan cd player built-in yang dapat digunakan oleh contoh program berikut ini :
public class User {
     public static void main(String[] args) {
     TelevisiModern tv = new TelevisiModern("TV Modern, 29 inches", 100);
     String[] semuaChannel = {"RCTI", "SCTV", "INDOSIAR",
                   "LA TV", "METRO TV", "TRANS TV",
                   "TPI", "TV 7", "TVRI", "TV G", "AN TV"};
     String[] channelFavorit = {"RCTI", "SCTV", "INDOSIAR",
                    "LA TV", "MTRO TV", "TRANS TV", "TPI",
                                                "TV 7"};
     System.out.println("Televisi yang baru gua beli : " + tv.getDeskripsi());
     tv.getChannels();
     tv.setChannels(semuaChannel);
     tv.setChannelAktif(3);
     tv.setVolume(10);
     tv.setChannelAktif(10);
     tv.setChannelAktif(1);
     tv.setModusTampilan(TelevisiModern.TELETEX);
     tv.setHalamanTeletext(250);
     tv.setModusTampilan(TelevisiModern.TV);
     tv.playCD();
     tv.setDiscTray("The Matrix");
     tv.playCD();
     }
}
Dengan tampilan hasil eksekusi seperti berikut ini :
Jawaban :
public class TelevisiModern extends Televisi {
     public static final int TV = 0;
     public static final int TELETEXT = 1;
     int modusTampilan = TV;
     int halamanTeletext = 100;
     String discTray = null;
     public TelevisiModern(String deskripsi, int jumlahChannel) {
     super(deskripsi, jumlahChannel);
     }
     public void setHalamanTeletext(int halamanTeletext) {
     this.halamanTeletext = halamanTeletext;
     System.out.println("Berpindah ke halaman teletext " +
                                           halamanTeletext);
     }
     public void setModusTampilan(int modusTampilan) {
     switch (modusTampilan) {
          case TV:
              System.out.println("Modus tampilan : Televisi");
              break;
          case TELETEXT:
              System.out.println("Modus tampilan : Teletext");
              break;
     }
     }
     public String getDiscTray() {
     return discTray;
     }
     public void setDiscTray(String discTray) {
     this.discTray = discTray;
     }
     public void playCD() {
     if (discTray == null) {
          System.out.println("Tidak ada CD di dalam disc tray!");
          return;
     }
     System.out.println("Memutar file " + discTray);
     }
}
Bab 8 : Interface
Buatlah sebuah interface bernama Control dan rombaklah class TelevisiModern yang telah anda buat pada soal Bab 7 di atas agar mengimplmentasi interface Control ini sehingga semua fungsi objek dari class TelevisiModern tersebut dapat di akses melalui interface tersebut! Buat juga sebuah class baru bernama RemoteControl di mana objek dari class inilah yang akan menggunakan interface Control untuk mengakses fungsi objek dari class TelevisiModern tersebut! Class dan Interface yang telah dibuat tersebut harus dapat digunakan seperti dalam contoh program berikut ini:
public class User {
     public static void main(String[] args) {
     TelevisiModern tv1 = new TelevisiModern("TV Sony 29 inches", 200);
     TelevisiModern tv2 = new TelevisiModern("TV Hitachi 21 inches", 100);
     String[] semuaChannel = {"RCTI", "SCTV", "INDOSIAR", "LA TV",
                                                "METRO TV", "TRANS TV", "TPI", "TV 7",
                                               "TVRI", "TV G", "AN TV"};
     String[] channelFavorit = {"RCTI", "SCTV", "INDOSIAR", "LA TV",
                                                "METRO TV", "TRANS TV", "TPI", "TV 7"};
     tv1.setDiscTray("The Matrix");
     tv2.setDiscTray("Spiderman");
     // remote control diarahkan ke tv1
     RemoteControl rc = new RemoteControl(tv1);
     rc.setChannels(semuaChannel);
     rc.setChannelAktif(3);
     rc.setVolume(10);
     rc.setChannelAktif(10);
     rc.setModusTampilan(TelevisiModern.TELETEXT);
     rc.setHalamanTeletext(250);
     rc.setModusTampilan(TelevisiModern.TV);
     rc.playCD();
     System.out.println();
     //remote control diarahkan ke tv2
     rc.setTv(tv2);
     rc.setChannels(channelFavorit);
     rc.setVolume(20);
     rc.setChannelAktif(1);
     rc.playCD();
     }
}
           
Jawaban:
public interface Control {
     public String getDeskripsi();
     public String[] getChannel();
     public int getJumlahChannel();
     public void setChannels(String[] channels);
     public int getChannelAktif();
     public void setChannelAktif(int channelAktif);
     public int getVolume();
     public void setVolume(int volume);
}
public class RemoteControl implements Control {
     Control tv = null;
     public RemoteControl(Control tv) {
            this.tv = tv;
            System.out.println("Remote diarahkan ke tv : " + tv.getDeskripsi());
     }
     public void setTv(Control tv) {
            this.tv = tv;
            System.out.println("Remote diarahkan ke tv : " + tv.getDeskripsi());
     }
     public String getDeskripsi() {
            return tv.getDeskripsi();
     }
     public int getJumlahChannel() {
            return tv.getJumlahChannel();
     }
     public String[] getChannels() {
            return tv.getChannels();
     }
     public void setShannels(String[] channels) {
            tv.setChannels(channels);
     }
     public int getChannelAktif() {
            return tv.getChannelAktif();
     }
     public void setChannelAktif(int channelAktif) {
            tv.setChannelAktif(channelAktif);
     }
     public int getVolume() {
            return tv.getVolume();
     }
     public void setVolume(int volume) {
            tv.setVolume(volume);
     }
     public void setHalamanTeletext(int halamanTeletext) {
            tv.setHalamanTeletext(halamanTeletext);
     }
     public void setModusTampilan(int modusTampilan) {
            tv.setModusTampilan(modusTampilan);
     }
     public void playCD() {
            tv.playCD();
     }
}
           
Selanjutnya class TelevisiModern yang telah anda buat sebelumnya harus dideklarasikan agar mengimplementasi interface Control diatas.
Bab 9 : Package dan Classpath
1.      Bagaimana cara anda memberitahu Java untuk menggunakan classpath yang anda inginkan  dan bagaimana pula cara Java memanfaatkan classpath ini untuk mendapatkan class yang dibutuhkan ?
Jawaban:
Cara pertama adalah dengan menset environment variabel yang bernama CLASSPATH agar menampung semua path yang mungkin dibutuhkan untuk mendapatkan class ataupun interface yang akan digunakan. Misalnya, class yang dibutuhkan terletak pada direktori c:\java_projects\classes dan d:\java_tool\lib, maka environment variabel CLASSPATH harus berisi kedua path tersebut. Pada sistem operasi Windows hal ini dapat Anda lakukan dengan mengetikan perintah berikut ini pada command prompt (dos prompt):
set CLASSPATH= c:\java_projects\classes; d:\java_tool\lib
Direktori yang terdaftar dalam CLASSPATH ini akan digunakan oleh Java sebagai titik awal (root) pencarian dari class yang dibutuhkan. Misalnya, jika anda mengetikkan perintah berikut ini:
java TesMe
maka Java akan mencari class TesMe ini dalam kedua direktori di atas. Jika class yang hendak anda eksekusi menggunakan package, misalnya anda hendak mengeksekusi program dengan mengetikan perintah berikut ini:
java bab9.TesPackage
maka Java akan mencari class TesPackage dalam direktori:
c:\java_projects\classes \bab9 dan
d:\java_tool\lib\bab9.
Cara kedua yang dapat dilakukan untuk menset CLASSPATH adalah dengan mengunakan switch
-classpath <daftar-direktori>
pada waktu hendak mengompilasi ataupun hendak mengeksekusi suatu program. Contoh:
java -classpath c:\java_projects bab9.TesPackage
2.      keuntungan apa saja yang dapat anda peroleh dengan menggunakan package dalam program?
Jawaban:
Dengan menggunakan package anda menciptakan name space anda sendiri sehingga anda dapat menggunakan nama yang sama dengan class maupun interface asalkan kedua class maupun interface tersebut berada di dalam package yang berbeda. Selain itu dengan menggunakan package, file class maupun interface yang anda buat akan tersimpan dengan rapi dalam direktorinya masing-masing sehingga memudahkan pencarian. Menaruh file dalam jumlah besar ke dalam satu direktori saja akan mudah menimbulkan kebingungan pada saat pencarian.
3.      Jelaskan fungsi keyword import dalam hubungannya dengan penggunaan package!
Jawaban:
Keyword import dipakai jika anda ingin menggunakan class ataupun interface yang berbeda pada package yang berbeda dari tempat dimana anda ingin menggunakannya. Dengan menggunakan keyword import ini, anda tidak perlu menuliskan full package class/interface name untuk dapat menggunakan class atau interface yang ada dalam suatu package. Anda cukup menggunakan nama classnya saja secara langsung.
Bab 10 : Penanganan Eksepsi
1.      Apa perbedaan antara keyword throw dengan keyword throws!
Jawaban :
      Keyword throw digunakan untuk melempar suatu eksepsi dalam program, contoh kode:
      If (ada yang salah)
                  Throw new Exception(“Salah nih….!”);
Sedangkan keyword throws digunakan pada waktu mendeklarasikan suatu method untuk memberitahu bahwa method yang bersangkutan dapat melempar eksepsi dengan tipe yang dideklarasikan oleh keyword throws tersebut. Contoh kode :
      void methodAneh() throws IOException, Exception {}
Penggunaan keyword throws ini juga hanya diperlukan jika eksepsi yang hendak dilempar merupakan eksepsi yang dicek (bukan merupakan turunan dari class RuntimeException dan umumnya merupakan turunan dari class Exception).
2.      Jelaskan fungsi pembuatan subclass eksepsi sendiri!
Jawaban :
Dengan membuat class eksepsi sendiri berarti Anda membuat tipe data baru dimana tipe data baru ini dapat Anda gunakan untuk melempar suatu eksepsi untuk kemudian ditangkap pada bagian lain dari program. Dengan menggunakan tipe data eksepsi yang berbeda-beda, program dapat mengetahui apa kira-kira penyebab eksepsi yang bersangkutan sehingga dapat bertindak sebagimana mestinya.
Bab 11 : Pemrograman Multithreading
1.      Menurut Anda, kapan sebaiknya menggunakan interface Runnable dan kapan membuat turunan dari class Thread?
Jawaban :
      Interface Runnable digunakan jika Anda harus menurunkan class yang Anda buat dari class lainnya sehingga tidak memungkinkan lagi untuk diturunkan dari class Thread. Namun membuat class turunan dari class Thread sangat disarankan jika class yang Anda buat tersebut akan meng-override member dari class Thread tersebut.
2.      Pertimbangan apa yang kira-kira digunakan pada saat Anda memutuskan penggunaan antara sinkronisasi pada method dengan sinkronisasi pada objek!
Jawaban :
Sinkronisasi pada method mengharuskan method tersebut dideklarasikan dengan menggunakan keyword synchronized. Jika ternyata pendeklarasian method tersebut tidak menggunakan keyword tersebut maka Anda tidak punya cara lain selain menggunakan tehnik sinkronisasi pada objek. Namun jika Anda memiliki source code dari class dimana method tersebut berada, Anda dapat saja mengubah method tersebut agar didelarasikan menggunakan keyword synchronized.
Bab 12 : The Java Library
1.      Jelaskan fungsi class wrappers dan hubungannya dengan tipe data primitif!
Jawaban :
Class wrappers digunakan untuk mempresentasikan tipe data primitif dalam bentuk objek. Ini diperlukan karena tipe data primitif tidak digunakan menggunakan referensinya. Sedangkan banyak operasi yang didukung oleh Java Library mengharuskan penggunaan referensi yang hanya didukung oleh tipe data referensi.
           
2.      Berikut ini adalah sekumpulan string yang di dalamnya terdapat informasi No Induk Mahasiswa(NIM), Nama, dan IPK :
0256975648;Nilasari Kumala;3.1#0568974567;Timotius;3.8#0236971245;Stevabus Firman;2.6#0457878975;Dicky Suteja;0#0695475486;Andi Setiawan;3.4
Buatlah sebuah program untuk mengelompokkan semua informasi yang didapat dari string di atas, ke dalam collection atau map. Tambahkan fasilitas untuk mengurutkan data berdasarkan ketiga informasi tersebut dan tampilkan ke layer!
Program yang Anda buat tersebut harus dapat digunakan seperti berikut ini :
public class User {
    public static void main(String[] args) {
        String inputData = "0256975648;Niko Syah;3.1#0568974567;
                               Titi Nur;3.8#0236972345;" +
                              "StevanusFirman;2.6#0457878975;
                               DickySuteja;2.0#0695475486;Andi Sujata;3.4";
       
        Database database = new Database(inputData);
       
        System.out.println("Data Asli");
        System.out.println("=============");
        database.tampilkanData();
        System.out.println();
       
        System.out.println("Diurutkan Berdasarkan NIM");
        System.out.println("==============================");
        database.urutkanBerdasarkanNim();
        database.tampilkanData();
        System.out.println();
       
        System.out.println("Diurutkan Berdasarkan Nama");
        System.out.println("==============================");
        database.urutkanBerdasarkanNama();
        database.tampilkanData();
        System.out.println();
       
        System.out.println("Diurutkan Berdasarkan IPK");
        System.out.println("==============================");
        database.tampilkanData();
    }
}
Dengan tampilan hasil eksekusi sebagai berikut :
Jawaban :
public class Mahasiswa {
            private String nim;
            private String nama;
            private double ipk;
           
            public Mahasiswa(String nim, String nama, double ipk) {
                        this.nim = nim;
                        this.nama = nama;
                        this.ipk = ipk;
            }
           
            public String getNim() {
                        return nim;
            }
           
            public void setNim(String nim) {
                        this.nim = nim;
            }
           
            public String getNama() {
                        return nama;
            }
           
            public void setNama(String nama) {
                        this.nama = nama;
            }
           
            public double getIpk() {
                        return ipk;
            }
           
            public void setIpk(double ipk) {
                        this.ipk = ipk;
            }
}

import java.util.ArrayList;
import java.util.StringTokenizer;
public class Database {
    private ArrayList data = new ArrayList();
           
    public Database(String inputData) {
        Mahasiswa datum;
        StringTokenizer tokens = new StringTokenizer(inputData, ";#");
       
        while (tokens.hasMoreTokens()) {
            String nim = tokens.nextToken();
            String nama = tokens.nextToken();
            double ipk = Double.parseDouble(tokens.nextToken());
            datum = new Mahasiswa(nim, nama, ipk);
            data.add(datum);
        }
    }
   
    public void tampilkanData() {
        for (int i = 0; i < data.size(); i++) {
            Mahasiswa datum = (Mahasiswa)data.get(i);
            System.out.print(datum.getNim() + "\t");
            System.out.print(datum.getNama() + "\t\t");
            System.out.println(datum.getIpk());
        }
    }
   
    public void urutkanBerdasarkanNim() {
        ArrayList dataBaru = new ArrayList(data.size());
        String str1, str2;
        int length;
        Mahasiswa datum, datumBaru;
        for(int i=0;i<data.size();i++){
            datumBaru = (Mahasiswa)data.get(i);
            if(i==0){
                dataBaru.add(datumBaru);
                continue;
            }
            str1 = datumBaru.getNim();
            length = dataBaru.size();
            
            for(int j=0;j<length;j++){
                datum = (Mahasiswa)dataBaru.get(j);
                str2 = datum.getNim();
                if(str1.compareTo(str2)<0){
                    dataBaru.add(j,datumBaru);
                    break;
                } 
                else if (j==length-1)
                    dataBaru.add(datumBaru);
            }
        }
        data = dataBaru;
        dataBaru = null;
    }
   
    public void urutkanBerdasarkanNama() {
        ArrayList dataBaru = new ArrayList(data.size());
        String str1,str2;
        int length;
        Mahasiswa datum,datumBaru;
        for (int i=0;i<data.size();i++) {
            datumBaru = (Mahasiswa)data.get(i);
            if(i==0) {
                dataBaru.add(datumBaru);
                continue;
            }
            str1 = datumBaru.getNama();
            length = dataBaru.size();
           
            for(int j=0;j<length;j++) {
                datum = (Mahasiswa)dataBaru.get(j);
                str2 = datum.getNama();
                if(str1.compareTo(str2)<0) {
                    dataBaru.add(j,datumBaru);
                    break;
                }
                else if(j==length-1)
                    dataBaru.add(datumBaru);
            }
        }
        data = dataBaru;
        dataBaru = null;
    }
   
    public void urutkanBerdasarkanIpk() {
        ArrayList dataBaru = new ArrayList(data.size());
        double num1, num2;
        int length;
        Mahasiswa datum, datumBaru;
        for (int i = 0; i < data.size(); i++) {
            datumBaru = (Mahasiswa)data.get(1);
            if (i == 0) {
                dataBaru.add(datumBaru);
                continue;
            }
            num1 = datumBaru.getIpk();
            length = dataBaru.size();
            for (int j = 0; j < length; j++) {
                datum = (Mahasiswa)dataBaru.get(j);
                num2 = datum.getIpk();
               
                if (num1 < num2) {
                    dataBaru.add(j, datumBaru);
                    break;
                }
                else if (j == length - 1)
                    dataBaru.add(datumBaru);
            }
        }
        data = dataBaru;
        dataBaru = null;
    }
}
Bab 13 : Operasi I/O
1.      Jelaskan perbedaan utama antara Byte Streams dengan Character Streams!
Jawaban :
      Sesuai dengan namanya, byte streams membaca maupun menulis data (stream) dengan menggunakan ukuran byte atau 8 bit, sedangkan character streams menggunakan ukuran character, di mana dalam Java yang menggunakan Unicode untuk mempresentasikan sebuah karakter, memiliki besar 2 byte atau 16 bit. Oleh karena itu penggunaan character streams umumnya hanya cocok digunakan untuk membaca ataupun menulis data yang berupa teks (string) saja. Jika data yang hendak dibaca ataupun ditulis bukan merupakan teks, sebaiknya digunakan byte streams.
2.      Buatlah program untuk mengkopi suatu file teks! Nama file yang hendak dikopi dan hasil kopiannya harus dilewatkan sebagai parameter pada waktu eksekusi. Contoh eksekusi program :
Java kopi fileA.txt fileB.txt
Jawaban :
public class Kopi {
    public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("Cara pemakaian : " );
            System.out.println("java Kopi namaFileSumber namaFileTujuan");
            return;
        }
       
        String sumber = args[0];
        String tujuan = args[1];
       
        String data;
        FileWriter fout = null;
        FileReader fin = null;
        try {
            try {
                fin = new FileReader(sumber);
            } catch (FileNotFoundException e) {
                System.out.println("File : " + sumber +
                                    "tidak ada atau tidak dapat dibuka.");
                return;
            }
           
            try {
                fout = new FileWriter(tujuan);
            } catch (FileNotFoundException e) {
                System.out.println("File : " + sumber +
                                    "tidak ada atau tidak dapat dibuka.");
                return;
            }
           
            BufferedReader br = new BufferedReader(fin);
           
            data = br.readLine();
            while (data != null) {
                // \r\n digunakan untuk pindah baris
                fout.write(data + "\r\n");
                data = br.readLine();
            }
        } catch (IOException e) {
            System.out.println("Eksepsi tidak diketahui : " + e);
        } finally {
            //tutup file
            if (fout != null) {
                try {
                    fout.close();
                } catch (IOException err) {
                    System.out.println("Eksepsi tidak diketahui : " + err);
                }
            }
            if (fin != null) {
                try {
                    fin.close();
                } catch (IOException err) {
                    System.out.println("Eksepsi tidak diketahui : " + err);
                }
            }
        }
    }      
}