Friday, May 15, 2015

Tugas Softskill Pertemuan 3 : Parallel Computing

Komputasi Paralel



1. Konsep Paralelisme

Banyak perkembangan-perkembangan baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel. Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian,  dalam interval waktu yang sama, dalam waktu yang bersamaan atau dalam rentang waktu yang saling tumpang tindih.
Sekalipun didukung oleh teknologi prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain.
Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat tinggi.


2. Pemrosesan Terdistrubusi

Pemrosesan Terdistribusi atau Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer. Maksud komputer otonomi adalah walaupun komputer tidak terhubung ke jaringan, komputer tersebut tetap data berjalan. Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :
  • Koordinasi Aktifitas
  • Berbagi sumber daya : hardware, software dan data


3. Arsitektur Komputer Paralel

Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:

A. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprogramming.

B. Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa.

C. Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi.

D. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel.


4. Pengantar Thread Programming

Threading / Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah menjalankan 2 proses ( proses yang sama atau proses yang berbeda ) dalam satu waktu. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.

Threading dibagi menjadi 2 :

A. Static Threading
Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan program counter dan mengeksekusi program secara independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang hendak menggunakan prosesor itu.

B. Dynamic Multithreading
Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya programmer tidak harus pusing dengan protokol komunikasi, load balancing, dan kerumitan lain yang ada pada static threading. Concurrency platform ini menyediakan scheduler yang melakukan load balacing secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara umum mendukung dua fitur : nested parallelism dan parallel loops.


5. Pengantar Message Parsing, Open MP

Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing-masing compute node yang kemudian masing-masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan-pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan.

Kegunaan MPI yang lain :
  • menulis kode paralel secara portable
  • mendapatkan performa yang tinggi dalam pemrograman paralel
  • menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
OpenMP 
Open MP Merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.


6. Pengantar Pemrograman CUDA GPU

GPU ( Graphical Processing Unit ) awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya ( CPU ), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA (Compute Unified Device Architecture) merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data

VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile ( VGA notebook ).Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.

Monday, April 27, 2015

Cara Membuat Website Sederhana

Kali ini saya akan menjelaskan tentang pembuatan "website sederhana". Bukan maksud menggurui, tapi hanya sekedar berbagi informasi. Yuk, belajar bareng !

 1. Pertama kita harus tahu apa tujuan kita membuat web, jenis website seperti apa yang ingin kita buat, dan yang pasti aplikasi atau software penunjang yang akan membantu kita dalam pembuatan website. Yang saya gunakan itu ada beberapa macam aplikasi seperti Notepad++ untuk membuat koding-koding berformat .html, lalu ada FileZilla yang fungsinya seperti penghubung antara data kita dan data yang akan di-upload nanti ke situs yang telah kita buat, dan terakhir adalah xampp, saya tidak terlalu yakin apa fungsi dari aplikasi yang satu ini, tapi setahu saya ini berfungsi untuk koneksi komputer kita dengan server lokal, dan tempat awal dimana calon web kita dibuat. Jika aplikasi-aplikasi tadi tidak ada di komputer anda, ada baiknya anda download aplikasi tersebut terlebih dahulu.

2. Hal selanjutnya yang harus dilakukan adalah pendaftaran atau mencari sebuah hosting yang akan menampung file-file web site kita pada sebuah server yang nantinya akan terhubung ke jaringan internet, dan biasanya orang-orang tertarik dengan hosting yang gratis (entah kenapa kata "GRATIS" terdengar sangat menggoda di telinga saya). Okay, kita lanjut, dalam hal ini saya melakukan pendafaran untuk membuat web site secara gratis di http://byethost.com/. Disini kita bisa dapat hosting gratis, cukup dengan mengklik tulisan Free Hosting, lalu sign up dan isi data-data yang diminta, seperti username, password, dan domain atau nama web anda, cek e-mail anda untuk memferivikasi, isi lagi beberapa data yang diminta, setelah selesai,  tunggu sampai web kita akhirnya akan di go publish. Jadi intinya kita butuh hosting yang akan menampilkan website kita ke jaringan internet.

