aaa

Berusaha yang TERBAIK

Kamis, 14 April 2011

KEAMANAN WEBSITE


Mencari suatu kelemahan keamanan dan melakukan audit terhadap suatu website jauh lebih mudah daripada membangun sebuah sistem keamanan itu sendiri. Bagaimana tidak, ada begitu banyak di internet maupun buku-buku yang membahas aneka macam teknik hacking itu sendiri.
Belakangan ini, dunia IT underground semakin marak saja. Sering kita saksikan baik di media cetak, elektronik, dan dunia maya, begitu banyak berita yang memuat aksi-aksi penyerangan, baik dalam bentuk deface sampai dDos yang meminta banyak korban. Tidak tanggung-tanggung, bahkan web pemerintah pun, baik pusat sampai daerah juga sudah banyak yang jadi korbannya.
Setiap pengembang web, sebaiknya yang pertama kali harus dilakukan yaitu memperbaiki pengamanan terhadap web yang dibangunnya. Pengamanan harus diterapkan sejak awal karena penerapannya akan sangat sulit jika telah terjadi masalah di kemudian hari. Dalam pengamanan dikenal dengan beberapa tingkat dan tipe. Tingkat dan tipe yang diperlukan untuk aplikasi kita akan berbeda-beda bergantung bagaimana aplikasi itu bekerja, tipe dan nilai data yang disimpan, jumlah resiko yang biasa dihadapi, usaha, serta biaya yang dipakai untuk menghasilkan aplikasi yang aman. Misalnya, pengamanan yang dibutuhkan untuk web perorangan akan sangat berbeda dibanding untuk situs perusahaan atau situs e-commerce

.
Setelah sedikit mengetahui hal-hal di atas, maka sekarang kita membahas tentang strategi dasar pengamanan web. Pada dasarnya, strategi pengamanan web yang dapat kita lakukan di antaranya sebagai berikut :
1.       Pemilihan Sistem Operasi (OS), Setting Server, dan Desain Aplikasi
Salah satu hal penting yang harus dicermati adalah pemilihan sistem operasi (OS). Seberapa besar pengamanan yang dibutuhkan sangat berhubungan dengan sistem operasi. Meskipun sistem operasi semisal Windows 9x bisa dijadikan sebagai server web dengan keterbatasannya melalui Personal Web Service (PWS), sistem ini tidak cukup apabila pengamanan merupakan faktor penting. Salah satu kelemahannya Windows 9x tidak dapat menyediakan NTFS yang sangat penting untuk kontrol akses. Setting konfigurasi pada server yang tidak memadai dan hanya mengandalkan default merupakan faktor utama penyebab server yang dibangun tidak terjamin keamanannya. Penentuan kebijakan dalam menerapkan sistem pengamanan ini merupakan kunci utama yang harus diperhatikan untuk diterapkan pertama kali. Ironisnya justru hal ini merupakan hal yang paling sering diabaikan.
2.      Instalasi Patch
Idealnya, software yang kita pakai mestinya sudah sempurna sejak awal. Namun kenyataannya tidak pernah ada software yang benar-benar 100% bugs free. Ada saja bagian program yang rawan keamanan. Pada saat kerawanan tersebut ditemukan biasanya perusahaan pembuat software akan mengeluarkan aplikasi baru untuk memperbaiki kesalahan software terdahulu. Aplikasi inilah yang dikenal dengan nama patch. Meskipun penggunaan istilah ini sekarang juga digunakan bagi para cracker untuk membajak sebuah software resmi. Penerapan patch ini harus dilakukan pada sistem operasi, server web, add on, maupun file-file komponen lain yang terintegrasi dengan web kita. Kemalasan, ketidaktahuan, serta kesibukan admin server membuat mereka tidak konsisten menerapkan patch ini. Sangat ironis jika dibandingkan dengan kemudahan dalam instalasi patch tersebut.
3.      Kontrol Akses
Penentuan siapa yang dapat mengakses server harus dilakukan dengan menggunakan kontrol akses, baik dengan autentikasi maupun otorisasi. Autentikasi adalah proses validasi identitas yang dilakukan dengan membandingkan data user yang dikirim dengan data yang terdapat dalam database. Setelah melakukan autentikasi, langkah selanjutnya yaitu melakukan otorisasi yang merupakan proses untuk menentukan apakah pengguna memiliki ijin untuk melakukan tindakan yang diminta. Ada dua tipe dasar autentikasi, yaitu berbasiskan akses direktori dan autentikasi berbasiskan form. Khusus untuk Windows ada tipe autentikasi lain yaitu autentikasi passport.  Sedangkan otorisasi terbagi dua bentuk, yaitu ACL (Access Control Listi) dan hostname.
4.      Audit dan Log File
Audit diperlukan untuk menunjang cara-cara pengamanan yang telah dijelaskan di atas. Proses monitoring aktivitas tertentu seperti usaha login (berhasil atau gagal), dan kemudian menuliskannya ke dalam log ini merupakan proses audit. Sebagai contoh, kita dapat menganalisa dengan mengaudit kegagalan usaha login  dalam log, memungkinkan kita menentukan saat seseorang berusaha menyerang server. Untuk mengaktifkan sistem audit dan log sangat bergantung pada sistem operasi, aplikasi server yang dijalankan, database yang digunakan, dll. Pada sistem Posix (*nix: unix dan variannya (linux, FreeBSD)), log defaultnya berada di /var/log yang pengaktifannya bergantung pada aplikasi atau proses apa yang ingin diaudit. Log server web yang kita jalankan dikonfigurasikan di file konfigurasi server apache (defaultnya httpd.conf)
5.      Menerapkan Kriptografi
Selanjutnya, juga perlu diketahui bagaimana proses pengiriman lewat protokol http, baik permintaan layanan maupun respon berupa teks biasa (plaintext). Kemungkinan attacker untuk melakukan tindakan kriminal dengan mencuri data sensitif seperti password, e-mail atau nomor kartu kredit sangat besar kemungkinannya. Untuk menjaga informasi semacam ini tetap aman, diperlukan enkripsi yang membuat plaintext menjadi ciphertext (teks yang tidak terbaca akibat proses enkripsi). Proses kebalikan dari enkripsi yaitu deskripsi. Ilmu yang mempelajari tentang keamanan informasi inilah yang disebut kriptografi.
Pada level sistem operasi, penerapan yang dilakukan untuk mengamankan server web adalah dengan menggunakan SSL. Secara default komunikasi SSL terjadi pada port 443 dengan prefiks https:// untuk url yang menggunakan SSL. Untuk mengaktifkan SSL pada server diperlukan sertifikat server. Pembuatan server ini dapat diajukan kepada pemegang sertifikat pihak ketiga yang sudah terkenal seperti Verisign atau bahkan bisa juga dengan membuat sendiri. Secara default konfigurasi SSL pada apache terletak pada direktori httpd di mana server apache diinstall.

