University Gunadarma World Class

Apapun yang Anda perjuangkan melalui pertarungan – pasti merupakan sesuatu yang penting bagi Anda. Itu sebabnya Anda dikenal dari apa yang Anda pertarungkan

Wednesday, April 7, 2010

Building The Web.

Building The Web.

1. Web Architecture (HTTP, HTML, URI, XML, XSLT, JavaScript, AJAX).

Jika anda ada kemuaan untuk membangun sebuah web ada beberapa hal yang perlu diperhatikan. Ini adalah hal-hal yang perlu anda perhatikan dalam membuat sebuah website. Langkah yang terbaik dalam merancang dan membangun web, setiap situs Web harus mengetahui secara jelas apa tujuan dari pembuatan website. Perencanaan dan tujuan yang jelas adalah kunci untuk keberhasilan dalam membangun situs web.

Ø Menurut prosedurnya Perencanaan situs Web terdiri dari dua bagian-utama, yaitu :

1. Mencari informasi mengenai perkembangan website saat ini, menjalin kerjasama dengan Pengembang website untuk mendapatkan penjelasan secara up-to-date, kemudian lakukan analisa kebutuhan dan tujuan yang disarankan oleh Web Development, untuk memperbaiki rencana anda.

2. Memikirkan teknologi apa yang sangat mudah dipergunakan dalam membangun website, mulai dari cara pembuatan dan bahasa pemrograman yang dipakai seperti : XHTML, JavaScript, VBScript, PHP CSS, SQL, dan lain-lain.

Untuk membangun web anda juga pasti akan membutuhkan Web Architecture yang meliputi HTTP, HTML, URL, XML, XSLT, javaScript, AJAX, dan lain-lain.

Ø Berikut ini pembahasan mengena web architecture:

1. Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang berguna untuk sistem informasi yang menggunakan terdistribusi, kolaboratif, dan hipermedia. Penggunaannya sangat multi-talenta pada pengambilan sumber daya yang saling terhubung dengan tautan, yang biasa disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web pada tahun 1990 oleh ilmuan fisik Inggris ‘Tim Berners-Lee’. Hingga sampai saat ini pun, ada dua versi mayor dari protokol HTTP, yaitu HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak usah membuang waktu untuk pembuatan koneksi berulang-ulang.

2. HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).

3. URL singkatan dari Uniform Resource Locator adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar.

4. Extensible Markup Language (XML) adalah bahasa markup yang dirancang khusus untuk penyampaian informasi melalui World Wide Web, persis seperti HTML. World Wide Web Consortium (W3C) menjelaskan bahasa ini sebagai berikut :“Extensible Markup Language (XML) adalah sebuah subset dari SGML. Sasarannya adalah memungkinkan SGML generik dapat dilayani, diterima, dan diproses pada web dengan cara yang sekarang dipakai untuk HTML. XML dirancang untuk kemudahan implementasi dan untuk operabilitas dengan SGML dan HTML. HTML memberikan sekumpulan elemen baku yang bisa kita gunakan untuk menandai komponen-komponen halaman web, contoh :

5. Extensible Stylesheet Language Transformations yang sering disebut XSLT adalah bahasa pemrograman berdasar XML yang digunakan untuk transformasi dokumen XML menjadi dokumen XML atau format lainnya. Transformasi tidak mengubah dokumen asli, melainkan menghasilkan dokumen baru berdasarkan isi dokumen asli. XSLT sering digunakan untuk mengkonversi data dari satu XML schema ke schema lain, ke format XHTML, atau format XML yang dapat diubah menjadi dokumen PDF.

6. JavaScript adalah nama implementasi Netscape Communications Corporation untuk ECMA script standar, suatu bahasa skrip yang didasarkan pada konsep pemrograman berbasis prototipe. Bahasa ini terutama terkenal karena penggunaannya di situs web (sebagai JavaScript sisi klien) dan juga digunakan untuk menyediakan akses skrip untuk objek yang dibenamkan (embedded) di aplikasi lain.Walaupun memiliki nama serupa, JavaScript hanya sedikit berhubungan dengan bahasa pemrograman Java, dengan kesamaan utamanya adalah penggunaan sintaks C. Secara semantik, JavaScript memiliki lebih banyak kesamaan dengan bahasa pemrograman Self.Skrip JavaScript yang dimasukkan di dalam berkas HTML ataupun XHTML harus dimasukkan di antara tag.

7. Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability.

ü Ajax merupakan kombinasi dari:

7.1 DOM yang diakses dengan client side scripting language, seperti§ VBScript dan implementasi ECMAScript seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan

7.2 Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum di§ implementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, element HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHTTP Request untuk melakukan pertukaran data dengan web server.

7.3 XML umumnya digunakan sebagai dokumen transfer, walaupun format lain§ juga memungkinkan, seperti HTML, plain text. XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya dengan memakai DOM.

7.4 JSON dapat menjadi pilihan alternatif sebagai dokumen transfer,§ mengingat JSON adalah JavaScript itu sendiri sehingga penanganannya lebih mudah.


Dalam membangun sebuah web, keamanan adalah salah satu hal yang plaing utama. karena jika web yang kita buat tidak aman, maka hacker dapat dengan mudah mengacak-acak web tersebut. Kriptografi secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.

Ø Ada 4 tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :

· Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.

· Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

· Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

· Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

2. Algoritma Sandi.
Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):

· konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya.

· difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa. Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang /plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P

Ø Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :

· kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik.

· kunci-asimetris/asymetric-key.

Ø Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :

· algoritma sandi klasik classic cryptography.

· algoritma sandi modern modern cryptography.

Ø Berdasarkan kerahasiaan kuncinya dibedakan menjadi :

· algoritma sandi kunci rahasia secret-key.

· algoritma sandi kunci publik publik-key.

Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

3. Algoritma sandi kunci-simetris.

Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher. Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci.

Ø Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :

· ECB, Electronic Code Book

· CBC, Cipher Block Chaining

· OFB, Output Feed Back

· CFB, Cipher Feed Back

Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.

Ø Beberapa contoh algoritma yang menggunakan kunci-simetris:

· DES – Data Encryption Standard

· blowfish

· twofish

· MARS

· IDEA

· 3DES – DES diaplikasikan 3 kali

· AES – Advanced Encryption Standard, yang bernama asli rijndael

4. Standards.

Web standar adalah istilah umum untuk standar formal dan spesifikasi teknis lainnya yang mendefinisikan dan menggambarkan aspek dari World Wide Web. Dalam beberapa tahun terakhir, istilah telah lebih sering dikaitkan dengan kecenderungan mendukung serangkaian standar praktik terbaik untuk membangun situs web dan filsafat desain dan pengembangan web yang meliputi metode-metode.

· Banyak saling tergantung standar dan spesifikasi, beberapa aspek yang mengatur internet, bukan hanya World Wide Web, secara langsung atau tidak langsung mempengaruhi perkembangan dan administrasi situs web kami dan layanan web. Pertimbangan termasuk interoperabilitas, aksesibilitas dan kegunaan dari halaman web dan situs web.