3. Beralih ke aplikasi-aplikasi ajaib yang sebelumnya saya ceritakan pada nomor 1, yang pertama akan kita gunakan adalah xampp. Buka XAMPP Control Panel Apllication.exe, maka tampilannya akan muncul di bagian kanan bawah layar kita, lalu klik START pada bagian Apache dan MySql hingga muncul tulisan Running. Buka Mozilla Firefox atau aplikasi web browsing apapun yang ada pada komputer anda, dan ketik http://localhost/, maka kita akan langsung masuk ke bagian xampp(tanpa perlu menggunakan akses internet). Buka My Computer, lalu cari folder XAMPP. Didalamnya ada satu folder yang bernama Htdocs, buka lalu buat folder baru dengan nama web site yang ingin kita buat di dalam folder Htdocs tadi, contoh : mojowawaw.
Selanjutnya adalah Notepad++, buka notepad lalu klik "Language" dan pilih "H" untuk html. Ketikkan kodingan-kodingan (semacam rumus atau tulisan biasa yang nantinya akan menghasilkan suatu perhitungan, bentuk atau tampilan) yang kita inginkan, lalu save dengan nama "index.html". Nah, untuk referensi kodingannya silahkan kunjungi alamat ini http://w3schools.com/. Untuk urusan template atau tampilan latar belakang dari  website, kita bisa membuatnya sendiri dengan aplikasi-aplikasi yang berhubungan dengan pembuatan atau peng-editan gambar, salah satunya seperti Adobe Photoshop. Lalu hasilnya masukkan di folder website yang sebelumnya telah kita buat (mojowawaw). Untuk melihat hasil tampilan web sementara kita, buka aplikasi web browsing, masuk ke alamat http://localhost/xampp/, ubah tulisan xampp menjadi nama folder kita (mojowawaw), seperti ini : http://localhost/mojowawaw/. Maka tampilan web kita akan muncul. Ini berguna untuk menentukan apakah tampilan website kita sudah sesuai dengan keinginan kita atau belum, sebelum nantinya di-upload dengan menggunakan FileZilla.

Setelah semua selesai dibuat, dibangun, dan diperindah, langkah selanjutnya adalah menampilkan hasilnya ke publik dengan cara, kita buka FileZilla. Isi bagian "Mesin, Nama Pengguna, dan Kata Kunci" sesuai dengan yang tertera pada email yang telah kita ferivikasi sebelumnya, lalu klik "koneksi cepat". Setelah connect, pada bagian "situs local", buka folder tempat kita menyimpan folder web yang sebelumnya telah dibuat, contoh c:\xampp\htdocs\mojowawaw. Lalu copy atau drag folder web kita (mojowawaw) ke sebelah kanannya yaitu bagian "situs remote", maka secara otomatis isi dari folder tersebut akan ter-upload ke website kita. Buka website kita dengan bantuan web browsing apapun, pastikan komputer terhubung dengan jaringan internet, dan silahkan menikmati hasil perjuangan anda. :D

Dan inilah hasil perjuangan saya :
http://www.fajarpermana.byethost7.com/

Sekian cara membuat website sederhana dari saya, mohon maaf apabila ada kesalahan, semoga bermanfaat. Terimakasih sudah mau membaca, maaf kalo ternyata malah membuat anda bingung :D
Tugas 2

Kelompok:
 - Fajar Permana
- Rio Ramakaputra
- Robby Rehantoro

Pengantar Web Science (edisi pengulangan)

Defini, Sejarah, dan Arsitektur Web