Tips sederhana dalam menjaga keamanan situs web adalah
- Security Mindset
Kita mestinya setuju bahwa hal terpenting dari semua kegiatan kita di internet berputar di sekitar isu keamanan, agar tidak kebobolan. Karena semua kerja keras anda bisa sia2 jika suatu saat tiba2 situs anda lenyap akibat ulah iseng para hacker. Para pakar pun sudah mendeklarasikan bahwa tidak ada hal yang paling aman di dunia internet. Jadi, jangan anggap remeh soal keamanan website anda.
- Selalu update ke versi terbaru
Bagi pengguna content management system (CMS) terbuka (open source) seperti WordPress, Joomla dan sebagainya, sangat dianjurkan agar rajin meng-update ke versi terbaru. Pengguna WordPress, pastikan anda sudah mengupdate ke WordPress 2.8.2. Sedangkan Joomla versi terakhir adalah 1.5.14. Meskipun tidak menjadi menu harian, kalau sudah memiliki situs sendiri anda sebaiknya rajin mengunjungi situs-situs yang membahas tentang keamanan aplikasi web seperti www.milw0rm.com, www.securityfocus.com atau www.packetstormsecurity.org untuk mendapatkan informasi tentang bug terbaru.
- Kerja sama dengan webmaster profesional
Kalau anda sama sekali tidak ingin ambil resiko bekerja sendirian, anda bisa bekerja sama dengan seorang webmaster profesional atau kalau situs anda sudah menghasilkan duit, anda bisa menyewa seorang profesional dalam bidang keamanan website.
- Pelajari Cara Kerja Hacker
Luangkan waktu untuk mencari tahu beberapa metode yang biasa digunakan para hacker untuk menyerang suatu website seperti remote file inclusion (RFI), local file inclusion (LFI), SQL injection dan cross site scripting (XSS).

PERENCANAAN DAN PERANCANGAN WEBSITE


PERENCANAAN DAN PERANCANGAN WEBSITE

Perencanaan Web

            Perencanaan untuk membuat web agar menjadi jauh lebih mudah untuk mencapai seragam tampilan dan nuansa situs web yang dibuat - membuatnya menjadi ramah dan lebih mudah digunakan. Dasar-dasar desain website yang dilakukan adalah apa yang difokuskan dalam membuat website, pilihan – pilihan yang harus dipertimbangkan, dan apa pilihan yang harus dipilih untuk menghindari perangkap.
            
            Pertimbangan utama yang harus disiapkan dalam membuat website adalah menentukan apa yang akan kita coba katakan. Semakin jelas tentang pesan kita, semakin terfokus situs web yang akan dibuat. Dengan hal itu, kita akan menemukan tujuan dari pembuatan situs web ini. Dan tidak dapat dilupakan untuk mentargetkan audiens atau penonton atau pengunjung web yang telah kita buat. Misalnya, Adobe Edge newsletter bulanan (www.adobe.com/newsletters/edge/). The Edge adalah contoh situs yang sangat baik yang benar-benar berada ke arah target. Target yang dimaksud terdiri dari Dreamweaver profesional web developer dan desainer. Oleh karena itu, situs ini keren tapi informatif, dan diisi dengan contoh-contoh menarik, mutakhir dalam teknik pemrograman.
             
            Situs web pun tidak diciptakan dalam ruang hampa, jadi seorang designer web profesional akan terbiasa bekerja dalam anggaran. Anggaran yang dimiliki adalah anggaran moneter, sebuah kombinasi waktu pembangunan (untuk perancangan dan programer), bahan (kustom grafis, stok foto, dan sejenisnya), dan pemeliharaan. Kita dapat membangun situs yang besar dengan banyak halaman yang menarik secara dinamis dari database internal dan membutuhkan sangat sedikit tangan-on pemeliharaan. Atau, kita dapat membuat situs kecil, grafik - situs intensif yang harus diperbarui setiap mingguan. Sangat mungkin bahwa kedua situs memiliki biaya yang sama. Anggaran lain yang berlaku adalah terdapat pada jumlah waktu yang mampu kita keluarkan untuk proyek tertentu. Web designer profesional cepat menyadari bahwa waktu adalah komoditas penting. Sumber daya yang dibutuhkan ketika melakukan sebuah karya untuk kita sendiri ketika kita tidak memiliki tenggang waktu yang sangat berbeda dari yang dibutuhkan bila kita menandatangani kontrak pada 30 Juni untuk pekerjaan yang harus siap diluncurkan pada 4 Juli. Anggaran lain yang harus dipertimbangkan adalah bandwidth. Web, dengan koneksi internet lebih cepat dan peningkatan infrastruktur, perlahan-lahan menanggalkan citra sebagai World Wide Tunggu. Namun, banyak pengguna masih terjebak dengan modem yang lambat, yang berarti bahwa webmaster harus menjaga mata tetap pada halaman berat dalam waktu yang lama yang dibutuhkan untuk men-download di bawah harga modem paling khas. Tentu saja, kita selalu dapat memutuskan untuk memastikan bahwa video animasi karya yang memakan waktu 8 menit untuk download pada kabel modem - kita tidak bisa mengharapkan semua orang menunggu untuk melihatnya.
             
             Dalam membuat desain web, banyak profesional Web meminjam teknik yang digunakan secara ekstensif dalam mengembangkan pemasaran massa lainnya dalam bentuk storyboard. Storyboard untuk Web diagram pertama memerlukan berbagai halaman di situs kita yang sangat mirip dengan storyboard yang lebih tradisional dalam video atau film  dan kemudian rincian sambungan untuk halaman yang terpisah untuk membentuk keseluruhan situs.
            Sebelum ke World Wide Web, sebagian besar format media yang linear yaitu, satu gambar atau halaman diikuti dengan yang lain dalam urutan yang tidak dapat diubah. Sebaliknya, Web dan kepribadian interaktif memungkinkan pengguna untuk melompat dari topik ke topik. Namun demikian, kita masih dapat menggunakan pendekatan linear sebuah situs web dan memiliki satu halaman muncul setelah halaman yang lain, seperti buku multimedia.
