Arsitektur Web Dan Aplikasi 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.
“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. Perbedaan tersebut dibandingkan dengan yang antara tugas mengedit sebuah koran atau majalah dan desain grafis dan pencetakan.
Tetapi hubungan antara editorial dan kegiatan produksi adalah lebih dekat untuk publikasi web daripada untuk penerbitan cetak.
Ada tiga standar utama untuk penerapan web services. Standar-standar ini mendukung pertukaran data berbasis XML. Tiga standar tersebut meliputi SOAP, WSDL, dan UDDI. Berikut ini akan dijelaskan secara singkat mengenai standar tersebut.
· SOAP (Simple Object Access Protocol)
suatu bahasa versi bebas dari protokol RPC (Remote Procedure Caoll) yang berguna untuk proses transaksi melalui HTTP standar.
· WSDL (Web Services Description Language)
bahasa yang memungkinkan berbagai dokumen yang dibuat dalam aplikasi yang berbeda dapat berkomunikasi.
· UDDI (Universal Description Discovery and Integration)
semacam direktori global untuk mengelola web services.
HTTP, HTML, Web Browser, Internet, Web Server
a) HTTP (Hypertext Transfer Protocol)
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.
b) HTML (Hyper Text Markup Language)
HTML Merupakan suatu script dimana kita bisa menampilkan informasi dan daya kreasi kiata lewat Internet.HTML memiliki perbedaan dengan dokumen teks biasa.misalnya:perbedaan yang paling men-colok adalah pada dokumen word,banyaknya karakter akan terbatasi oleh besarnya kertas.Sedangkan HTML tak memiliki batasan teks.
HTML adalah Bahasa pemrograman yang fleksibel di mana kita bisa meletakkan skrip dari bahasa pemrograman lain seperti JAVA,Visual Basic,C dan lain-lain.jika HTML tersebut tidak dapat mendukung suatu perintah pemrograman tertentu.Browser tidak akan menampilkan kotak dialog”Syntax Error” jika terdapat penulisan kode yang keliru pada skrip HTML sepanjang kode-kode yang kita tuliskan merupakan kode-kode HTML tanpa penambahan kode-kode dari luar seperti java. Oleh karena itu,jika terjadi syntax error pada skrip HTML ,efek yang paling jelas adalah HTML tersebut tak akan ditampilkan pada halaman jendela Browser.
c) Web browser
Penjelajah web (Inggris: web browser), adalah perangkat lunak yang berfungsi untuk menerima dan menyajikan sumber informasi di internet. Sebuah sumber informasi diidentifikasi dengan Pengidentifikasi Sumber Seragam (Bahasa Inggris: Uniform Resource Identifier (URI)) yang dapat berupa halaman web, gambar, video, atau jenis konten lainnya.
Meskipun penjelajah web terutama ditujukan untuk mengakses internet, sebuah penjelajah juga dapat digunakan untuk mengakses informasi yang disediakan oleh server web dalam jaringan pribadi atau berkas pada sistem berkas. Beberapa penjelajah web yang populer adalah Google Chrome, Firefox, Internet Explorer, Opera, dan Safari.d) Internet
sebuah jaringan komputer yang terdiri dari berbagai macam ukuran jaringan komputer di seluruh dunia mulai dari sebuah PC, jaringan-jaringan lokal berskala kecil, jaringan-jaringan kelas menegah, hingga jaringan-jaringan utama yang menjadi tulang punggung internet seperti NSFnet, NEARnet, SURAnet, dan lain-lain.
e) Web Server
Web Server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Salah satu server web yang terkenal di linux adalah Apache. Apache merupakan server web antar platform yang dapat berjalan di beberapa platform seperti linux dan windows. Web Server juga merupakan sebuah komputer yang menyediakan layanan untuk internet. Server disebut juga dengan host. Agar anda dapat memasukkan web yang anda rancang ke dalam internet, maka anda harus memiliki ruangan terlebih dahulu dalam internet, dan ruangan ini disediakan oleh server.
Server Web
Server web atau peladen web dapat merujuk baik pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web dalam layanan ke pengguna dengan menggunakan aplikasi tertentu seperti peramban web.
Penggunaan paling umum server web adalah untuk menempatkan situs web, namun pada prakteknya penggunaannya diperluas sebagai tempat peyimpanan data ataupun untuk menjalankan sejumlah aplikasi kelas bisnis.
Fungsi utama sebuah server web adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan. Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video, dan lainnya pemanfaatan server web berfungsi pula untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web yang terkait; termasuk di dalamnya teks, gambar, video, atau lainnya.
Pengguna, biasanya melalui aplikasi pengguna seperti peramban web, meminta layanan atas berkas ataupun halaman web yang terdapat pada sebuah server web, kemudian server sebagai manajer layanan tersebut akan merespon balik dengan mengirimkan halaman dan berkas-berkas pendukung yang dibutuhkan, atau menolak permintaan tersebut jika halaman yang diminta tidak tersedia.
saat ini umumnya server web telah dilengkapi pula dengan mesin penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, ASP.
Pemanfaatan server web saat ini tidak terbatas hanya untuk publikasi situs web dalam World Wide Web, pada prakteknya server web banyak pula digunakan dalam perangkat-perangkat keras lain seperti printer, router, kamera web yang menyediakan akses layanan http dalam jaringan lokal yang ditujukan untuk menyediakan perangkat manajemen serta mempermudah peninjauan atas perangkat keras tersebut.
Web Security
Suatu tata cara mengamankan aplikasi web yg dikelola, biasanya yg bertanggung jawab melakukannya adalah pengelola aplikasi web tsb.
Mengenai masalah yang berkaitan dengan keamanan di dalam era digital tidak lepas dari 3 prinsip utama yaitu Confidentiality, Integrity, dan Availability atau lebih dikenal dengan nama CIA. Sama halnya ketika bergelut dengan keamanan (security) sebuah website, princip CIA sudah selayaknya dijadikan pedoman yang harus dipahami apabila ingin website kita lebih aman dan sulit untuk diserang.
CONFIDENTIALITY
Confidentiality memiliki makna bahwa data-data ataupun informasi-informasi yang berada di dalam sebuah website hanya dapat di baca atau di akses oleh orang-orang yang memang memiliki kewenangan untuk mengaksesnya. Dalam era konsep Web 2.0 yang sedang berkembang beberapa tahun belakangan ini, sangat memungkinkan sebuah website untuk dapat memiliki lebih dari satu administrator. Contohnya adalah WordPress engine.
INTEGRITY
Integrity memiliki pengertian data-data yang berada didalam server atau website hanya dapat diubah ataupun di delete oleh orang yang memiliki kewenangan untuk melakukan hal itu. Sebagai contoh proses transfer dari server ke client atau sebaliknya (dapat berupa upload maupun download), ternyata mengubah file yang sedang di transfer tersebut, hal ini mengindikasikan bahwa sebuah aplikasi website yang sedang digunakan tidak aman (insecure). Sama halnya jika ada serangan sebuah virus yang dapat mengubah sebuah file, entah itu mengubah nama ataupun isinya.
AVAILABILITY
Jika confidentiality bermakna hanya user yang memiliki kewenangan yang dapat melihat data tertentu yang tersimpan didalam sebuah server atau website, availability memiliki makna bahwa website harus dapat diakses jika user ingin meggunakannya. Memang terkesan membingungkan dan tidak berbeda dengan prinsip pertama, namun kedua prinsip ini sangat jauh berbeda dikarenakan dilihat dari dua sudut pandang yang memang berbeda.
Availability hanya menekankan kepada dapat diaksesnya sebuah website. Mengenai siapa yang dapat mengaksesnya itu telah dicover oleh prinsip confidentiality.
Jika sebuah website dapat diakses tanpa adanya error, itu berarti website tersebut telah memenuhi prinsip availability ini. Hal ini memiliki makna bahwa sebuah website haruslah dapat diakses apabila memang dibutuhkan, dengan kata lain versi yang lebih mudahnya adalah, website harus available 24 jam 7 minggu (24/7)
Bahasa pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
1) Bahasa mesin
Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin.
Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh programmer dalam bahasa assembly dan menerjemahkannya ke sebuah program yang dapat dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir.
2) Bahasa assembly
Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan kata-kata sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika tidak sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program akhir.
3) Bahasa tingkat tinggi (high level languange)
Bahasa tingkat tinggi memiliki arti bahwa bahasa ini lebih mudah dimengerti oleh banyak orang karena memang dirancang untuk orang yang awam. Bahasa pemrograman yang termasuk dalam bahasa tingkat tinggi adalah sebagai berikut.
a) BASIC (Beginners All-purposes Symbolic Instruction Code)
Bahasa program ini dikembangkan pada tahun 1965 di Darmouth College. Penciptanya adalah John Kemeny dan Thomas Kurtz. BASIC dipergunakan dalam aplikasi matematika. Selain itu, BASIC juga digunakan dalam beberapa aplikasi lainnya seperti akuntasi, permainan, file simulasi, dan lain-lain.
Keunggulan BASIC terletak pada kemudahan dalam pemakaiannya, sedangkan kelemahannya adalah tidak mendukung operasi bilangan kompleks dan penanganan terhadap berkas sangat terbatas sehingga tidak cocok untuk aplikasi bisnis.
b) LOGO
Bahasa ini dikembangkan untuk pendidikan dan simulasi pengajaran pada anak-anak dalam menyelesaikan masalah dan melakukan pemrograman. Ditemukan pada tahun 1967 oleh Seymour Papert dengan menggunakan LISP, yaitu satu jenis bahasa pemrograman untuk kecerdasan buatan. Logo sangat mudah digunakan untuk membuat gambar, sehingga banyak digunakan dalam menghasilkan laporan-laporan bisnis dalam bentuk grafik.
c) COBOL (Common Business Oriented Language)
Program jenis ini sering digunakan dalam dunia bisnis dan komersial, mulai dikembangkan pada tahun 1959. Namun sampai saat ini, program ini masih banyak digunakan pada jenis komputer minicomputer dan mainframe. COBOL memiliki keunggulan-keunggulan sebagai berikut.
1) Memiliki kode untuk semua flatform yang sama, sehingga tidak tergantung pada mesin.
2) Menggunakan kata-kata bahasa Inggris, sehingga sangat mudah dipahami oleh programmer.
3) Penanganan masukan dan keluaran mudah dilakukan.
4) Penanganan terhadap berkas sudah tersedia dan bahkan mendukung berbagai macam tipe-tipe berkas seperti sekuensial dan indeks.
Kelemahan dari bahasa ini adalah struktur penulisan program yang sangat banyak dan sangat kaku sehingga membuat programmer menjadi lelah dan bosan.
d) PASCAL
Bahasa ini ditemukan oleh Nicklaus Wirth tahun 1971. Bahasa ini dibuat untuk pengajaran pemrograman. Bahasa ini sangat populer di kalangan mahasiswa ilmu komputer dan teknik. Pascal memiliki keunggulan dibandingkan Fortran maupun Basic, yaitu sangat mudah dipelajari serta memiliki dukungan fungsi-fungsi matematika yang sangat lengkap. Namun Pascal juga memiliki kelemahan, yaitu tidak dapat mendukung operasi bilangan kompleks dan tidak mendukung sarana aplikasi bisnis. Keberadaan Pascal dapat pula dijadikan bahasa dasar dalam pembuatan kode perangkat lunak Delphi (software untuk pengembangan program di lingkungan Windows). Pascal juga digunakan sebagai landasan pembuatan kode pada Kylix, yaitu software pengembang program di lingkungan Linux.
e) Fortran (Formula Translator)
Fortran merupakan bahasa tingkat tinggi yang pertama kali diciptakan. Bahasa ini mulai dikembangkan pada tahun 1956 oleh John Backus di IBM. Fortran digunakan dalam bidang aplikasi matematika, yaitu dalam hal perumusan dan perhitungan sehingga menjadi andalan keunggulan dari bahasa ini. Namun Fortran memiliki kelemahan, yaitu operasi masukan dan keluarannya sangat kaku dan sulit dipahami. Untuk membuat bahasa fortran, seorang programmer tidak harus mengetahui bahasa mesin, tetapi harus memahami tata bahasa dan peraturan bahasa fortran.
f) Algol (Algoritma Language)
Algol merupakan bahasa automatic yang cocok untuk memecahkan permasalahan yang membutuhkan perhitungan numerik untuk beberapa pengolahan logic.
g) PL/1 (Programming Language)
Programming language merupakan bahasa komputer yang dapat digunakan dalam segala bahasa. Pada kenyataannya bahasa ini sulit dipelajari dan hanya dapat digunakan pada mesin IBM.
h) RPG (Report Program Generation)
RPG adalah program untuk pengolahan laporan. Bahasa ini sangat populer di lingkungan minicomputer dan mainframe IBM. RPG diluncurkan pertama kali pada tahun 1964.
i) APL (Aritmathic Programming Language)
APL adalah bahasa komputer untuk memecahkan soal-soal matematika (ilmu hitung). Diperkenalkan dan diciptakan oleh Kenneth Iverson pada tahun 1962. Bahasa ini menggunakan keyboard khusus yang berisikan simbol-simbol yang kompleks yang memungkinkan untuk melakukan penyelesaian matematika yang kompleks.
4) Bahasa pemrograman generasi keempat
Bahasa pemrograman generasi keempat meliputi Microsoft Visual Basic, Visual J++, dan Visual C++ yang dikembangkan dari keluarga besar bahasa tingkat tinggi untuk memudahkan pemrograman.
Terimakasih kepada :
http://id.wikipedia.org/wiki/Aplikasi_web
http://zmulyakusuma.blogspot.com/2014/03/arsitektur-web-dan-aplikasi-utamanya.html
http://kartikawahyuni.blogspot.com/2013/05/arsitektur-website-dan-aplikasi.html
http://hilmandroid.blogspot.com/2014/04/arsitektur-web-dan-aplikasi-utama.html
http://id.wikipedia.org/wiki/Bahasa_pemrograman
http://www.lintasinformatika.com/2013/06/pengertian-dan-macam-macam-bahasa.html