Definisi

    Web science secara secara bahasa tediri dari Web dan Science. Dimana kedua kata tersebut mempunyai arti yang berbeda.

  • Web merupakan kumpulan halaman yang menampilkan informasi dengan berbagai macam jenis, berupa data teks, gambar diam atau gerak, animasi, suara, video dan atau gabungan dari semuanya, baik web tersebut bersifat statis maupun bersifat dinamis yang akan membentuk suatu rangkaian yang saling terkait dimana masing-masing rangkaian tersebut dihubungkan dengan jaringan-jaringan halaman yang disebut dengan hyperlink. Jadi web atau website merupakan suatu halaman informasi yang disediakan melalui jalur Internet, sehingga web dapat diakses di mana saja selama web tersebut terhubung atau terkoneksi dengan jaringan internet. Web juga merupakan alat komunikasi online yang menggunakan media internet dalam pendistribusian atau penyebarannya.
  • Science atau sains sangat erat hubungannya dengan Ilmu Pengetahuan, banyak yang mendefinisikan bahwa sains itu sama dengan Ilmu Pengetahuan. Namun menurut bahasa, sains adalah aktivitas pemecahan masalah yang dilakukan oleh manusia yang dimotivasi oleh rasa ingin tahu tentang dunia sekitar mereka dan keinginan untuk memahami suatu hal atau kejadian tersebut.

    Sedangkan yang dimaksud dengan Web Science adalah ilmu yang mempelajari tentang efisiensi atau pemanfaatan dari sebuah web, agar dapat dirasakan manfaat dan kegunaannya pada banyak bidang di dalam kehidupan sehari-hari. Di dalam web science kita belajar bagaimana memberdayakan suatu sumber daya virtual sebagai media komunikasi praktis. Dengan tampilan web yang menarik dan atraktif agar memunculkan minat orang banyak untuk membaca web tersebut. Contoh-contoh nyata yang sudah diterapkan dapat dilihat pada bidang komersil atau bidang ekonomi, bidang sosial dan bidang pendidikan.

    Web Science merupakan inovasi baru yang diciptakan oleh seorang bernama Tim Berners-Lee yang mensupport dari berdirinya cabang ilmu ini. Tim Berners-Lee juga seorang penemu World Wide Web. Web Science yang dalam bahasa Indonesia berarti jaringan pengetahuan atau dapat diartikan bahwa suatu web yang menyediakan berbagai ilmu pengetahuan didalamnya dan menjadikan wadah / tempat terdapatnya ilmu pengetahuan tersebut. Web science juga dapat melakukan penelitian lintas disiplin dan menjelajah ke berbagai bidang yang sangat khusus di dalam disiplin ilmu.Dalam definisi di jelasakan bahwa web science dapat menyediakan berbagai ilmu pengetahuan, tentunya dalam ilmu pengetahuan terdapat berbagai macam kegunaan diantaranya adalah sebagai berikut :

1. Dapat mencari artikel yang berdampak tinggi dan prosiding konferensi.
2. Dapat menemukan hasil yang relevan dalam bidang-bidang terkait.
3. Dapat mengidentifikasi potensi kolaborator dengan catatan rujukan signifikan.
4. Dapat mengintegrasikan, mencari, menulis, dan bibliografi penciptaan menjadi satu proses yang efisien.

Sejarah


            Web adalah suatu program yang ditemukan oleh Tim Berners-Lee pada tahun 1991. Awalnya Berners-Lee hanya ingin menemukan cara untuk menyusun arsip-arsip risetnya. Untuk itu, beliau mengembangkan suatu sistem untuk keperluan pribadi. Sistem itu adalah program peranti lunak yang diberi nama Enquire. Dengan program itu, Berners-Lee berhasil menciptakan jaringan yang menautkan berbagai arsip sehingga memudahkan pencarian informasi yang dibutuhkan. Inilah yang kelak menjadi dasar dari sebuah perkembangan pesat yang dikenal sebagai WWW.