Model navigasi linear bekerja dengan baik untuk pelatihan berbasis komputer aplikasi dan ekspositoris skenario lain di mana kita ingin mengontrol erat pengalaman pemirsa. Beberapa desainer Web menggunakan gaya linear pintu masuk atau keluar dari situs utama mereka, terhubung ke model navigasi bertingkat. Dengan dynamic HTML, kita dapat mencapai efek yang bergerak melalui beberapa halaman dalam satu halaman melalui layering.
            Model navigasi hirarkis muncul dari atas ke bawah desain. Ini mulai dengan satu konsep kunci yang menjadi halaman rumah kita. Dari halaman muka, pengguna cabang ke beberapa halaman utama, jika diperlukan, halaman utama ini dapat gilirannya, bercabang menjadi banyak halaman terpisah. Website hierarkis paling dikenal untuk menjaga rasa pengunjung tempat di situs. Beberapa web designer bahkan menggambarkan struktur treelike sebagai perangkat navigasi dan mencakup setiap cabang berpergian sebagai link. Hal ini memungkinkan pengunjung untuk dengan cepat menelusuri kembali langkah-langkah mereka, cabang dengan cabang, untuk menyelidiki rute yang berbeda.
            Mengingat Web struktur hyperlink yang fleksibel, yang berbicara dan model navigasi hub bekerja sangat baik. Hub adalah situs alami home page. Jeruji proyeksi dari pusat terhubung ke semua halaman utama situs. Tata letak ini memungkinkan akses cepat ke halaman tombol apa hanya dalam dua lompatan - satu melompat selalu mengarah kembali ke hub / home page dan satu melompat terdepan dalam arah yang baru. Kelemahan utama untuk berbicara dan struktur hub yang diperlukan kembali ke halaman muka. Banyak web designer menyiasati keterbatasan ini dengan menggunakan bingkai untuk membuat pertama melompat dari hub ke halaman Web; cara ini, bar navigasi selalu tersedia. Desain ini juga memungkinkan pengunjung yang menggunakan browser nonframes berkemampuan untuk mengambil jalan yang berbeda.
            Pendekatan terstruktur yang paling tampak untuk sebuah situs web adalah keuntungan dari kemampuan Web's hyperlink. Desain ini memungkinkan hampir setiap halaman untuk menyambung ke setiap halaman. Desain web penuh bekerja dengan baik untuk situs yang eksplorasi topik tertentu karena pendekatan pengalaman mendorong pengunjung situs sesuai dengan kebutuhan mereka sendiri, tidak didasarkan pada pengertian tentang salah satu desainer. Bahaya dalam penggunaan Web secara penuh untuk desain situs Anda adalah pengunjung dapat benar-benar tersesat. Sebagai pintu keluar darurat, banyak web designer menyertakan link ke situs yang dapat diklik peta, terutama untuk skala besar situs menggunakan desain in.



Perancangan Web
            Dalam merancang sebuah web sendiri tanpa bantuan jasa pembuat website dibutuhkan lebih dari sekedar ide dan software web editor yang baik. Samping harus menyediakan menu pilihan untuk penggunaan dengan struktur yang jelas, tata-letak dan teknik yang digunakan juga harus harmonis. Dengan demikian, pertama harus dibuat sebuah perencanaan yang matang untuk menghasilkan sebuah web yang baik. Mulai dari pribadi atau komersil, menguntungkan atau tidak menguntungkan, namun demikian dalam perencanaan dan perancangan sebuah web bila kita membuat web pribadi jika terdapat kesalahan kecil dapat ditolerin, tidak demikian dengan web perusahaan, karena tujuannya adalah menarik sebanyak mungkin pelanggan. Dengan demikian kita dapat melakukannnya tahap-demi tahap.
Memilih Alamat ( Domain )
            Tahap ini memang tidak selalu harus dilakukan dalam tahap pertama tetapi harus di pertimbangkan alamat apa yang akan di gunakan oleh web yang akan anda buat. usahakan untuk segera membeli sebuah domain yang diinginkan. Jangan sampai web anda selesai dengan bagus, tetapi domain yang anda inginkan sudah dipakai oleh pihak lain.
