Senin, 19 Agustus 2013

Latihan 3

3. Proses input data dengan password menggunakan metode : POST

a. Untuk membuat inputan, dan beri nama file : c.php
<html>
<head>
     <title>Contoh Form dengan POST</title>
</head>
<body>
<form action="c1.php" method="post">
<h1>Only for authorized user</h1>
<hr>
Username : <input type="text" name="username">
<br>
Password : <input type="password" name="password">
<br>
<input type="submit" value="login">
</form>
</body>
</html>
b. Buat file untuk memproses variabel, beri nama filenya : c1.php
<html>
<head>
     <title>Proses Input</title>
</head>
<body>
<?
$username=$_POST["username"];
$password=$_POST["password"];
?>
Username : <?echo $username?>
<br>
Password : <?echo $password?>
<br>
</body>
</html>

Latihan 2

2. Proses Form menggunakan metode : POST

a. Untuk membuat inputan, dan beri nama file : b.php
<html>
<head>
   <title> Form method GET </title>
</head>
<body>
<h1>Input</h1>
<form action="b1.php" method="post">
Masukkan nama : <input type"text" name="nama" size="25">
<input type="submit" value="Proses">
</form>
</body>
</html>
b. Buat file untuk memproses variabel yang diberikan oleh file metodepost.php, beri nama filenya : b1.php
<html>
<head>
   <title> Method POST proses </title>
</head>
<body>
Data nama yang diinputkan adalah : <?echo $_POST["nama"]?>
</body>
</html>
Ket : Dengan metode POST, maka data yang dikirimkan akan disembunyikan, hal ini sangat cocok bila dipakai untuk inputan berupa password. Untuk selain password, pemakaian GET & POST tergantung pada kebutuhan. 

Latihan 1

1. Proses Form menggunakan metode : GET

a. Untuk membuat inputan, dan beri nama file : a.php
<html>
<head>
   <title> Form method GET </title>
</head>
<body>
<h1>Input</h1>
<form action="a1.php" method="get">
Masukkan nama : <input type"text" name="nama" size="25">
<input type="submit" value="Proses">
</form>
</body>
</html>

b. Buat file untuk memproses variabel yang diberikan oleh file metodeget.php, beri nama filenya : a1.php
<html>
<head>
   <title> Method GET proses </title>
</head>
<body>
Data nama yang diinputkan adalah : <?echo $_GET["nama"]?>
</body>
</html>
Ket : Dengan metode GET maka data yang dikirimkan ke file php yang berikutnya akan ditampilkan, cara ini tidak cocok bila data yang dimasukkan berupa password.

PENGOLAHAN DATA DARI FORM

Web menerima input dari user atau pengunjung menggunakan metode GET dan POST. GET akan mengirimkan data bersama dengan URL, sedangkan POST mengirimkannya secara terpisah.
User mengirimkan data input dengan mengisi teks atau pilihan pada attribut form html. Apa saja yang merupakan komponen form html diantaranya :

Form

<FORM ACTION=action base> form tags </FORM>
<FORM METHOD=method> form tags </FORM>
<FORM ENCTYPE=media type> form tags </FORM>
<FORM ACTION=action base TARGET="target window name"> form tags </FORM>
<FORM SCRIPT=URL> form tags </FORM>

Note : target window name  diisikan berupa:
_blank
_self
_parent
_top

Form Input Check Box

<INPUT TYPE=CHECKBOX NAME=name VALUE=value>
<INPUT TYPE=CHECKBOX NAME=name VALUE=value CHECKED>

Form Input File

<INPUT TYPE=FILE NAME=name ACCEPT=mime type list>

Form Input Hidden

<INPUT TYPE=HIDDEN NAME=name VALUE=value>

Form Input Image

<INPUT TYPE=IMAGE NAME=name SRC="URL">
  <INPUT TYPE=IMAGE NAME=name SRC="URL" ALIGN="alignment">

Form Input Password

<INPUT TYPE=PASSWORD NAME=name>
<INPUT TYPE=PASSWORD NAME=name MAXLENGTH=length>
<INPUT TYPE=PASSWORD NAME=name SIZE=size>
<INPUT TYPE=PASSWORD NAME=name VALUE=value>

Form Input Radio Button

<INPUT TYPE=RADIO NAME=name VALUE=value>
<INPUT TYPE=RADIO NAME=name VALUE=value CHECKED>

Form Input Range

