Oke selamat datang kembali sobat blogger, pada postingan saya kali ini akan dibahas mengenai komputasi parallel serta bagian-bagian dari komputasi parallel itu sendiri ? ada yang tau komputasi parallel itu apa ? yuk sama-sama kita belajar ^_^
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.
Referensi :
http://mojomakearocket.blogspot.com
http://arditoadi.blogspot.com
https://krustybrain.wordpress.com/2013/05/25/tugas-4-softskill-pengantar-komputasi-modern-sem-8/
http://wwwpengembanganblogspot.blogspot.com/
http://rrezzablog.blogspot.com/2009/11/parallel-processing.html
http://id.wikipedia.org/wiki/Komputasi_paralel
Selengkapnya...
Minggu, 17 Mei 2015
Komputasi Parallel
Sabtu, 09 Mei 2015
Membuat Website Menggunakan Adobe Flash
Pada postingan saya kali ini, saya akan memberikan materi tentang bagaimana cara membuat sebuah website pribadi berbentuk web flash. Software yang akan kita gunakan adalah Adobe Flash, software ini selain dapat digunakan untuk membuat animasi, presentasi juga dapat digunakan untuk membuat sebuah website. Berikut adalah cara pembuatan website flash sederhana :
Pertama, ketika kita membuka Adobe flash pilih Flash file (action script 2.0)
untuk melihat web yang telah saya buat klik link dibawah ini :
asyaif.id1945.com
Nama Kelompok :
1. Ananda Syaifullah (50411692)
2. Bramantya Dwi Cahyadi (51411532)
3. Zefri Tri Suprayogi (57411728) Selengkapnya...
Rabu, 22 April 2015
Quantum Computation
Pada postingan saya kali ini, masih berkutat dengan tugas softskill dikampus dan tugas nya minggu ini adalah saya akan membahas mengenai komputasi quantum, oke langsung saja kita bahas
Apa sih Komputasi quantum itu ?
Dikutip dari halaman wikipedia quantum computation atau Komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.
Ide mengenai komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).
Pada awalnya Feynman mengemukakan idenya mengenai sistem kuantum yang juga dapat melakukan proses penghitungan. Fenyman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.
Selanjutnya para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.
Walaupun komputer kuantum masih dalam pengembangan, telah dilakukan eksperimen dimana operasi komputasi kuantum dilakukan atas sejumlah kecil Qubit. Riset baik secara teoretis maupun praktik terus berlanjut dalam laju yang cepat, dan banyak pemerintah nasional dan agensi pendanaan militer mendukung riset komputer kuantum untuk pengembangannya baik untuk keperluan rakyat maupun masalah keamanan nasional seperti kriptoanalisis.
Telah dipercaya dengan sangat luas, bahwa apabila komputer kuantum dalam skala besar dapat dibuat, maka komputer tersebut dapat menyelesaikan sejumlah masalah lebih cepat daripada komputer biasa. Komputer kuantum berbeda dengan komputer DNA dan komputer klasik berbasis transistor, walaupun mungkin komputer jenis tersebut menggunakan prinsip kuantum mekanik. Sejumlah arsitektur komputasi seperti komputer optik walaupun menggunakan superposisi klasik dari gelombang elektromagnetik, namun tanpa sejumlah sumber kuantum mekanik yang spesifik seperti keterkaitan, maka tak dapat berpotensi memiliki kecepatan komputasi sebagaimana yang dimiliki oleh komputer kuantum.
Pengertian Quantum Entanglement
Quantum Entanglement adalah satu prinsip penting dalam fizik kuantum walaupun ianya belum benar-benar difahami. Jika kita mempunyai beberapa partikel yang berkait satu sama lain, ukuran untuk quantum state bagi satu saja partikel sudah cukup untuk mengetahui keadaan kuantum partikel yang lainnya.
Partikel-partikel ini berhubung di antara satu sama lain dalam cara yang luar biasa dan dikenali Einstein dengan “ spooky action at a distance”. Ia adalah fenomena kuantum yang luar biasa dan susah diterima akal. Einstein sendiri walaupun menyedari Quantum Entanglement adalah fenomena biasa partikel, dia berharap agar perkara serupa itu tidak ada dalam fizik dan Einstein memang tidak menyukainya. Tetapi adakah “action at a distance” diantara 2 partikel benar-benar berlaku? Ianya diterangkan dalam sebuah teori dikenali Bell Theorem melalui sebuah persamaan matematik dinamakan “Bell inequalities”.
Pada asasnya, teori popular yang berkaitan Quantum Entanglement dikenali dengan “EPR Paradox” iaitu kependekan kepada Einstein-Podolsky-Rosen Paradox. Ia telah diperkemaskan lagi oleh ahli Fizik bernama John Stewart Bell melalui teorinya “Bell theorem”. Teori Bell cuba mengesahkan samada benar atau tidak partikel berhubung diantara mereka melalui quantum entanglement.
Dalam kes EPR Paradox, katalah kita mempunyai partikel A dan partikel B dan keduanya berhubungan melalui Quantum Entaglement. Justeru, sifat kedua-duanya akan saling berkaitan. Sebagai contoh, jika spin untuk partikel A berkemungkinan ½ maka spin untuk partikel B berkemungkinan -1/2 atau vice versa.
Cumanya, jika kita telah mengukur spin untuk partikel A maka kita boleh mengetahui secara pasti keadaan spin untuk partikel B walaupun tanpa mengukur spin bagi partikel B secara langsung. Jika partikel A mempunyai spin ½ maka secara automatisnya partikel B akan mempunyai spin -1/2. Dan jika partikel B mempunyai spin ½ maka secara automatisnya partikel A akan mempunyai spin -1/2. (Perkara ini dibuktikan benar-benar berlaku menerusi eksperimen). Jangkaan ini boleh dilakukan kerana kedua-dua partikel berkait dan berhubungan melalui Quantum Entanglement.
Pengoperasian Data Qubits
Pengoperasian pada Data Qubits adalah dengan kedua nilai yang disimpan pada setiap qubit akan selalu mempengaruhi operasi komputer kuantum. Selain itu, sebuah n qubits sama-sama ber-superposisi dari 0 dan 1, dia berperan untuk mengkodekan 2n nilai. Komputer kuantum dapat menghitung nilai keseluruhannya sekaligus. Keadaan paralel ini memiliki istilah Paralelisme Kuantum. Setiap rangkaian yang tercipta selalu memiliki rangkaian kuantum yang sesuai. Jadi dapat disimpulkan bahwa teknologi yang diterapkan pada komputer kuantum mampu melakukan perhitungan pada semua nilai pada waktu yang hampir sama, dengan waktu yang sama komputer konvensional hanyabisa melakukan perhitungan tunggal.
Quantum Gates
Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan yang besar dalam jumlah ancillae yang digunakan.
- Pertama mensimulasikan gerbang di babak pertama tingkat.
- Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
- Bersihkan bit ancillae.
- Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
- Setelah menghitung output, membersihkan bit ancillae.
- Bersihkan hasil tingkat d / 2.
Setiap perhitungan klasik dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada bit klasik pada satu waktu, sehingga juga bisa setiap kuantum perhitungan dapat dipecah menjadi urutan gerbang logika kuantum yang bekerja pada hanya beberapa qubit pada suatu waktu. Perbedaan utama adalah bahwa gerbang logika klasik memanipulasi nilai bit klasik, 0 atau 1, gerbang kuantum dapat sewenang-wenang memanipulasi nilai kuantum multi-partite termasuk superposisi dari komputasi dasar yang juga dilibatkan. Jadi gerbang logika kuantum perhitungannya jauh lebih bervariasi daripada gerbang logika perhitungan klasik.
Algoritma Shor
Sebuah komputer kuantum tidaklah sama dengan komputer klasik. Hal ini tidak dalam hal kecepatan saja, namun juga dalam hal pemrosesan informasi. Sebuah komputer kuantum dapat mensimulasikan sebuah proses yang tidak dapat dilakukan oleh komputer klasik. Hal ini membuat para ilmuwan harus memiliki paradigma baru dalam hal permrosesan informasi.
Selama ini, sebuah komputer bekerja didasarkan hukum-hukum fisika klasik. Informasi didefinisikan secara positif, direpresentasikan secara material dan diproses berdasarkan hukum-hukum fisika klasik. Ketika para fisikawan masuk ke dalam teori kuantum dalam pemrosesan informasi, mereka diharuskan untuk mengubah pandangan mereka mengenai pemrosesan informasi. Lebih jauh lagi, mereka harus mengembangkan sebuah sistem logika baru yang mengikuti hukum-hukum fisika kuantum. Sistem logika baru ini disebut dengan logika kuantum. Sistem logika kuantum berbeda sama sekali dengan sistem logika yang selama ini dipakai, yaitu sistem logika yang dikembangkan oleh Aristoteles.
Dengan sistem logika yang baru, para ilmuwan harus memikirkan sebuah algoritma yang berbeda untuk memproses informasi. Inilah yang sebenarnya merupakan inti dari komputer kuantum. Beberapa algoritma telah dikembangkan dan yang di antaranya telah berhasil ditemukan adalah algoritma Shor yang ditemukan oleh Peter Shor pada tahun 1995. Lewat algoritma Shor ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. Jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.
Sebagai contoh, seorang pemecah kode akan membutuhkan waktu 8 bulan dan 1.600 pengguna internet jika ia akan memecahkan kode RSA yang disandikan dalam 129 digit. Jika hal ini mungkin, pengirim data hanya perlu menambahkan digit pada kode RSA-nya agar para pemecah kode membutuhkan waktu yang lebih lama lagi untuk memecahkan kuncinya. Sebagai gambaran, pemecahan kode RSA 140 (140 digit) akan membutuhkan waktu yang lebih lama dari umur alam semesta (15 miliar tahun). Namun, jika pemecah kode menggunakan komputer kuantum, mereka dapat memecahkan kode RSA 140 hanya dalam waktu beberapa detik. Hal inilah yang membuat waswas para pengguna channel komunikasi rahasia saat ini untuk melakukan pengiriman data secara aman.
Referensi :
http://id.wikipedia.org/wiki/Komputer_kuantum
http://physciense.blogspot.com/2013/11/apa-itu-quantum-entanglement-siri-1.html
http://task-campus.blogspot.com/2013/06/pengantar-quantum-computation.html
http://gregoriousvalentine.blogspot.com/2014/06/quantum-computation.html
Gambar Selengkapnya...
Kamis, 16 April 2015
Definisi Web Scine, Sejarah Web dan Arsitektur Web
Oke langsung aja kita mulai dengan definisi web scine.
Definisi Webscine
Web Science merupakan salah satu penjabaran dari dua arti yang berbeda, yaitu web dan science. Website atau situs diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink).
Science adalah segala sesuatu yang berhubungan dengan sumber ilmu pengetahuan yang memberikan manfaat bagi kehidupan manusia dan seluruh isinya. Dengan kata lain, science itu sendiri merupakan kumpulan ilmu pasti yang memberikan makna tersendiri bagi yang mempelajarinya. Web Science dapat disimpulkan yaitu segala sesuatu yang berkaitan dengan ilmu pengetahuan yang diperoleh dari sumer yang akurat dan dapat di unduh dari dunia maya tanpa kita harus menuju ke sumber informasi yang ada di informasi yang ingin kita cari, sehingga memudahkan kita untuk memperoleh informasi.
Kelahiran Web Science didorong oleh pergerakan generasi Web dari Web 1.0 ke Web 3.0.Sejak diperkenalkan Web pada tahun 1990 oleh Tim Berners-Lee, perkembangan yang terjadi luar biasa.
Sejarah Web
Web 1.0
Merupakan teknologi Web generasi pertama yang merupakan revolusi baru di dunia Internet karena telah mengubah cara kerja dunia industri dan media. Pada dasarnya, Website yang dibangun pada generasi pertama ini secara umum dikembangkan untuk pengaksesan informasi dan memiliki sifat yang sedikit interaktif.
Web 2.0
Web 2.0 Istilah Web 2.0 pertama kalinya diperkenalkan oleh O’Reilly Media pada tahun 2004 sebagai teknologi Web generasi kedua yang mengedepankan kolaborasi dan sharing informasi secara online. Menurut Tim O’Reilly, Web 2.0 dapat didefinisikan sebagai berikut: “Web 2.0 adalah revolusi bisnis di industri komputer yang disebabkan oleh penggunaan internet sebagai platform, dan merupakan suatu percobaan untuk memahami berbagai aturan untuk mencapai keberhasilan pada platform baru tersebut.
Web 3.0
definisi untuk Web 3.0 sangat beragam mulai dari pengaksesan broadband secara mobile sampai kepada layanan Web berisikan perangkat lunak bersifat on-demand [Joh07]. Namun, menurut John Markoff, Web 3.0 adalah sekumpulan teknologi yang menawarkan cara baru yang efisien dalam membantu komputer mengorganisasi dan menarik kesimpulan dari data online. Berdasarkan definisi yang dikemukakan tersebut, maka pada dasarnya Semantic Web memiliki tujuan yang sama karena Semantic Web memiliki isi Web yang tidak dapat hanya diekpresikan di dalam bahasa alami yang dimengerti manusia, tetapi juga di dalam bentuk yang dapat dimengerti, diinterpretasi dan digunakan oleh perangkat lunak (software agents)
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. 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. Tiga standar utama untuk penerapan web services. Standar-standar ini mendukung pertukaran data berbasis XML. Tiga standar tersebut meliputi SOAP, WSDL, dan UDDI. Berikut bakal tak jelaskan secara singkat mengenai standar tersebut. 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.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.
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.
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.
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. Sekarang, mari kita bahas 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
o 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.
o FAQ (Frequently Asked Question): berisi pertanyaan-pertayaan umum mengenai produk, jasa, maupun perusahaan.
o Testimoni: berisi kesaksian pelanggan mengenai penggunaan produk dan/atau jasa yang ditawarkan. Halaman ini digunakan untuk membangun reputasi.
o 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.
Referensi :
Gambar
http://www.arsianto.com/2013/04/web-science_21.html
http://laoderahmatputra.blogspot.com/2014/03/pengertian-sejarah-arsitektur-web.html Selengkapnya...
Senin, 16 Maret 2015
Cloud Computing
CLOUD COMPUTING
1. Definisi Cloud Computing >br>
Wikipedia mendefinisikan cloud computing sebagai “komputasi berbasis Internet, ketika banyak server digunakan bersama untuk menyediakan sumber daya, perangkat lunak dan data pada komputer atau perangkat lain pada saat dibutuhkan, sama seperti jaringan listrik”.
Gartner mendefinisikannya sebagai “sebuah cara komputasi ketika layanan berbasis TI yang mudah dikembangkan dan lentur disediakan sebagai sebuah layanan untuk pelanggan menggunakan teknologi Internet.”
Forester mendefinisikannya sebagai “standar kemampuan TI, seperti perangkat lunak, platform aplikasi, atau infrastruktur, yang disediakan menggunakan teknologi Internet dengan cara swalayan dan bayar-per-pemakaian.”
Secara sederhana, Cloud Computing dapat kita bayangkan seperti sebuah jaringan listrik. Apabila kita membutuhkan listrik, apakah kita harus punya pembangkit listrik sendiri? Tentu tidak. Kita tinggal menghubungi penyedia layanan (dalam hal ini, PLN), menyambungkan rumah kita dengan jaringan listrik, dan kita tinggal menikmati layanan tersebut. Pembayaran kita lakukan bulanan sesuai pemakaian.>br>
Kalau listrik bisa seperti itu, mengapa layanan komputasi tidak bisa? Misalnya, apabila sebuah perusahaan membutuhkan aplikasi CRM (Customer Relationship Management). Kenapa perusahaan tersebut harus membeli aplikasi CRM, membeli hardware server, dan kemudian harus memiliki tim TI khusus untuk menjaga server dan aplikasi tersebut?
Di sinilah cloud computing berperan. Penyedia jasa cloud computing seperti Microsoft, telah menyediakan aplikasi CRM yang dapat digunakan langsung oleh perusahaan tadi. Mereka tinggal menghubungi penyedia layanan (dalam hal ini, Microsoft), “menyambungkan” perusahaannya dengan layanan tersebut (dalam hal ini, melalui Internet), dan tinggal menggunakannya. Pembayaran? Cukup dibayar per bulan (atau per tahun, tergantung kontrak) sesuai pemakaian. Tidak ada lagi investasi di awal yang harus dilakukan.
berikut ini adalah gambar dari cloud computing :
2. Karakteristik Cloud Computing
Dengan semakin maraknya pembicaraan seputar cloud computing, semakin banyak perusahaan yang mengumumkan bahwa mereka menyediakan layanan cloud computing.
Akan sangat membingungkan bagi kita para pengguna untuk memastikan bahwa layanan yang akan kita dapatkan adalah cloud computing atau bukan.
Untuk mudahnya, dari semua definisi yang ada, dapat diintisarikan bahwa cloud computing ideal adalah layanan yang memiliki 5 karakteristik berikut ini.
2.1. On-Demand Self-Services
Sebuah layanan cloud computing harus dapat dimanfaatkan oleh pengguna melalui mekanisme swalayan dan langsung tersedia pada saat dibutuhkan. Campur tangan penyedia layanan adalah sangat minim. Jadi, apabila kita saat ini membutuhkan layanan aplikasi CRM (sesuai contoh di awal), maka kita harus dapat mendaftar secara swalayan dan layanan tersebut langsung tersedia saat itu juga.
2.2. Broad Network Access
Sebuah layanan cloud computing harus dapat diakses dari mana saja, kapan saja, dengan alat apa pun, asalkan kita terhubung ke jaringan layanan. Dalam contoh layanan aplikasi CRM di atas, selama kita terhubung ke jaringan Internet, saya harus dapat mengakses layanan tersebut, baik itu melalui laptop, desktop, warnet, handphone, tablet, dan perangkat lain.
2.3. Resource Pooling
Sebuah layanan cloud computing harus tersedia secara terpusat dan dapat membagi sumber daya secara efisien. Karena cloud computing digunakan bersama-sama oleh berbagai pelanggan, penyedia layanan harus dapat membagi beban secara efisien, sehingga sistem dapat dimanfaatkan secara maksimal.
2.4. Rapid Elasticity
Sebuah layanan cloud computing harus dapat menaikkan (atau menurunkan) kapasitas sesuai kebutuhan. Misalnya, apabila pegawai di kantor bertambah, maka kita harus dapat menambah user untuk aplikasi CRM tersebut dengan mudah. Begitu juga jika pegawai berkurang. Atau, apabila kita menempatkan sebuah website berita dalam jaringan cloud computing, maka apabila terjadi peningkatkan traffic karena ada berita penting, maka kapasitas harus dapat dinaikkan dengan cepat.
2.5. Measured Service
Sebuah layanan cloud computing harus disediakan secara terukur, karena nantinya akan digunakan dalam proses pembayaran. Harap diingat bahwa layanan cloud computing dibayar sesuai penggunaan, sehingga harus terukur dengan baik.
3.Kelebihan Cloud Computing
Dari semua penjelasan di atas, apa sebenarnya kelebihan dari Cloud Computing, terutama bagi dunia bisnis? Berikut beberapa di antaranya.
3.1 Tanpa Investasi Awal
Dengan cloud computing, kita dapat menggunakan sebuah layanan tanpa investasi yang signifikan di awal.
Ini sangat penting bagi bisnis, terutama bisnis pemula (startup). Mungkin di awal bisnis, kita hanya perlu layanan CRM untuk 2 pengguna. Kemudian meningkat menjadi 10 pengguna.
Tanpa model cloud computing, maka sejak awal kita sudah harus membeli hardware yang cukup untuk sekian tahun ke depan. Dengan cloud computing, kita cukup membayar sesuai yang kita butuhkan.
3.2 Mengubah CAPEX menjadi OPEX
Sama seperti kelebihan yang pertama, kelebihan yang kedua masih seputar keuangan.
Tanpa cloud computing, investasi hardware dan software harus dilakukan di awal, sehingga kita harus melakukan pengeluaran modal (Capital Expenditure, atau CAPEX). Sedangkan dengan cloud computing, kita dapat melakukan pengeluaran operasional (Operational Expenditure, atau OPEX).
Jadi, sama persis dengan biaya utilitas lainnya seperti listrik atau telepon ketika kita cukup membayar bulanan sesuai pemakaian. Hal ini akan sangat membantu perusahaan secara keuangan.
3.3 Lentur dan Mudah Dikembangkan
Dengan memanfaatkan Cloud Computing, bisnis kita dapat memanfaatkan TI sesuai kebutuhan. Perhatikan Gambar 2 di bawah untuk melihat beberapa skenario kebutuhan bisnis.
Penggunaan TI secara bisnis biasanya tidak datar-datar saja.
Dalam skenario “Predictable Bursting”, ada periode di mana penggunaan TI meningkat tajam. Contoh mudah adalah aplikasi Human Resource (HR) yang pada akhir bulan selalu meningkat penggunaannya karena mengelola gaji karyawan.
Untuk skenario “Growing Fast”, bisnis meningkat dengan pesat sehingga kapasitas TI juga harus mengikuti.
Contoh skenario “Unpredictable Bursting” adalah ketika sebuah website berita mendapat pengunjung yang melonjak karena ada berita menarik.
Skenario “On and Off” adalah penggunaan TI yang tidak berkelanjutan. Misalnya, sebuah layanan pelaporan pajak, yang hanya digunakan di waktu-waktu tertentu setiap tahun.
4. Komputasi Grid
Pengertian dari Grid Computing itu sendiri adalah sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara vitual. Seperti halnya pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar.
Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.
4.1 Beberapa konsep dasar dari grid computing :
a. Sumber daya dikelola dan dikendalikan secara lokal.
b. Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
c. Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
d. Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)
e. Tiga hal yang di-,sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.
4.2 Cara Kerja Grid Computing
Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :
a. Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.
b. Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.
c. Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.
5. Virtualisasi
Virtualisasi dibidang komputer adalah sebuah teknologi, yang memungkinkan untuk membuat versi virtual yang bersifat fisik, contohnya sistem operasi, storge data atau sumber daya jaringan. Disini memiliki Hypervisor yang gunanya untuk memproses sebuah software atau firmware.
6.Distributed Computation dalam Cloud Computing
Mempelajari tentang pengunaan terkoordinasi dari komputer secara fisik terpisah atau terdistribusi, untuk dalam komputasi cloud dimana media dapat berjalan bersamaan pada banyaknya komputer yang terhubung melalui media internet.
Berikut ini adalah contoh pemanfaatan cloud computing :
Referensi :
http://usi.feb.unair.ac.id/component/content/article/38-artikel-teknologi/209-cloud-computing-memahami-dan-penerapannya.html
http://nasyasora.blogspot.com/
https://cinoyraz.wordpress.com/2013/05/01/komputasi-cloud-komputasi-grid-virtualisasi-map-reduce-dan-nosql-not-only-sql/
gambar:
https://itmove.files.wordpress.com/2011/06/karakteristik-cloud2-g2.jpg
https://itmove.files.wordpress.com/2011/06/ilustrasi-cloud2-g1.jpg Selengkapnya...