Memilih Hosting
            Hosting adalah tempat dimana anda meng-host atau menyimpan file web yang anda buat. Tentukan apakah anda ingin membeli ruang hosting ataukah akan memebuat serve webs anda sendiri. Jika anda memilih meng-hosting file web anda, maka pilih penyedia hosting yang tidak lagi di ragukan kehandalannya atau anda tanyakan kepada kawan dan bisa juga dengan cara searing dengan user lainnya via internet. Jika anda memilih membuat serve web anda sendiri, gunakan aplikasi-aplikasi yang telah handal dan dipercaya kehebatannya untuk di gunakan sebagai serve sebuah web dan anda juga bisa menyewa seorang IT untuk men-setting dan membuat sistem keamanan yang bagus untuk menghindari dari serangan para Hacker.
Membuat Rancangan Yang Benar
            Pertama-tama anda harus jelas menentukan rancangan yang jelas. Siapa yang anda tuju, bagaimana penampilan halaman, sarana dan teknik apa yang anda gunakan, dan anda juga harus sudah memikirkan efek multimedia apa yang anda gunakan untuk mempercantik halaman web anda. Contohnya anda ingin menambahkan animasi, anda dapat menggunakan Macromedia Flash untuk membuatnya.
Merancang Tampilan Website
            Jika anda telah mengerti dengan jelas kearah mana web anda tertuju, sekarang anda tinggal membuat tampilan web anda semenarik mungkin agar pengunjung betah dan sesering mungkin mengunjungi web anda. Biasanya ide kreatif muncul jika kita sesering mungkin browsing untuk melihat-lihat dan mengambil ide kreatif dari pesaing. Jangan meniru, buat variasi lainnya yang lebih menarik. Atau anda juga bisa mendownload template web dari internet secara gratis atau ada juga yang berbayar.
Menguji Sebelum Menghosting
            Beberapa kesalahan pasti akan anda temukan setelah selesai merancang web anda, konsistensi web, pengujian hyperlink, posisi elemen-eleman halaman yang benar pada setiap halaman web harus terus di amati, seperti halnya tampilan secara umum. Anda juga dapat meminta bantuan kepada teman anda untuk mengkoreksi web anda, karena pada umumnya mereka dapat memberikan saran-saran untuk perbaikan web anda. Jika anda ingin agar para pengunjung mendapat penampilan halaman yang sama, anda harus menggunakan pengujian pada browser-browser yang ada. seperti Internet Explorer, Netscape Navigator, Opera, dan Mozilla Firefox.
Meng-update Secara Berkala
            Setelah anda berhasil meluncurkan web yang telah anda desaign sendiri tahap demi tahap. maka sudah waktunya anda meng-update sacar berkala agar para pengunjung tidak bosen dan jenuh dengan isi (content) web anda. Lakukan perbaikan secara berkala agar menyempurnakan web anda, tampung semua saran dan kritik para pengunjung untuk mengkoreksi atau memberikan ide-ide kreatif.

Minggu, 10 April 2011

APLIKASI WEBSITE