WWW dikembangkan pertama kali di Pusat Penelitian Fisika Partikel Eropa (CERN), Jenewa, Swiss. Pada tahun 1989 Berners-lee membuat pengajuan untuk proyek pembuatan hiperteks global, kemudian pada bulan Oktober 1990, ‘World Wide Web’ sudah dapat dijalankan dalam lingkungan CERN. Pada musim panas tahun 1991, WWW secara resmi digunakan secara luas pada jaringan Internet.

            Web Science didirikan pada tahun 2006 dengan nama Web Science Research Initiative (WSRI). Web Sicence ini awalnya adalah hasil dari Memorandum of Understanding antara MIT CSAIL dan University of Southampton, ECS. Ambisinya adalah mengkoordinasi dan mendukung sentralisasi pembelajaran World Wide Web. Sejak pertama kali diluncurkan, konsep Web Science sudah menyebar secara meluas dan mengukuhkan diri sebagai area aktifitas yang penting.
Aktifitas WSRI fokus pada artikulasi agenda penelitian untuk komunitas scientific, mengkoordinasi pengembangan materi pembelajaran Web Science dan mengikat pemikiran tentang kepemimpinan pada sektor yang berkembang ini.
Untuk melanjutkan aktifitasnya dan mendukung pengembangan Web Science secara global, para direktur WSRI membuat badan amal - Web Science Trust (WST). WST berkerja sama dengan World Wide Web. Golnya adalah untuk mendorong partisipan luas dalam pengembangan Web Science. the Foundation mempunyai misi untuk meningkatkan Web. the Trust dan the Foundation mempunyai kesamaan komitmen untuk melanjutkan disiplin dari Web Science dan akan bekerja bersama pada beberapa proyek yang memperbaiki pengertian tentag Web Science dan mempromosikan dampak positif Web Science pada masyarakat luas.



Arsitektur Web

    Arsitektur Website adalah suatu pendekatan terhadap desain dan perencanaan situs yang, seperti arsitektur itu sendiri, melibatkan teknis, kriteria estetis dan fungsional. Seperti dalam arsitektur tradisional, fokusnya adalah benar pada pengguna dan kebutuhan pengguna. Hal ini memerlukan perhatian khusus pada konten web, rencana bisnis, kegunaan, desain interaksi, informasi dan desain arsitektur web. Untuk optimasi mesin pencari yang efektif perlu memiliki apresiasi tentang bagaimana sebuah situs Web terkait dengan World Wide Web.

     Sejak web perencanaan isi, desain dan manajemen datang dalam lingkup metode desain, Vitruvian tradisional tujuan komoditas, keteguhan dan kesenangan dapat memandu arsitektur situs, seperti yang mereka lakukan arsitektur fisik dan disiplin desain lainnya. Website arsitektur akan datang dalam ruang lingkup estetika dan teori kritis dan kecenderungan ini dapat mempercepat dengan munculnya web semantik dan web 2.0. Kedua ide menekankan aspek struktur informasi. Strukturalisme adalah sebuah pendekatan untuk pengetahuan yang telah dipengaruhi sejumlah disiplin akademis termasuk estetika, teori kritis dan postmodernisme. Web 2.0, karena melibatkan user-generated content, mengarahkan perhatian arsitek website untuk aspek-aspek struktur informasi.

   Suatu pendekatan terhadap desain dan perencanaan situs yang, seperti arsitektur itu sendiri, melibatkan teknis, kriteria estetika dan fungsional. Seperti dalam arsitektur tradisional, fokusnya adalah benar pada pengguna dan kebutuhan pengguna. Hal ini memerlukan perhatian khusus pada konten web, rencana bisnis, kegunaan, desain interaksi, informasi dan desain arsitektur web. Untuk optimasi mesin pencari yang efektif perlu memiliki apresiasi tentang bagaimana sebuah situs Web terkait dengan World Wide Web.

    “Website arsitektur” memiliki potensi untuk menjadi istilah yang digunakan untuk disiplin intelektual mengatur konten website. ”Web desain”, dengan cara kontras, menggambarkan tugas-tugas praktis, bagian-bagian-grafis dan teknis, dari merancang dan menerbitkan sebuah situs web. Tiga standar utama untuk penerapan web services yang mendukung pertukaran data berbasis XML.