This is not supported in many browsers.
<INPUT TYPE=RANGE NAME=name MIN=min MAX=max>
<INPUT TYPE=RANGE NAME=name MIN=min> MAX=max VALUE=value>

Form Input Reset

<INPUT TYPE=RESET>

Form Input Submit

<INPUT TYPE=SUBMIT>
<INPUT TYPE=SUBMIT NAME=name>
<INPUT TYPE=SUBMIT VALUE=value>

Form Input Button

<INPUT TYPE=BUTTON>
<INPUT TYPE=BUTTON NAME=name>
<INPUT TYPE=BUTTON VALUE=value>

Form Input Text

<INPUT TYPE=TEXT NAME=name>
<INPUT TYPE=TEXT NAME=name MAXLENGTH=length>
<INPUT TYPE=TEXT NAME=name SIZE=size>
<INPUT TYPE=TEXT NAME=name VALUE=value>

Form Select

<SELECT NAME=name> option entries </SELECT>
<SELECT NAME=name MULTIPLE> option entries </SELECT>
<SELECT NAME=name SIZE=size> option entries </SELECT>
<SELECT NAME=name SRC=URL WIDTH=width HEIGHT=height UNITS=units> option entries </SELECT>
<OPTION> content
<OPTION SELECTED> content
<OPTION VALUE=value> content
<OPTION SHAPE=shape>

Form Text Area


<TEXTAREA NAME=name COLS=# columns ROWS=# rows> content </TEXTAREA> 

Encryption & Decryption: Lindungi data Anda!

Sewaktu kecil, saya sering menulis pesan pada teman sekelas pada secarik kertas, lalu mengoperkannya secara estafet kepada teman saya itu. Asal tidak ketahuan guru, biasanya cara ini bisa menjadi media komunikasi karena saat itu belum ada sms. Masalahnya adalah semua teman yang dilewati pesan itu akan dapat membaca tulisan tersebut, sehingga saya harus mencari cara agar pesan tersebut tidak dapat dibaca oleh teman lain, misalnya karena bisa membuat saya jadi bahan tertawaan teman satu kelas.
Untuk itu saya dan teman saya itu mempunyai metode yang baru belakangan saya tahu bernama ROT 13. Caranya yaitu dengan menggeser/menukar semua huruf dalam pesan sejauh 13 huruf dalam alfabet. Jadi A ditukar dengan N, B menjadi O dan sebaliknya, dst. Jadi pesan "pinjamin duit dong" akan saya tulis sebagai "cvawnzva qhvg qbat".