Aplikasi Web

                Saat ini, selain menyediakan halaman-halaman statis, sudah “sangat” banyak situs web yang menyediakan mekanisme bagi pengunjungya untuk dapat berinteraksi dengan situs tersebut. Interaksi tersebut dimungkinkan dengan cara menambahkan kode-kode pemrograman pada web situs web. Halaman-halaman web yang telah ditambahkan kode program (PHP, ASP, JSP, Perl, dsb) biasa dikenal dengan nama web application (aplikasi web). Saat ini terdapat berbagai macam aplikasi web, diantaranya adalah webmail, online shopping, blog, search engine (mesin pencarian), SFA (Sales Force Automation), ERP (Enterprise Resource Planning), online auction (lelang online), dan CRM (Customer Relationship Management). Tentunya masih banyak jenis aplikasi web lainnya yang belum kita sebutkan. Aplikasi-aplikasi web tersebut dapat diakses lewat internet maupun intranet (misal intranet perusahaan).
                Sebelum kita melanjutkan, ada baiknya kita samakan terlebih dahulu pemahaman kita mengenai definisi dari aplikasi web dan aplikasi desktop. Pada tulisan ini, yang dimaksud aplikasi web adalah aplikasi yang dapat diakses dengan menggunakan web browser lewat jaringan baik internet ataupun intranet (misal intranet perusahaan). Contoh aplikasi web yang banyak digunakan misalnya Yahoo Mail, GMail, Google search engine, Friendster, YouTube, Flickr, WordPress, dan lain sebagainya. Di sisi lain, yang dimaksud dengan aplikasi desktop pada tulisan ini adalah aplikasi yang dapat digunakan tanpa harus menggunakan web browser. Contoh aplikasi desktop yang biasa kita gunakan diantaranya adalah Microsoft Office, Open Office, Adobe Photoshop, dan Outlook Express.

                Selama ini mungkin jika kita mendengar istilah aplikasi web maka yang terlintas di benak kita adalah aplikasi yang tersusun dari halaman-halaman web. Untuk berpindah antar halaman tersebut biasanya memakan waktu yang cukup lama (tergantung koneksi jaringan). Saat ini tengah terjadi tren baru dalam aplikasi web. Tren tersebut akan mengubah persepsi kita tentang aplikasi web. Cobalah kita kunjungi beberapa situs web berikut ini: Netvibes, Pageflakes, Google Spreadsheet, Zoho, gOFFICE, dan Zimbra. Berbeda dengan aplikasi web yang biasa kita jumpai, aplikasi-aplikasi web tersebut tidak tersusun atas halaman-halaman web melainkan tersusun atas window-window layaknya aplikasi desktop. Gambar di samping menunjukkan halaman depan dari Netvibes. Tampilan Netvibes sangat berbeda dengan aplikasi web yang biasa kita lihat bukan? Sebagian orang menyebut aplikasi-aplikasi tersebut sebagai Webtop (penggunaan istilah ini memang masih banyak diperdebatkan).
                Sekarang, secara perlahan-lahan aplikasi web mulai mampu meniru look-and-feel dari aplikasi desktop. Aplikasi-aplikasi yang tadinya hanya tersedia pada versi desktop kini sudah mulai memiliki pesaing yang berupa aplikasi web. Kita tentunya kenal dengan Microsoft Excel. Sekarang Google telah memiliki software spreadsheet sejenis namun kali ini hadir dalam bentuk web. Untuk dapat menggunakan spreadsheet berbasis web tersebut yang kita perlukan hanyalah sebuah web browser (Internet Explorer, Firefox, Opera, ataupun browser lainnya). Kita tak perlu lagi meng-install aplikasi spreadsheet tersebut terlebih dahulu hanya untuk menjalankannya. Cukup dengan mengarahkan browser kita ke http://spreadsheet.google.com maka seketika itu pula aplikasi spreadsheet tersebut dapat digunakan. Sangat mudah bukan?
                Website-website tersebut membuktikan bahwa saat ini aplikasi web sudah tidak memiliki “batas” lagi. Kita sudah dapat membuat berbagai aplikasi “berat” yang dahulu menjadi dominasi aplikasi desktop. Tidak menutup kemungkinan di masa akan datang akan tersedia versi web dari aplikasi-aplikasi seperti Adobe Photoshop ataupun Autocad (tentunya tidak dalam waktu dekat). Walaupun demikian, sayangnya untuk dapat membangun aplikasi web yang menyerupai aplikasi desktop bukanlah perkara sederhana. Dibutuhkan usaha yang sangat keras karena developer memiliki tugas ganda. Selain harus membuat kode aplikasi yang akan dibangun (misalnya logic akuntansi), developer juga harus membuat kode-kode untuk meniru tampilan desktop. Sebagian developer melihat permasalahan tersebut dan menyediakan solusinya. Mereka menyediakan berbagai framework dan library yang dapat digunakan untuk membangun aplikasi webtop. Solusi tersebut terbukti dapat mempercepat pembangunan aplikasi.
                Kini sebagian developer bahkan melakukan terobosan lebih jauh lagi. Mereka menyediakan solusi yang dinamakan WebOS. Secara teknis, WebOS adalah sebuah desktop environment yang berjalan di atas web. WebOS dapat diartikan sebagai “sistem operasi” yang berjalan di atas web browser. Tentunya, WebOS bukanlah sebuah sistem operasi yang sebenarnya. WebOS hanyalah meniru tampilan, look-and-feel, dan beberapa fitur yang biasanya ditemukan pada sebuah sistem operasi. WebOS terbukti dapat membuat pembangunan aplikasi web menjadi jauh lebih cepat. Pada tulisan mendatang, kita akan membahas lebih jauh mengenai apa itu WebOS.
                Dalam rekayasa perangkat lunak, suatu aplikasi web adalah suatu aplikasi yang diakses menggunakan penjelajah web melalui suatu jaringan internet atau intranet. Ia juga merupakan suatu aplikasi perangkat lunak komputer yang dikodekan dalam bahasa yang didukung penjelajah web (seperti HTML, JavaScript, AJAX, Java, dll) dan bergantung pada penjelajah tersebut untuk menampilkan aplikasi. seperti
                Aplikasi web menjadi populer karena kemudahan tersedianya aplikasi klien untuk mengaksesnya, penjelajah web, yang kadang disebut sebagai suatu thin client (klien tipis). Kemampuan untuk memperbarui dan memelihara aplikasi web tanpa harus mendistribusikan dan menginstalasi perangkat lunak pada kemungkinan ribuan komputer klien merupakan alasan kunci popularitasnya. Aplikasi web yang umum misalnya webmail, toko ritel daring, lelang daring, wiki, papan diskusi, weblog, serta MMORPG.
Beberapa keuntungan yang akan di dapat jika suatu perusahaan menggunakan aplilkasi website:
  • Apikasi web mudah dan murah untuk dibuat dan diterapkan. Dengan aplikasi web, suatu perusahaan dapat menghemat biaya department IT terutama pada saat melakukan installasi software pada masing-masing komputer user. Dengan aplikasi web, semua user tersebut hanya memerlukan sebuah komputer dengan browser web dan koneksi internet.
  • Aplikasi web mudah dan tidak mahal dalam melakukan upgrade. Biaya perawatan untuk software biasanya memerlukan dana yang cukup besar. Karena melakukan upgrade pada suatu software yang ada sama dengan melakukan dengan installasi aplikasi baru, keuntungan aplikasi website seperti yang disebutkan di atas. Selama aplikasi pada web mesin server dilakukan upgrade, semua orang akan mendapatkan versi yang baru.
  • Aplikasi web sangat fleksibel dalam hal kebutuhan end user. Cukup dengan melakukan installasi dan setup aplikasi web pada web server – dan beberapa operating system modern akan melakukannya – dan anda dapat menggunakannya melalui internet/intranet dalam berbagai mesin, seperti Mac, Windows, atau Linux dan lain-lain. Jika aplikasi tersebut dibangun dengan sesuai standard, maka akan berjalan dengan baik pada semua browser web modern, seperti internet explorer, Mozilla Firefox, Opera, google chrome atau Safari.
  • Aplikasi web lebih mudah jika kita mempunyai data penyimpanan terpusat. Ketika kita mempunyai beberapa lokasi yang membutuhkan akses pada data yang sama, mempunyai semua data terpusat pada satu tempat akan lebih mudah daripada mempunyai data terpisah di beberapa lokasi. Hal ini akan menghindarkan dari pengoperasian sinkronisasi data yang potensial dan resiko keamanan yang relatif sedikit.