Tiga standar penerapan web services :

1. SOAP ( Simple Object Access Protocol ) 
Protokol ini mendukung proses pengkodean data (biasanya XML) dan transfernya melalui HTTP (Hyper Text Transfer Language). Dalam konteks web services, SOAP adalah suatu bahasa versi bebas dari protokol RPC (Remote Procedure Caoll) yang berguna untuk proses transaksi melalui HTTP standar. SOAP membuat klien web service dapat memilih beberapa parameter mengenai permintaannya dan memberikannya kpd si penyedia. Ketika penyedia menganggapi permintaan tersebut, maka terjadilah web services.

2. WSDL ( Web Services Description Language ).
Merupakan bahasa berbasis XML yang menjelaskan fungsi-fungsi dalam web services. WSDL menyediakan cara untuk memanfaatkan kapabilitas web services. WSDL memberi tahu mesin lain bagaimana memformat/ menterjemahkan permintaan yang diterima berikut respon mereka agar proses web service bisa berjalan. Singkatnya, WSDL adalah bahasa yang memungkinkan berbagai dokumen yang dibuat dalam aplikasi yang berbeda dapat berkomunikasi.

3. UDDI (Universal Description Discovery and Integration )
Adalah semacam direktori global untuk mengelola web services. Fungsinya mirip dengan Yellow Pages untuk versi web services. UDDI berisi informasi tentang penawaran atau layanan apa yang ditawarkan perusahaan berikut dengan detil teknis bagaimana cara mengaksesnya. Inforamsi tersebut ditulis dalam bentuk file-file WSDL.

     Struktur 3 (tiga) lapisan ini menghasilkan sebuah website yang mudah ditelusuri bagi pengunjung dan spider. Selain mengikuti tautan-tautan untuk menemukan website, Anda juga bisa memberikan alamat website Anda kepada spider. Misalnya melalui Googlebot, spidernya Google. Cukup ketikkan alamat website Anda, kemudian spider atau web crawler akan menelusuri semua halaman website dan membuat indeksnya.

Halaman-halaman yang ada pada sebuah website :

1. Halaman Depan (Home Page)
Setiap website memiliki halaman depan. Pada umumnya, halaman depan merupakan halaman pertama yang dilihat oleh pengunjung dan juga merupakan halaman yang paling penting dalam mendapatkan urutan pencarian yang tinggi dari mesin pencari, karena mesin pencari memberikan lebih banyak bobot kepada halaman depan darimana halaman lainnya. Halaman depan harus memberikan informasi yang jelas dan singkat kepada pengunjung mengenai apa website Anda, produk dan/atau jasa apa yang tersedia. Halaman depan harus memiliki tautan ke semua halaman website dan setiap halaman harus memiliki tautan untuk kembali ke halaman depan.

2. Halaman Produk/Jasa
Bagian utama dari website berisi penawaran produk dan/atau jasa. Apapun kategori website Anda, yang penting Anda harus menggambarkan secara singkat dan tepat apa yang Anda tawarkan, bantu pengunjung untuk menentukan pilihan dan melakukan transaksi dengan cara yang semudah mungkin. Jumlah halaman produk/jasa hendaknya disesuaikan dengan jumlah produk/jasa yang ditawarkan. Apabila jumlah produk/jasa yang ditawarkan banyak, maka halaman utama produk/jasa bisa berisi ringkasan dari keseluruhan produk/jasa kemudian Anda buat lagi beberapa subhalaman yang berisi detil dari masing-masing produk/jasa.