Ini adalah sebuah contoh enkripsi atau pengacakan data yang sederhana, bahkan tidak memerlukan kunci atau password. Saking sederhananya, akhirnya bisa dipecahkan oleh teman lain yang pintar matematika hanya dalam satu-dua jam saja, dan akhirnya saya tetap menjadi bahan tertawaan. :(

Proses enkripsi adalah proses atau metode untuk menyembunyikan informasi agar tidak dapat dibaca pihak yang tidak berhak. Sedangkan dekripsi adalah proses kebalikannya, menterjemahkan pesan yang sudah dienkripsi kembali ke pesan semula. Enkripsi/dekripsi termasuk dalam Cryptography (atau Cryptology), yaitu iIlmu yang mempelajari metode menyembunyikan informasi, yang sudah ada sejak jaman Yunani kuno. Disini saya hanya akan membahas sekilas tentang enkripsi/dekripsi, karena proses itu (apalagi Cryptography) terlalu luas untuk diuraikan dalam satu artikel pendek.

Contoh enkripsi yang terkenal adalah mesin Enigma yang digunakan tentara Jerman pada saat Perang Dunia II, untuk mengenkripsi pesan radio atau telegraf sehingga tidak dapat dimengerti oleh pihak Sekutu. Mesin yang mirip mesin ketik ini dirancang oleh Arthur Scherbius, seorang insinyur Jerman dan dipatenkan tahun 1918. Militer Jerman kemudian mengadopsi beberapa variannya untuk kepentingan intelijen dan komunikasi.
Enigma terhitung sangat canggih untuk masa itu antara lain karena menggunakan beberapa lapis enkripsi, lalu sebuah kata yang diulang akan muncul sebagai dua kata yang sama sekali berbeda, dan kunci atau passwordnya setiap hari berubah, membuat para ahli cryptology Sekutu kelimpungan berusaha memecahkan kode Enigma. 
Dengan bantuan ahli cryptography dan matematika Polandia Marian Rejewski akhirnya kode Enigma berhasil dipecahkan. Keberhasilan ini sangat membantu berakhirnya Perang Dunia II, terutama pertempuran di benua Eropa. Jika seandainya kode Enigma tidak dapat dipecahkan, mungkin sejarah dunia akan menjadi sangat berbeda.
Selain Enigma, ada juga mesin Lorentz yang digunakan untuk mengenkripsi komunikasi tingkat tinggi antara Hitler dan jendral-jendralnya. Untuk memecahkan kode Lorentz, para ilmuwan Inggris membuat sebuah mesin penghitung raksasa yang disebut Collosus, yang kemudian menjadi cikal-bakal komputer modern.
Ada banyak artikel, buku dan film baik fiksi maupun non-fiksi tentang Enigma dan Lorentz jika Anda tertarik untuk mengetahui lebih dalam. Jika Anda suka baca novel, cobalah "Cryptonomicon" karangan Neal Stephenson. Untuk penggemar film, tonton saja "Das Boot" (th 1981) atau "U-571" (th 2000).

Dimasa kini, enkripsi dan dekripsi sudah bukan lagi monopoli militer, diplomat dan agen rahasia saja. Sudah banyak program komputer untuk enkripsi (contoh favorit saya adalah TrueCrypt) untuk membantu Anda menyembunyikan file atau dokumen digital rahasia.

Untuk aplikasi digital, ada dua macam enkripsi yang penting:
1. Enkripsi simetrik. Sifat metode ini adalah proses enkripsi dan dekripsi menggunakan password yang sama. Enkripsi ini adalah yang paling umum dipakai dan biasanya sangat cepat sehingga komputer modern mampu mengenkripsi/dekripsi file yang cukup besar hanya dalam sepersekian detik saja. Ada banyak cara enkripsi simetrik, misalnya DES (sudah kadaluarsa), AES, dsb. TrueCrypt menggunakan enkripsi simetrik.
Jika enkripsi ini digunakan untuk mengirim data rahasia ke orang lain, kedua belah pihak harus sudah mengetahui metode enkripsi dan password yang digunakan.
Anda dapat melindungi data yang sensitif dengan metode ini, sehingga jika seandainya perlindungan data secara fisik gagal, data tetap tidak dapat dimengerti orang lain. Misalnya saat mengirim data menggunakan USB flashdisk, jika data sudah dienkripsi maka seandainya flashdisk itu jatuh ketangan pihak lain, data tersebut tetap tidak dapat dibaca. TrueCrypt bahkan memiliki feature 'whole disc encryption' dimana seluruh isi harddisk dienkripsi. Anda akan diminta memasukkan password begitu menyalakan komputer. Tanpa password yang tepat, seluruh isi harddisk tak dapat dibaca. Ini berguna jika Anda harus membawa-bawa laptop berisi data penting dan rahasia kemana-mana.

2. Enkripsi asimetrik, dimana kedua belah pihak menggunakan kunci/password yang berbeda namun berpasangan (berbeda dengan enkripsi simetrik, Anda tidak dapat menentukan password kesukaan Anda, melainkan harus menggunakan program untuk membuatnya). Metode ini dipakai dalam komunikasi digital yang aman seperti misalnya SSL (mungkin secara tidak sadar sudah sering Anda gunakan saat browser Anda menampilkan https:// dan bukan hanya http:// didepan alamat website) atau TLS, dsb. Enkripsi ini menggunakan sepasang password atau kunci yang berpasangan, satu disebut private key dan satu lagi public key. Private key disimpan rapat-rapat, sementara public key, sesuai namanya, dipublikasikan agar semua orang tahu.
Sifat enkripsi asimetrik adalah pesan yang dienkripsi dengan private key hanya dapat didekripsi dengan public key pasangannya saja. Juga sebaliknya, pesan yang dienkripsi dengan public key hanya dapat didekripsi dengan private key yang sesuai.
Misalnya saya ingin mengirim email rahasia ke seorang teman, sebut saja si A, maka pertama-tama saya akan mengambil public key milik si A (banyak server yang menyediakan tempat publikasi public key). Kemudian saya mengenkripsi email tersebut dengan public key tersebut. Dengan demikian saya yakin hanya si A dengan private key miliknya saja yang dapat mendekripsi email saya tersebut. Email terenkripsi itu sendiri bisa dengan bebas dikirim melalui media/server apa saja tanpa perlu khawatir ada orang yang bisa membacanya. Jika Anda sudah menggunakan Mozilla Thunderbird sebagai email client Anda, hal ini akan dengan sangat mudah Anda lakukan. Ini akan saya bahas minggu depan.

Metode enkripsi asimetrik ini juga menjadi dasar apa yang disebut 'digital signature', atau tanda-tangan digital.
Untuk meyakinkan bahwa sebuah file/data (sebut saja 'asli.txt') benar-benar berasal dari saya, maka saya akan mengenkripsi file/data itu dengan private key saya dan menyertakan hasil enkripsi itu (misalnya 'hasil.enc') bersama file/data aslinya.
Untuk mengecek, semua orang dapat mengambil public key saya lalu dengan public key itu mendekripsi lampiran hasil enkripsi saya ('hasil.enc') dan membandingkan hasilnya dengan file asli ('asli.txt').
Jika sama, maka terbukti bahwa file tersebut memang berasal dari saya, karena saya satu-satunya orang yang punya private key yang berpasangan dengan public key tadi. Jika berbeda, maka itu berarti bahwa file itu bukan berasal dari saya atau sudah diubah.

BIOS




Mungkin Anda pernah memperhatikan, saat komputer dinyalakan, maka dilayar akan muncul berbagai tulisan putih dengan latar belakang hitam, yang dengan cepat akan berganti dengan logo Operating System Anda (Windows, Linux, OSX, dsb.). Tulisan tersebut adalah hasil pengecekan hardware oleh BIOS.

Apa itu BIOS?

BIOS (Basic Input/Output System) adalah software kecil yang ditanamkan dalam sebuah chip EEPROM (Electrically Erasable Programmable-Read-Only-Memory) di mainboard secara semi-permanen, yang dirancang agar dijalankan pertama kali setiap kali komputer dinyalakan. Fungsinya untuk mengidentifikasi, mengecek dan men-inisialisasi berbagai macam hardware yang terpasang di komputer, seperti keyboard, harddisk, DVD drive, video card, dsb. Setelah BIOS selesai mengecek dan memberi lampu hijau, baru Operating System akan mulai dijalankan. Proses inilah yang sering disebut booting.
Didalam BIOS juga terdapat berbagai setting yang mengatur bagaimana hardware tertentu harus di-inisialisasi. Biasanya untuk dapat masuk ke menu BIOS, kita harus menekan tombol tertentu (F2 atau Del) sesaat setelah komputer dinyalakan, sesuai perintah dilayar.
Dalam menu BIOS ini Anda dapat mengatur urutan Operating System di device mana yang akan dicoba dijalankan terlebih dulu (Boot Sequence), menyalakan atau mematikan komputer di jam/hari tertentu secara otomatis, mengecek voltase power supply atau mengatur kecepatan kipas pendingin, sampai memberi password agar setting BIOS ini tidak dapat diubah orang yang tidak berhak.
Perhatian: karena langsung mengatur hardware, BIOS sangat 'powerful', namun apabila salah setting sangat mungkin berakibat fatal. Mengubah setting BIOS secara sembarangan dapat mengakibatkan sistem tidak berjalan dengan semestinya.
Jika hendak mengubah setting namun tidak yakin akibatnya, ubahlah satu setting saja dan catat dikertas. Lalu jalankan komputer dan cek hasil perubahan itu. Jika hasilnya tidak sesuai keinginan, restart komputer lalu kembalikan setting BIOS ke semula, baru coba mengubah setting lainnya.

Beberapa tahun yang lalu, muncul virus 'CIH' alias 'Chernobyl' yang mampu menghapus isi BIOS sampai komputer tidak dapat dipakai lagi tanpa perbaikan yang cukup rumit. Namun mainboard masa kini sudah tidak lagi menggunakan tipe chip yang rentan terhadap virus ini, dan beberapa merk bahkan mempunyai BIOS ganda (sampai dua bahkan empat) sehingga seandainya BIOS utama rusak, secara otomatis diperbaiki dengan cadangannya.
Lagipula OS modern (Windows XP, Vista, Linux) tidak mengijinkan program di user mode mengakses langsung ke hardware, sehingga boleh dibilang, virus CIH (dan sejenisnya) kini sudah tidak lagi menjadi ancaman.

Browser Shortcut

Pertama-tama, mumpung saatnya tepat, saya ingin mengucapkan Selamat Hari Raya Idul Fitri bagi Anda yang merayakannya, Minal 'Aidin wal-Faizin, mohon maaf lahir dan batin.

Seperti diceritakan oleh Dan Russel, antropologis di Google, saya juga sering duduk dengan tidak sabar sementara seseorang mencari sebuah kata dalam website yang sedang ditampilkan komputernya, baris demi baris. Kami menjadi tidak sabar karena tahu dengan menekan beberapa tombol browser shortcut saja kita tidak perlu menghabiskan banyak waktu memelototi layar komputer. Tapi ternyata memang tidak semua orang tahu "jalan pintas" ini.

Browser shortcut adalah kombinasi tombol keyboard yang akan membuat browser internet Anda melakukan perintah tertentu. Sebetulnya memang perintah-perintah itu ada dalam menu, tapi Anda harus mencarinya terlebih dahulu diantara puluhan perintah lainnya. Berikut adalah beberapa contohnya:

Ctrl F
Untuk situasi seperti diceritakan diatas, saya biasanya menganjurkan orang itu untuk menekan Ctrl F (find). Dengan menekan tombol "Ctrl" dan "F" bersamaan, akan muncul sebuah kotak isian kecil (dibagian bawah untuk Firefox dan dikanan atas untuk Chrome). Isikan kata yang Anda cari dan klik tombol panah atau "Next". Anda akan dibawa langsung ke bagian website yang mengandung kata itu. Klik tombol panah lagi untuk menuju kata berikutnya.
Saat sudah selesai, silakan klik tanda silang untuk menghilangkan kotak isian ini.
Tombol "F3" juga identik dengan Ctrl F.

Ctrl X, Ctrl C, Ctrl V
Saat ingin mengcopy-paste sebagian text dari website silakan blok text yang dikehendaki (klik dibagian awalnya tanpa melepas tombol mouse, tarik sampai bagian akhir, lalu lepaskan tombol mouse. Text yang diblok akan berwarna berbeda) lalu tekan Ctrl C (copy). Setelah itu silakan buka atau pindah ke program word processor (MS-Word, NotePad, OpenOffice atau lainnya), buka dokumen baru dan tekan Ctrl V (paste).
Crtl X adalah shortcut untuk perintah CUT, dimana text atau bagian yang diblok akan dipotong untuk nanti dikeluarkan lagi saat Anda memberi perintah PASTE (Ctrl V).
Untuk browser, Ctrl X hanya berlaku saat mengisi formulir.
(Perhatikan bahwa tombol X,C, dan V terletak berurutan pada keyboard QWERTY).

Ctrl A
Jika Anda hendak memblok seluruh isi website, tekan Ctrl A (all), dan seluruh halaman akan diblok, siap dicopy-paste.

Ctrl R
Saat koneksi internet Anda kurang sempurna, kadang halaman web tidak tampil sepenuhnya. Untuk mengulang loading website, tekan saja Ctrl R (reload).
Tombol "F5" juga identik dengan Ctrl R.

Alt ←
Untuk kembali ke halaman sebelum ini, alih-alih mengklik tombol panah ke kiri, tekan saja Alt ← (back).

Alt →
Setelah memberi perintah BACK, untuk kembali ke halaman sesudahnya alih-alih mengklik tombol panah ke kanan, tekan saja Alt → (forward).

Ctrl S
Anda ingin menyimpan halaman website yang sedang ditampilkan? Tekan tombol Ctrl S (save), pilih folder tempat menyimpan dan beri nama. Klik Save, dan selesai.

Ctrl +, Ctrl -,Ctrl 0
Huruf dalam website terlalu kecil untuk dibaca? Tekan Ctrl + (zoom in).
Terlalu besar? Tekan Ctrl - (zoom out).
Untuk mengembalikan besar huruf ke standar, tekan Ctrl 0 (zoom reset).

Ctrl Z
Anda tidak sengaja memberi perintah yang salah? Tanpa perlu mencari-cari tombol atau perintah UNDO di menu, silakan tekan tombol Ctrl Z (undo) untuk membatalkan perintah terakhir.
Yang menarik, hampir semua program browser (Mozilla Firefox, Google Chrome, Apple Safari, dll) memiliki shortcut yang sama. Bahkan sebagian besar program populer juga. Ini tentu kabar baik bagi pengguna awam, karena tidak perlu menghapalkan shortcut yang berbeda-beda untuk setiap program.

Untuk daftar shortcut selengkapnya silakan buka daftar dari Firefox ini.