TEKNOLOGI DALAM WEBSITE

Teknologi dalam WEB

Dalam membuat website sederhana maupun yang eksklusif (mahal), tentunya akan menggunakan tools yang bisa digunakan untuk mendesain web, baik yang di-install di komputer lokal atau di server. Tool yang digunakan sebernarnya tergantung dari jenis website yang akan dibuat. Misalnya website yang kaya fitur animasi, maka aplikasi Adobe Flash akan dilibatkan dalam pembuatan website tersebut. Jika anda ingin membuat website yang selalu di-update secara berkala, maka diperlukan bahasa pemrograman seperti PHP dan ASP yang dikolaborasikan dengan database. 
 
Masing-masing teknologi pembuatan website tersebut memiliki kelebihan dan kekurangan. Tentu saja, jika semuanya digabungkan akan menghasilkan hasil akhir yang memuaskan. Teknologi – teknologi tersebut adalah

1. HTML

HTML (Hyper Text Markup Language) adalah bahasa pemrograman utama dalam pembuatan website, keterlibatan HTML tetap diperlukan walaupun website yang dibuat full flash. Dalam prakteknya, hanya segelintir web designer saja yang benar-benar membuat website murni dengan full coding (HTML). Selain karena prosesnya yang bisa memakan waktu yang lama, ternyata faktor kemampuan dalam penguasaan HTML yang minim juga menjadi penyebab. Hal lain mungkin karena tidak terbiasa dengan HTML. Para web designer yang tidak terbiasa dengan coding lebih sering menggunakan web editor (WYSIWYG), ketimbang murni dengan melakukan coding. Padahal, kalau terbiasa menggunakan coding maka kita akan memahami struktur web yang dibuat, memahami bagaimana agar konten HTML bisa di-render oleh browser dengan baik, dan masih banyak lagi. Namun, apapun itu tetap saja memiliki tujuan yang sam untuk menghasilkan website yang lebih baik. Tidak ada jaminan sebuah web dengan murni coding hasilnya baik, dan tidak ada jaminan pula website yang dibuat dengan bantuan web editor hasilnya baik. Yang paling penting adalah bagaimana webmaster itu meracik sebuah website yang diterima masyarakat.
Referensi Online untuk mempelajari HTML:
• http://html.net
• http://www.w3schools.com/html/default.asp
• http://davesite.com/webstation/html

2. JavaScript

Bahasa pemrograman JavaScript biasanya digunakan untuk hal-hal tertentu dalam sebuah website, misalnya saja untuk membuat validasi pada form pendaftaran, form login, buku tamu (guest book), animasi sederhana (bukan Flash), dan pengaturan-pengaturan lainnya. Kemampuan seorang web designer dalam JavaScript sangat terbatas. Biasanya, hal ini diserahkan kepada seorang programmer yang memang terbiasa bergelut dengan coding. Tetapi tidak menutup kemungkinan web designer juga menguasai JavaScript.
Referensi Online untuk mempelajari JavaScript:
• http://learn-javascript-tutorial.com
• http://javascript.about.com
• http://www.w3schools.com/js/default.asp

3. PHP

PHP adalah bahasa pemrograman server side yang sudah banyak digunakan pada saat ini, terutama untuk pembuatan website dinamis. Untuk hal-hal tertentu dalam pembuatan web, bahasa pemrograman PHP memang diperlukan, misalnya saja untuk memproses data yang dikirimkan oleh pengunjung web. Contoh nyata adalah penggunaannya untuk buku tamu, halaman login, dan sebagainya. Agar bisa berjalan dengan baik, maka PHP harus dikolaborasikan dengan database engine, seperti MySQL, PostgreSQL, dan lainnya. Selain kita bisa menggunakan PHP untuk website yang dibuat, ada juga beberapa aplikasi open source yang menggunakan pemrograman PHP secara penuh. Contohnya adalah aplikasi CMS (Content Management System), seperti PostNuke, Joomla, Mambo, dan masih banyak lagi. Sedangkan untuk aplikasi forum, contohnya adalah phpBB, SMF (Simple Machine Forum), dan lainnya.

Beberapa kelebihan PHP, diantaranya adalah:
• PHP bisa digunakan untuk membuat website dinamis, contohnya website yang berbasis CMS.
• PHP bisa berjalan di server web mana saja (Apache, IIS, dan lainnnya), dengan konfigurais yang mudah.
• PHP adalah termasuk bahasa pemrograman yang mudah.
Seorang web desainer tentunya tidak harus menguasai berbagai bahasa pemrograman. Jika tidak bisa melakukannya, anda bisa menyuruh seorang programmer untuk membantu proyek yang sedang dibuat.
Referensi Online untuk mempelajari PHP:
• http://www.learnphp.org
• http://phpbuddy.com
• http://php-scripts.com
• http://www.w3schools.com/php/default.asp

4. ASP

ASP atau Active Server Pages adalah bahasa pemrograman lingkungan aplikasi terbuka (open application environment) berjenis server side untuk membangun aplikasi web (Internet). Lingkungan aplikasi terbuka maksudnya bahwa menggunakan ASP, halaman-halaman HTML, script, dan komponen ActiveX bisa dikombinasikan menjadi satu untuk membangun sebuah aplikasi web.