3. Halaman Informasi
  • Profil: berisi sejarah mengenai bisnis atau perusahaan, visi dan misi, siapa saja pengurus inti website atau perusahaan, dan hal-hal penting lainnya mengenai bisnis atau perusahaan.
  • FAQ (Frequently Asked Question): berisi pertanyaan-pertayaan umum mengenai produk, jasa, maupun perusahaan.
  • Testimoni: berisi kesaksian pelanggan mengenai penggunaan produk dan/atau jasa yang ditawarkan. Halaman ini digunakan untuk membangun reputasi.
  • Surat kabar elektronik: berisi berita-berita mengenai produk dan/atau jasa baru, tips-tips, promo-promo yang diadakan, serta pengumuman-pengumuman lain yang mau disampaikan kepada pelanggan.
4. Halaman Keanggotaan
Halaman keanggotaan merupakan bagian yang penting sekali untuk pengembangan website di masa mendatang. Dengan mengetahui siapa saja pengunjung dan perkembangan jumlah pengunjung aktif Anda bisa menganalisa hal-hal yang perlu diperbaiki, memenuhi kebutuhan-kebutuhan pengunjung dengan lebih tepat, sehingga pada akhirnya website Anda bisa terus berkembang. Ada beberapa hal yang sangat penting apabila Anda hendak meminta data pribadi pengunjung website yaitu Anda harus bisa menjaga kerahasiaan data tersebut dan privasi pengunjung, mereka juga harus bisa menghentikan keanggotaannya kapan saja.

5. Halaman Kontak
Halaman kontak berisi cara-cara untuk menghubungi pengurus website, bisa melalui email, telepon, fax, chatting, surat, ataupun dengan cara mengisi formulir pertanyaan atau komentar secara online. Hal ini akan memberikan rasa nyaman kepada pengunjung karena mereka bisa berhubungan dengan pemilik website, mengetahui alamat kantornya, berbicara dengan pengurus website baik untuk bertanya atau untuk menyampaikan keluhan.

    Hal lain yang harus Anda ingat adalah setiap halaman website hendaknya tidak lebih dari 2 (dua) level kedalaman atau 2 (dua) kali klik dari halaman depan (home). Bila tidak, spider tidak akan membuat indeks semua halaman website. Halaman depan (home page) website harus memiliki tautan ke halaman-halaman utama, baik melalui isi halaman depan maupun melalui menu website. Masing-masing halaman utama juga harus memiliki tautan ke subhalaman. Satu halaman utama bisa terhubung ke lebih dari satu subhalaman. Sebaliknya setiap subhalaman juga harus memiliki tautan untuk kembali ke halaman utama dan setiap halaman utama harus memiliki tautan untuk kembali ke halaman depan. Spider atau web crawler hanya bisa mengikuti tautan dari satu halaman ke halaman yang lain dan dari satu website ke website yang lain. Oleh karena itu semakin banyak tautan dari website lain yang mengarah ke website Anda maka website Anda akan semakin dikenal oleh mesin pencari. Selanjutnya, setiap halaman baik itu halaman depan, halaman utama dan subhalaman harus menggunakan kata kunci yang telah Anda pilih. Halaman depan dan halaman-halaman utama harus menggunakan kata-kata kunci yang paling banyak dicari.

Bagian dari Arsitektur Website :

1. Hypertext Transfer Protocol (HTTP)
HTTP adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee. Hingga kini, ada dua versi mayor dari protokol HTTP, yakni 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.Pengembangan standar HTTP telah dilaksanakan oleh Konsorsium World Wide Web (World Wide Web Consortium/W3C) dan juga Internet Engineering Task Force (IETF), yang berujung pada publikasi beberapa dokumen Request for Comments (RFC), dan yang paling banyak dirujuk adalah RFC 2616 (yang dipublikasikan pada bulan Juni 1999), yang mendefinisikan HTTP/1.1.

