Kamis, 28 Mei 2015

Komputasi Parallel



1. Konsep Paralelisme 
Banyak perkembangan-perkembangan baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel.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.
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.
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. 
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. 

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. 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.
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 ).

Referensi :
http://mojomakearocket.blogspot.com
https://krustybrain.wordpress.com/2013/05/25/tugas-4-softskill-pengantar-komputasi-modern-sem-8//
http://rrezzablog.blogspot.com/2009/11/parallel-processing.html
http://id.wikipedia.org/wiki/Komputasi_paralel
http://ananda-syaifullah.blogspot.com/2015/05/komputasi-parallel.html

Senin, 04 Mei 2015

DEFINISI,SEJARAH DAN ARSITEKTUR WEB SCIENCE

Pengertian Web Science : 
  
Web Science adalah ilmu pengetahuan untuk membuat dan memanipulasi web, Web adalah kumpulan halaman yang dapat menampilkan informasi berupa gambar, animasi, tulisan, suara maupun gabungan dari keseluruhannya yang bersifat statis atau dinamis yang dapat membentuk rangkaian yang saling terkait yang dihubungkan dengan banyak link. Science adalah ilmu pengetahuan yang didapat dan bisa menjadi pengetahuan bagi masyarakat untuk memberi informasi yang akurat.

Sejarah Web Science :

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.
 Aktifitas WSRI fokus pada (i) artikulasi agenda penelitian untuk komunitas scientific, (ii) mengkoordinasi pengembangan materi pembelajaran Web Science dan (iii) mengikat pemikiran tentang kepeminpinan pada sektor yang berkembang ini.
Untuk melanjutkan aktifitasnya dan mendukung pengembangan Web Science secara global, para direktur WSRI membuat badan amal-the 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.


Bagian dari Arsitektur Website :
 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.


WWW (World Wide Web)

WWW (World Wide Web) 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.

URL( universal resource locator) 

URL( universal resource locator) 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 archie . secara umum dapat digambarkan penulisan url : metode://nama_file[:nomor_port]. Jenis metode yang digunakan pada url adalah file,http,news,gopher,telnet.


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.

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.


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.

Daftar Referensi :

thearczoro.blogspot.com.(2012)."sejarah-internet-website-dan-arsitektur".
Kadir, Abdul. 2003. Dasar Pemrograman Web Dinamis Menggunakan PHP. Andi. Yogyakarta.
https://dhozkiii24.wordpress.com/2013/08/26/arsitektur-web/