Bahasa pemrograman ASP diciptakan oleh Microsoft untuk menjawab tantangan pemrograman web dinamis, dimana isi dari sebuah situs dapat diprogram untuk mendapatkan hasil yang berbeda. Tidak seperti HTML yang hanya menampilkan isi yang statis, ASP mampu menampilkan isi halaman yang berbeda sesuai dengan tujuan pemrogramannya. ASP telah mencapai versi 3.0 yang berjalan pada platfom Windows 2000 Professional atau Server. Versi sebelumnya, yaitu versi ASP 2.0 dapat berjalan pada platform lain seperti Linux, Solaris, OS/2, dan Novell. Saat ini, Microsoft sedang merancang kelanjutan dari ASP 3.0, yaitu ASP+ yang berjalan pada Windows .NET Framework. Bahasa ASP murni Object Oriented Programming (OOP). Struktur bahasanya sama dengan bahasa Visual Basic (VB) yang mudah dimengerti karena sintaksnya menggunakan bahasa Inggris.

Seperti yang kita ketahui, bahwa Visual Basic (VB) adalah bahasa pemrograman yang paling mudah dimengerti dan dipelajari dibandingkan dengan bahasa pemrograman lainnya. Oleh karena itu, ASP sangat mudah dipelajari oleh para pemula sekalipun untuk membuat aplikasi web, disamping keandalan dan kelengkapan fasilitasnya.
Referensi Online untuk mempelajari ASP:
• http://www.w3schools.com/asp/default.asp
• http://www.asp.net/get-started

5. CSS

CSS atau Cascading Style Sheet secara sederhana adalah sebuah metode yang digunakan untuk mempersingkat penulisan tag HTML, seperti font, color, text, tabel; menjadi lebih ringkas, sehingga tidak terjadi pengulangan penulisan. CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokument. Dengan adanya CSS, memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. CSS sendiri merupakan sebuah teknologi Internet yang direkomendasikan oleh World Wide Web Consortium atau W3C, pada tahun 1996. Untuk saat ini terdapat 3 versi CSS, yaitu CSS 1, CSS 2, dan CSS3. CSS 1 dikembangkan berpusat pada formating dokumen HTML, CSS 2 dikembangkan untuk bisa memenuhi kebutuhan terhadap format dokumen supaya bisa ditampilkan di printer, sedangkan CSS 3 sedang dikembangkan. Selain itu, CSS 2 menentukan penentuan posisi content, downloadable, font, table layout, dan media type untuk printer. Kehadiran versi CSS 2 diharapkan lebih baik dari versi yang pertama, begitu juga dengan CSS 3. Browser Netscape versi 4x ke atas dan IE 4x ke atas sudah mendukung CSS 1 dengan baik.
Referensi Online untuk mempelajari CSS:
• http://learn-css-tutorial.com
• http://csseasy.com
• http://www.w3schools.com/css/default.asp

6. Adobe Photoshop

Aplikasi yang satu ini sudah tidak diragukan lagi kemampuannya dalam hal meng-edit gambar, baik untuk keperluan desain grafis maupun untuk pembuatan web. Banyak sekali aplikasi image editing yang bisa digunakan, tetapi belum ada yang bisa menandingi kemampuan Adobe Photoshop, sampai saat ini. Peranan – peranan Adobe photoshop adalah 

6.1 Button
Jika anda mengunjungi sebuah website, mungkin anda pernah melihat sebuah tombol dengan desain, bentuk, dan warna yang menarik. Untuk merealisasikan hal tersebut, anda bisa menggunakan Photoshop untuk malkukannya. Gambar 2 adalah contoh bentuk button yang bisa dibuat dengan Photoshop.


Gambar atau foto yang akan dijadikan sumber konten pada situs sebaiknya di-edit terlebih dahulu, terutama jika sumber gambar tersebut diambil dari hasil scanning atau jika kualitas gambar yang buruk. Perbaikan tersebut utamanya untuk hal-hal yang penting dalam situs, misalnya logo dan foto perusahaan, agar nantinya terlihat lebih menarik tampilannya.

6.3 Image Slice

Photoshop juga memiliki kemampuan untuk men-slice gambar, sehingga ukuran gambar bisa dipecah-pecah sesuai keinginan. Dengan demikian proses rendering di HTML bisa lebih cepat. Selain itu, kita juga bisa membuat link atau hover secara langsung menggunakan Photoshop.
Referensi Online untuk mempelajari Adobe Photoshop:
• http://photoshopnewbies.com
• http://photoshopsupport.com
• http://photoshopessentials.com

7. Adobe Dreamweaver

Bagi seorang programmer atau mungkin webmaster tingkat wahid membuat web dengan coding adalah hal yang sudah biasa dilakukan, tetapi bagi anda yang mengalami kesulitan dalam hal coding maka bisa menggunakan program web editor atau yang lebih dikenal dengan nama WYSIWYG (What You See Is What You Get). Dengan menggunakan program web editor, maka akan memudahkan anda dalam membuat website, sebab kita tidak perlu bersusah payah membuat sintaks-sintaks yang membuat pusing tujuh keliling dan visualnya bisa kita lihat secara langsung. Program web editor ada banyak sekali yang bisa kita gunakan, misalnya MS Front Page, Adobe GoLive, dan Adobe Dreamweaver. Salah satu web editor yang paling banyak digunakan adalah Adobe Dreamweaver. Dulunya aplikasi ini dimiliki oleh perusahaan Macromedia Inc. Namun, setelah diakuisisi oleh Adobe, embel-embel nama Macromedia dihilangkan dan kini menjadi Adobe Dreamweaver.
Referensi online untuk mempelajari Dreamweaver:
• http://entheosweb.com/dreamweaver/default.asp
• http://www.thesitewizard.com/gettingstarted/dreamweaver1.shtml

8. Adobe Flash