2. WWW (World Wide Web)
WWW merupakan kumpulan web server dari seluruh dunia yang berfungsi menyediakan data dan informasi untuk dapat digunakan bersama.WWW atau biasa disebut web adalah bagian yang paling menarik dari Internet. Melalui web, dapat mengakses informasi-informasi yang tidak hanya berupa teks tetapi bisa juga berupa gambar, suara, video dan animasi. Fasilitas ini tergolong masih baru dibandingkan surel (email), sebenarnya WWW merupakan kumpulan dokumen-dokumen yang sangat banyak yang berada pada komputer server (web server), di mana server-server ini tersebar di lima benua termasuk Indonesia, dan terhubung menjadi satu melalui jaringan Internet. Dokumen-dokumen informasi ini disimpan atau dibuat dengan format HTML (Hypertext Markup Language). Suatu halaman dokumen informasi dapat terdiri atas teks yang saling terkait dengan teks lainnya atau bahkan dengan dokumen lain.Keterkaitan halaman lewat teks ini disebut hypertext. Dokumen infomasi ini tidak hanya terdiri dari teks tetapi dapat juga berupa gambar, mengandung suara bahkan klip video. Kaitan antar-dokumen yang seperti itu biasa disebut hypermedia. Jadi dapat disimpulkan bahwa WWW adalah sekelompok dokumen multimedia yang saling terkoneksi menggunakan hyperteks link. Dengan mengklik hyperlink, maka bisa berpindah dari satu dokumen ke dokumen lainnya.

3. URL( universal resource locator)
URL merupakan suatu konsep penamaan lokasi standar dari suatu file,direktori,computer, dan lokasi komputernya sesuai dengan metode yang digunakan. URL tidak hanya dapat menunjuk ke suatu file tapi dapat juga menunjuk suatu query, dokumen dalam suatu database atau hasil dari perintah finger atau perintah archieve. Secara umum dapat digambarkan penulisan url : metode://nama_file[:nomor_port]. Jenis metode yang digunakan pada url adalah file,http,news,gopher,telnet.

4. XML (Extensible Markup Language)
XML (Extensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML.XML tidak mempunyai definisi secara tepat karena ada yang berpendapat bahwa XML bukanlah suatu bahasa pemrograman,melainkan XML merupakan sintaks yang digunakan untuk menjelaskan bahasa markup lain (Dournaee,2002), sehingga dinamakan meta-language. Meskipun demikian pendapat yang XML bukan merupakan bahasa markup, didasarkan bahwa XML merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu XML bukanlah solusi semua hal untuk tujuan semua user.



5. JavaScript
JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan di browser. Javascript dipanggil untuk memberikan fungsi pada halaman web dengan meletakannya secara internal pada halaman html diantara tag atau dibuat pada file terpisah ( eksternal ) dan lalu di link menggunakan pada bagian , seperti CSS. Fungsi Javascript adalah Secara fungsional, Javascript digunakan untuk menyediakan akses script pada objek yang dibenamkan ( embedded ). Contoh sederhana dari penggunaan javascript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain.


6. AJAX
AJAX disini adalah singkatan dari Asynchronous JavaScript and XML. Pada intinya ajax itu merupakan gabungan beberapa teknologi yang bertujuan untuk menghindari page reload. Dengan menghindari page reload, kita dapat menghindari paradigma click-and-wait serta memberikan sebuah fitur yang cukup kompleks pada website seperti validasi data secara realtime, drag n drop dan fitur-fitur lain yang belum dimiliki web biasa. Dengan AJAX, suatu aplikasi web dapat mengambil data kemudian diolah di client melalui request asynchronous HTTP yang diinisiasi oleh Javascript, sehingga dapat mengupdate bagian-bagian tertentu dari web tanpa harus memanggil keseluruhan halaman web. Request ini dapat dieksekusi dalam beberapa cara dan beberapa format transmisi data. Dikombinasikannya cara pengambilan data remote dengan interaktivitas dari Document Object Model (DOM) telah menghasilkan generasi terbaru dari aplikasi web yang mengebrak aturan-aturan tradisional tentang apa yang dapat terjadi di dalam web.


Tugas 1
Individu
Pengantar Web Science (edisi pengulangan)

Referensi :
http://arditoadi.blogspot.com/2015/04/definis-sejarah-dan-arsitektur-web.html#more