Tidak afdol rasanya jika website yang dibuat tidak disisipkan animasi di dalamnya, terutama untuk website-website komersil dan website-website hiburan. Dengan demikian, situs-situs tersebut terlihat lebih hidup dan dinamis. Flash umumnya digunakan hanya untuk menciptakan banner (iklan) yang dibuat dalam berbagai ukuran, tetapi ada juga beberapa situs yang dibuat secara keseluruhan dengan menggunakan Flash (full flash), contohnya seperti gambar dibawah.


Referensi online untuk mempelajari Adobe Flash:
• http://learnflash.com
• http://cartoonsmart.com
• http://echoecho.com/flash.htm
• http://www.w3schools.com/flash/default.asp

9. CMS

CMS atau Content Management System adalah sebuah engine web yang digunakan untuk memudahkan dalam pengaturan situs; baik untuk menambahkan, mengedit, atau menghapus konten dengan cara yang mudah. CMS sangat bermanfaat karena memberikan usability (kemudahan) dalam mengelola konten. Setiap ada perubahan, maka anda tidak perlu merombak file yang bersangkutan, karena semuanya sudah diatur dari menu admin.

CMS sangat mudah diimplementasikan, baik untuk platform Linux maupun Windows. Penggunaan CMS juga sangat beragam, mulai dari website perusahaan, portal komunitas, e-commerce, organisasi, galeri foto, bisnis online, website pribadi, dan sebagainya. Beberapa contoh CMS yang bisa digunakan antara lain Joomla, Mambo, Post Nuke, phpBB, dan sebagainya. Semua CMS yang ada memang memiliki kelebihan dan kekurangan. Ada beberapa CMS yang bisa anda modifikasi, seperti menambahkan modul atau plugin tertentu.

Salah satu CMS yang paling banyak digunakan adalah WordPress, Joomla, dan Mambo. Ketiganya merupakan aplikasi yang banyak digunakan untuk membuat website yang berbasis konten. Selain itu, ketiganya juga telah mendapatkan banyak penghargaan sebagai Best Open Source Software.
Referensi online untuk mempelajari WordPress, Joomla, dan Mambo:
• http://codex.wordpress.org/New_To_WordPress_-_Where_to_Start
• http://docs.joomla.org/Beginners
• http://forum.mamboserver.com

10. Web Server

Web Server adalah media yang digunakan untuk menjalankan skrip-skrip yang sudah dibuat dan digunakan pula untuk meletakkan file-file.
Beberapa web server yang biasa digunakan, antara lain:

10.1 PWS atau Personal Web Server adalah web server yang berjalan di Windows 98. PWS berguna untuk meng-upload file-file website yang sudah dibuat, agar nantinya bisa ditampilkan di awan/Internet (cloud).

10.2 IIS atau Information Internet Service adalah web server yang berjalan di Windows 2000 dan 2003. Fungsinya adalah untuk me-manage domain, sub-domain, web, dan fungsi-fungsi lainnya.

10.3 Apache adalah web server bawaan paltform Linux, tetapi bisa berjalan juga di Windows. Fungsinya yaitu untuk mengeksekusi skrip pada website yang dibuat aga bisa ditampilkan di web browser. Untuk mendapatkan web server Apache, anda bisa men-download-nya melalui alamat http://www.apache.org/dyn/closer.cgi.
Referensi online untuk mempelajari Apache:
• http://higherpass.com/apache/tutorials
• http://www.faqs.org/docs/Linux-HOWTO/Apache-Overview-HOWTO.html
• http://freeos.com/articles/4446

11. Ajax

Ajax atau Asynchronous JavaScript and XMLHTTP adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web yang interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web server, melakukan pertukaran data dengan web server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali pengguna melakukan perubahan.
Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kompbinasi dari DOM yang diakses dengan client-side scripting laguage, seperti VBScript dan implementasi ECMAScript, seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan.

Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum diimplementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronous dengan web server. Pada beberapa framework AJAX, elemen HTML iFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server.
XML umunya digunakan sebagai dokument transfer, walaupun format lain juga memungkinkan, seperti HTML atau plain text. XML dianjurkan dalam pemakaian teknik Ajax karena kemudahan akses penanganannya dengan memakain DOM.
Referensi online untuk mempelajari Ajax:
• http://www.ajaxwith.com
• http://www.quickonlinetips.com/archives/2006/07/learn-ajax-programming-free-online-courses
• http://learn-ajax-tutorial.com
• http://www.w3schools.com/ajax/default.asp

12. Database

Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistemastis dan isinya bisa diperbarui lagi. Database dalam sebuah web biasanya akan dieksekusi karena adanya kerjasama dengan bahasa pemrograman, seperti PHP dengan MySQL. Aplikasi database ada yang bersifat komersial (dijual), ada juga yang memang free alias gratis. Untuk aplikasi database komersial, contohnya Oracle, Microsoft SQL Server, Sybase, dan lainnya. Sedangkan untuk non-komersil diantaranya MySQL, PostgeSQL, dan Firebird.

13. Forum

Forum adalah sebuah sarana yang digunakan untuk berdiskusi mengenal suatu topik tertentu, seperti masalah komputer, hobi, buku, makanan, website, hacking, cinta, persahabatan, dan masih banyak lagi. Forum biasanya memiliki aturan-aturan tertentu yang harus dipatuhi, seperti harus melakukan registrasi terlebih dahulu untuk menggunakan forum tersebut, dan lainnya. Untuk membangun sebauh forum, biasanya digunakan engine khusus untuk forum, seperti phpBB, SMF (Simple Machine Forum), VBulettin, dan lainnya. Pengelola forum biasanya tidak 1 orang, butuh banyak orang. Salah satu contoh forum yang menarik adalah anda pasti sudah tahu sendiri, kaskus.us.