18 Juni 2014

Grid Computing

Grid Computing adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Grid computing merupakan cabang dari distributed computing. Gridkomputer memiliki perbedaan yang lebih menonjol dan di terapakan pada sisi infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat jaringan.
Grid computing sebenarnya merupakan sebuah aplikasi pengembangan dari jaringan komputer (network). Hanya saja, tidak seperti jaringan komputer konvensional yang berfokus pada komunikasi antar pirati (device), aplikasi pada Grid computing dirancang untuk memanfaatkan sumber daya pada terminal dalam jaringannya. Grid computing biasanya diterapkan untuk
menjalankan sebuah fungsi yang terlalu kompleks atau terlalu intensif untuk dikerjakan oleh satu sistem tunggal. Dalam pengertian yang lebih teknis, Grid computing merupakan 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.

Konsep Grid computing pertama kali dieksplorasi pada tahun 1995 melalui eksperimen yang dikenal sebagai I-WAY, dimana jaringan berkecepatan tinggi digunakan untuk menghubungkan dalam waktu singkat, suber daya yang sifatnya high-end pada 17 situs di sepanjang Amerika bagian Utara. Selepas aktifitas ini, berkembang pula sejumlah proyek penelitian yang bertujuan untuk mengembangkan teknologi inti Grid computing untuk hal-hal yang lebih “produktif” bagi berbagai komunitas dan disiplin keilmuan. Tidak kurang dari badan bernama National Technology Grid bentukan US National Science Foundation (Lembaga Ilmu Pengetahuan AS), yang bekerjasama dengan Information Power Grid dari NASA (badan luar angkasa Amerika Serikat), bersama-sama membentuk sebuah infrastruktur Grid computing untuk melayani kegiatan para peneliti di NASA maupun berbagai universitas di Amerika Serikat.
Komputasi grid vs komputasi paralel, yaitu  :
  • komputasi paralel bersifat homogen (seluruh resource yang digunakan serupa) sedangkan komputasi grid bisa bersifat heterogen (berasal dari bermacam-macaam resource yang berbeda) ataupun homogen.
  • komputasi paralel hanya terdiri dari satu cluster, sedangkan komputasi grid bisa terdiri dari beberapa cluster
  • pembagian job execution dalam koputasi paralel harus sama besar antar tiap resource, sedangkan pada komputasi grid tidak harus sama.
Secara umum bisa disimpulkan, bahwa komputasi paralel, merupakan bagian dari komputasi grid.
Secara umum, Ian Foster dalam jurnalnya tentang “What is grid ?”, menjelaskan ada 3 ciri utama dari suatu sistem grid, yaitu :
Ian Foster pada tahun 2002 menyampaikan pengertian dari Grid. Grid adalah suatu sistem yang:
  1. mengkoordinasi sumber daya (resources) yang tidak tunduk kepada kendali terpusat … (Jika tidak, kita sedang berurusan dengan sistem manajemen lokal)
  2. mengunakan protokol dan antarmuka (interface) yang bersifat standard, open, dan general-purpose… (Sebaliknya, kita berurusan dengan suatu sistem khusus aplikasi)
  3. ….untuk menghasilkan kualitas layanan (QoS) yang tidak trivial (tidak sepele). (Ini akan memenuhi tuntutan pengguna yang kompleks, sehingga utilitas dari sistem terkombinasi secara signifikan lebih besar daripada utilitas total dari bagian-bagiannya).
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 computingdibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.
Implementasi grid telah dilakukan oleh sebagian besar negara di dunia, sebagai contoh Hongkong yang telah mengimplementasikan Grid dengan tujuan sebagai R&D Grid, grid bagi institusi pemerintahan, dan industri serta grid untuk berhubungan dengan partner negara lain d lingkungan Cina dan Asia-Pasific.
Sedangkan Indonesia sendiri sudah memulai riset tentang grid pada tahun 2006 dengan diusulkannya sebuah infrastruktur GRID tingkat nasional RI-GRID, yaitu infrastruktur komputasi grid di tingkat negara Republik Indonesia yang bertujuan memanfaatkan sumber daya komputasi yang berada di institusi-institusi penelitian baik saat ini maupun di masa akan datang sehingga dapat digunakan oleh para peneliti di negara ini untuk mengembangkan ilmu pengetahuan dan teknologi. Hingga saat ini telah berkembang lagi menjadi InGrid (Inherent Grid) yaitu grid yang berdiri pada jaringan INHERENT (sistem jaringan antara perguruan tinggi negeri, swasta di seluruh Indonesia) .
Berikut adalah beberapa konsep dasar dalam Grid Computing:
  • Sumber daya dikelola dan dikendalikan secara lokal.
  • 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.
  • Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
  • Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)
Secara umum, elemen-elemen dari infrastruktur Grid adalah
  • Hardware/Sumber daya (Dibuat tersedia dari site-site berbeda yang terdistribusi secara geografis, mencakup CPU/Storage/Instruments, dll…)
  • Software: Sesuatu yang menghubungkan bersama-sama semua sumber daya ini: middleware. Beberapa aplikasi untuk menggunakan sumber daya komputasi yang dibuat tersedia
  • Orang-orang: Siapa yang memelihara Grid, dan Siapa yang menggunakan Grid
Middleware adalah lapisan atau layer perangkat lunak (software) yang terletak antara sistem operasi dan aplikasi. Elemen-elemen dasar dari Middleware ini adalah
  • Keamanan (security)
  • Pengelolaan sumber daya (resource management)
  • Pengelolaan data (data management)
  • Layanan informasi (information services)
Solusi bagi middleware yang telah tersedia, di antaranya adalah
  • Globus Toolkit (Argonne+ISI)
  • LCG/Glite (dari proyek Uni Eropa)
  • Gridbus (Melbourne, Australia)
  • Unicore… (Jerman)
  • Dan masih banyak lainnya…
Secara generik, keuntungan dasar dari penerapan komputasi Grid adalah:
  • Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle
  • Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas
  • Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik
  • Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik
Ukuran dan/atau kompleksitas dari masalah mengharuskan orang-orang dalam beberapa organisasi berkolaborasi dan berbagi (share) sumber daya komputasi, data dan instrumen sehingga terwujud bentuk organisasi baru, VIRTUAL ORGANIZATION.
Organisasi virtual, sebagai hasil kolaborasi, memberikan beberapa keuntungan lebih lanjut, di antarnya:
  • Sumber daya dan orang-orang yang tersebar
  • Dihubungkan oleh jaringan, melintasi domain-domain admin
  • Berbagi sumber daya, tujuan bersama
  • Dinamis
  • Fault-tolerant
  • Tidak ada batas-batas geografis: Tidak ada masalah VISA karena tidak diperlukan perjalanan orang
Sampai saat ini dan diperkirakan berlaku dalam beberapa tahun ke depan, ada kecenderungan besar komputasi Grid digunakan untuk :
  • Jaringan penelitian publik….bagi para peneliti dan ilmuwan, EGEE, GEANT, dll
  • Keterlibatan lebih banyak dari institusi keuangan (Bank, dll). Aplikasi keuangan yang lebih baru saat ini ditulis untuk GRID aware atau dapat digunakan pada Grid
  • Tidak lagi hanya komputasional tetapi sekarang juga layanan (service)
  • Service Oriented Architecture (SOA). Enkapsulasi dari sekumpulan aplikasi atau layanan sebagai suatu antarmuka tunggal yang dapat dionfigurasi ulang berdasarkan pada kebutuhan end-user. Standard bagi manajemen data.
  • Komputasi Awan (cloud computing). Kemampuan untuk men-deploy atau men-deliver layanan/sumber daya seperti dibutuhkan.
Pada waktu yang akan datang, para peneliti memperkirakan komputasi Grid semakin dibutuhkan seiring dengan kemajuan teknologi jaringan komputer dan telekomunikasi serta tuntutan dari pengguna, yaitu:
  • Ke arah aplikasi tersebar yang berinterakses satu sama lain dan menawarkan integrasi dinamis satu dengan lainnya.
  • Segala suatu dari sistem operasi ke delivery on demand aplikasi software atau service, dimana dan kapan end-user memerlukannya. Tidak perlu instal, update…
  • Jaringan adalah komputer…Desktop anda adalah sebagaimana anda inginkan, dimana dan kapan anda menginginkannya.
Dari gambaran sekilas di atas, serta melihat kondisi di negara kita, komputasi Grid dapat digunakan untuk tersedianya akses internet atau berbagi pakai sumber daya komputasi dalam negeri secara efektif dan efisien. Berikut beberapa alasanya:
  • Setiap orang melalui jaringan Grid dapat berpartisipasi sebagai pattner aktif dalam proses pengembangan dan memajukan penelitian dan/atau teknologi.
  • Penggunaan teknologi Grid menawarkan kesempatan besar bagi peneliti dan ilmuwan, memilih fitur-fitur khusus dari komputasi Grid yang paling memenuhi kebutuhannya, dan juga menentukan bagaimana diimplementasikan.
  • Bagi banyak negara ketiga, sering terjadi lack dari jaringan, karena itu situs-situs perlu untuk diinterkoneksikan.
  • Bandwitdh dapat menjadi faktor yang membatasi. Grid merupakan network demanding infrastructure. Namun ada aplikasi-aplikasi yang tidak memerlukan bandwidth besar, situs peripheral (hanya node pengguna) dapat berjalan baik dengan bandwidth terbatas (~1 Mb), Grid kampus atau metropolian yang terisolasi dapat menjadi pilihan.
Di Eropa dan Amerika Serikat, European Data Grid, Particle Physics Data Grid, dan proyek Grid Physics Network (GriPhyN), berencana untuk membangun kerjasama dalam pengembangan aplikasi Grid computing untuk kepentingan analisis data pada eksperimen-eksperimen fisika. Sementara itu, the Network for Earthquake Engineering Simulation Grid (NEESgrid) tengah berancang-ancang untuk menghubungkan para insinyur sipil dengan arsip data dan sistem simulasi komputer untuk mengembangkan bangunan dengan kekuatan yang lebih besar.
Seperti halnya aplikasi network lainnya, Grid computing haruslah bersandar pada satu set standar dan protokol tertentu. Kendati tidak ada standar formal yang telah ditetapkan untuk aplikasi Grid computing (saat ini sedang disiapkan oleh Grid Forum), telah ada semacam konsensus dalam teknologi intinya. Pada dasarnya, semua proyek Grid computing dibuat berdasarkan protokol dan servis yang disediakan oleh Globus Toolkit yang dikembangkan oleh Argonne National Laboratory bekerjasama dengan tim dari Information Sciences Institute, University of Southern California dan beberapa institusi lainnya. Infrastruktur yang memiliki arsitektur terbuka (open-architecture) dan bersifat open-source ini menyediakan banyak fungsi dasar yang dibutuhkan untuk membangun sebuah aplikasi yang memanfaatkan Grid computing.
Walaupun internet dan Grid computing adalah teknologi yang relatif baru, namun telah terbukti bermanfaat, dan masa depan teknologi ini kelihatannya cukup menjanjikan. Di masa depan, saat teknologi, sistem jaringan, dan model bisnis untuk keperluan ini telah berkembang, dimungkinkan bagi komunitas ilmuwan untuk membentuk semacam “Science Grids”, yang menghubungkan sumber daya yang berbeda untuk mendukung komunikasi, akses data dan komputasi untuk kepentingan ilmu pengetahuan. Saat itu, penggunaan superkomputer untuk keperluan analisis data dengan kompleksitas tinggi bisa digantikan oleh sejumlah besar workstation yang tersebar di seluruh dunia yang bekerja secara bersamaan dalam Grid computing.

Kelebihan dan Kekurangan Grid Computing
Penggunaan Grid Computing System untuk perusahaan-perusahaan akan banyak memberikan manfaat, baik manfaat secara langsung maupun tidak langsung. Beberapa manfaat tersebut antara lain :
1. Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan.
2. Grid computing bisa memberi penghematan uang, baik dari sisi investasi modal maupun operating cost–nya.
Dan beberapa hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing adalah sebagai berikut :
1. Manajemen institusi yang terlalu birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yan lebih besar bagi masyarakat luas.
2. Masih sedikitnya Sumber Daya Manusia yang kompeten dalam mengelola grid computing. Contonhya kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.


Sumber :

    19 Mei 2014

    Quantum Computing

    Pengertian Quantum Computing
    Quantum computing adalah perangkat untuk perhitungan yang menggunakan langsung dari fenomena kuantum mekanik, seperti superposisi dan belitan, untuk melakukan operasi pada data. Quantum komputer berbeda dari komputer digital berdasarkan transistor. komputer digital membutuhkan data yang akan dikodekan menjadi digit biner (bit), komputasi kuantum menggunakan properti kuantum untuk mewakili data dan melakukan operasi pada data ini. Sebuah model teoritis adalah kuantum Turing mesin, juga dikenal sebagai komputer kuantum universal. Quantum komputer berbagi kesamaan teoritis dengan komputer non-deterministik dan probabilistik, seperti kemampuan untuk berada dalam lebih dari satu negara secara bersamaan. Bidang komputasi kuantum pertama kali diperkenalkan oleh Richard Feynman pada tahun 1982. Meskipun komputasi kuantum masih dalam masa pertumbuhan, percobaan telah dilakukan dimana operasi komputasi kuantum dieksekusi pada sejumlah sangat kecil dari qubit (quantum bit). Kedua penelitian praktis dan teoritis terus berlanjut, dan pemerintah nasional dan lembaga pendanaan militer mendukung penelitian komputasi kuantum untuk mengembangkan komputer kuantum untuk tujuan keamanan baik sipil maupun nasional, seperti pembacaan sandi.
    Implementasi Quantum Computing
    Quantum komputer tidak terbatas pada dua negara, mereka menyandikan informasi sebagai bit kuantum, atau qubit, yang bisa eksis dalam superposisi. Qubit mewakili atom, ion, foton atau elektron dan perangkat kontrol masing-masing yang bekerja sama untuk bertindak sebagai memori komputer dan prosesor. Karena komputer kuantum dapat berisi negara-negara ini secara bersamaan, ia memiliki potensi untuk menjadi jutaan kali lebih kuat daripada super komputer saat ini paling kuat.
    Quantum komputer juga memanfaatkan aspek lain dari mekanika kuantum yang dikenal sebagai belitan. Satu masalah dengan ide komputer kuantum adalah bahwa jika Anda mencoba untuk melihat partikel subatomik, Anda bisa bertemu mereka, dan dengan demikian mengubah nilai mereka. Jika Anda melihat qubit dalam superposisi untuk menentukan nilainya, qubit akan menganggap nilai 0 atau 1.
    Kuantum komputer paling maju belum terbebas dari memanipulasi lebih dari 16 qubit, yang berarti bahwa mereka jauh dari aplikasi praktis. Namun, potensi tetap bahwa komputer kuantum suatu hari bisa melakukan, cepat dan mudah, perhitungan yang sangat memakan waktu pada komputer konvensional.
    Algoritma Quantum Computing
    Algoritma Shor adalah contoh lanjutan paradigma dasar (berapa banyak waktu komputasi diperlukan untuk menemukan faktor bilangan bulat n-bit?), tapi algoritma ini tampak terisolir dari kebanyakan temuan lain ilmu informasi quantum. Sekilas, itu cuma seperti trik pemrograman cerdik dengan signifikansi fundamental yang kecil. Penampilan tersebut menipu; para periset telah menunjukkan bahwa algoritma Shor bisa ditafsirkan sebagai contoh prosedur untuk menetapkan level energi sistem quantum, sebuah proses yang fundamental. Seiring waktu berjalan dan kita mengisi lebih banyak pada peta, semestinya kian mudah memahami prinsip-prinsip yang mendasari algortima Shor dan algoritma quantum lainnya dan, kita harap, mengembangkan algoritma baru.
    Algoritma Grover adalah sebuah algoritma kuantum untuk mencari database disortir dengan entri N di O ( N1 / 2 ) waktu dan menggunakan O ( log N ) ruang penyimpanan (lihat notasi O besar ) . Lov Grover dirumuskan itu pada tahun 1996 . Dalam model komputasi klasik , mencari database unsorted tidak dapat dilakukan dalam waktu kurang dari waktu linier (jadi hanya mencari melalui setiap item optimal ) . Algoritma Grover menggambarkan bahwa dalam model kuantum pencarian dapat dilakukan lebih cepat dari ini ; sebenarnya waktu kompleksitas O ( N1 / 2 ) adalah asimtotik tercepat mungkin untuk mencari database unsorted dalam model kuantum linear . Ini menyediakan percepatan kuadrat , seperti algoritma kuantum lainnya , yang dapat memberikan percepatan eksponensial atas rekan-rekan mereka klasik . Namun, bahkan percepatan kuadrat cukup besar ketika N besar . Seperti banyak algoritma kuantum , algoritma Grover adalah probabilistik dalam arti bahwa ia memberikan jawaban yang benar dengan probabilitas tinggi . Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma.
    Sumber :



    6 Mei 2014

    Penerapan Cloud Computing

    Definisi Cloud Computing

    Cloud Computing ( Komputasi Awan ) merupakan gabungan pemanfaatan teknologi komputer dan perkembangan internet. Dalam hal ini awan diartikan sebagai metafora dari internet. Awan dalam cloud computing merupakan abstrkompleks yang disembunyikan. Cloud Computing merupakan suatu metode komputasi dimana kapabalitas terkait teknologi informasi disajikan dalam suatu layanan sehingga pengguna (user) dapat mengaksesnya lewat internet, tanpa mereka mengetahui apa yang ada dan apa yang terjadi di dalamnya. Cloud Computing dapat diartikan sebagai proses penggunaan aplikasi (software) yang berjalan diatas sebuah jaringan, artinya pengguna aplikasi tidak perlu melakukan proses instalasi untuk menjalankan aplikasi cloud computing, cukup dengan mengakses jaringan yang menyediakan fasilitas cloud computing maka pengguna dapat menggunakan aplikasi tersebut.

    Cara Kerja Cloud Computing
    Prinsip kerja cloud computing berawal dari prinsip fleksibelitas dimana pengguna lebih dimanjakan dengan berbagai kemudahan dalam penggunaan komputer. Pada intinya, prinsip kerja cloud computing mengutamakan internet sebagai alat untuk mempermudah pengguna komputer. Proses kerja cloud computing menggunakan internet sebagai sistem utama sebagai pengolah maupun sebagai aplikasi. Semua data atau perintah yang dikirim akan disimpan atau diolah di dalam internet. Cloud computing juga menerapkan prinsip on-demand, yang membuat cloud computing dapat digunakan di mana saja dan kapan saja.

    Cloud Computing bekerja dengan cara demikan :
    Komputer client (pengguna) meminta request kepada komputer server untuk mengakses data aplikasi yang digunakan.
    Request yang disampaikan menggunakan TCP/IP sebagai protokol pengaturnya, setelah request yang dimaksud dipahami oleh server maka server merespon kembali request tersebut kepada komputer client.
    Pada komputer client respon yang diterima diterjemah kan kembali melalui TCP/IP agar dapat ditampilkan sesuai request.

    Penerapan Cloud Computing
    Jenis jasa cloud computing dibagi menjadi 3, yaitu:
    SaaS (Software as a Service)
    Layanan aplikasi  yang dapat langsung dimanfaatkan penguna dengan berlangganan seperti Microsoft Office 365 dan sebagainya.
    PaaS (Platform as a Service)
    Layanan penyedia modul siap pakai yang digunakan untuk mengembangkan aplikasi, berjalan di atas platform tersebut seperti pengembangan game di Facebook, Google Android, dan sebagainya.

    IaaS (Infrastructure a Service)
    Layanan yang menyewakan perangkat untuk menjalankan aplikasi meliputi media penyimpanan, processing power, memory, sistem operasi, dan kapasitas.

    Contoh perusahaan yang menerapkan cloud computing adalah Dropbox Inc. Dropbox menyediakan layanan yang memungkinkan pengguna untuk menyimpan file-file yang berada di komputer mereka ke storage dropbox dengan cara sinkronisasi. Dengan begitu ketika terjadi perubahan pada file yang berada di komputer pengguna, maka file yang berada di storage akan diubah juga. Dengan adanya layanan ini pengguna dapat memback-up data dan juga dapat mengaksesnya dimanapun mereka berada.

    Sejarah Dropbox

    Pendiri Dropbox, Drew Houston mendapatkan ide mengenai Dropbox setelah USB Drive miliknya beberapa kali tertinggal ketika ia menjadi murid di MIT. Ia mengatakan bahwa layanan yang tersedia saat itu bermasalah dengan penggunaan internet yang tidak dimaksimalkan, ukuran data yang besar, banyaknya error dan kesalahan, serta tidak praktis dan membingungkan banyak orang. Houston lalu mendirikan Dropbox Inc. pada tahun 2007, dan tidak lama setelah itu mendapatkan dana awal dari Y Combinator. Dropbox secara resmi diluncurkan pada acara TechCrunch 50, sebuah konferensi teknologi tahunan pada tahun 2008.

    Dropbox

    Dropbox adalah file hosting layanan dioperasikan oleh perusahaan Dropbox Inc. yang menawarkan penyimpanan cloud, file sinkronisasi, dan perangkat lunak klien. Dropbox memungkinkan penggunauntuk membuat folder khusus pada setiap kompouter mereka, yang kemudian Dropbox mensinkronisasikan sehingga tampak menjadi folder yang sama (dengan isi yang sama) terlepas dari komputer yang digunakan untuk melihatnya. File yang ditempatkan dalam folder ini juga dapat diakses melalui situs web dan ponsel aplikasi.

    Dropbox menyediakan perangkat lunak untuk Microsoft Windows, Mac OS, Linux, Android, iOS, BlackBerry OS, dan browser web, serta Port resmi untuk Symbian, Windows Phone dan MeeGo.

    Website Dropbox



    Pada website Dropbox, pengguna dapat membuat atau registrasi account. Pada website ini juga dapat meng-unduh aplikasi Dropbox yang dapat diperoleh untuk komputer pribadi ataupun smartphone.
    Tempat Penyimpanan
    Pada komputer pribadi
    Jika sudah memiliki account dan telah melakukan peng-installan aplikasi Dropbox ke dalam komputer pribadi atau smartphone. Aplikasi yang diinstall di komputer pribadi, maka akan terdapat folder Dropbox yang terdapat file-file yang telah disimpan.



    Pada website Dropbox
    Gambar di bawah ini adalah tampilan dalam Dropbox, jika telah memiliki account. Pada website, komputer pribadi maupun smartphone sudah tersinkronisasi.



    Keuntungan dan Kerugian Menggunakan Cloud Computing
    Keuntungan :
    1.     Kemudahan akses
    2.     Efisiensi biaya
    3.     Fleksibilitas dalam menambah kapasitas
    4.    Kemudahan untuk monitoring dan server management

    Kerugian :
    1.     Kerahasiaan data tidak terjamin
    2.    Sangat bergantung pada koneksi internet
    3.    Tingkat keamanan yang belum terjamin
    4. Service level, kemungkinan service performance yang kurang konsisten dari provider.

    Kelompok 4 :
    Angga Casidy
    Budi Widiyanto
    Fahmi Firdaus
    Mahin Aufa
    Nur Haidah
    Riyanto Adam
    Surahma Jaya

    http://abahalis.wordpress.com/2013/11/20/penerapan-cloud-computing-di-kantor-kantor/
    http://bctask.blogspot.com/2013/03//dropbox-inc-pengantar-komputasi-modern.html

    5 Mei 2014

    Pengantar Teknologi Game

    Game

    Teori game atau permainan adalah suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional. Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar Morgenstern yang berisi:

    "Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi.” (Theory of Games and Economic Behavior (3d ed. 1953))

    Pengertian game menurut Agustinus Nilwan dalam bukunya “Pemrograman Animasi dan Game Profesional” terbitan Elex Media Komputindo, game merupakan permainan komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami pengunaan animasi haruslah memahami pembuatan game. Atau jika ingin membuat game, maka haruslah memahami teknik dan metode animasi, sebab keduanya saling berkaitan.

    Permainan komputer (bahasa Inggris: computer game) adalah permainan video yang dimainkan pada komputer pribadi, dan bukan pada konsol permainan, maupun mesin ding-dong. Permainan komputer telah berevolusi dari sistem grafis sederhana sampai menjadi kompleks dan mutakhir. Namun, pasar permainan komputer di Amerika Serikat mulai menurun sejak tahun 1999.

    Game komputer dibuat oleh satu atau beberapa pengembang game, biasanya bersama dengan spesialis lainnya (seperti game artists) dan dipublikasikan baik secara sendiri atau melalui penerbit pihak ketiga. Mereka kemudian mendistribusikan pada media fisik seperti DVD dan CD, atau dapat didistribusikan secara bebas melalui internet, software, atau melalui jasa pengiriman online seperti Direct2Drive dan Steam. Game komputer membutuhkan hardware khusus di komputer pengguna untuk bermain, seperti generasi spesifik unit pemrosesan grafik atau koneksi internet untuk bermain online, meskipun persyaratan sistem ini bermacam-macam pada setiap game.

    Pangsa Pasar Game

    Dalam setiap game yang dirilis, biasanya dicantumkan pemberitahuan mengenai batasan umur pemain dari game tersebut. Pemberitahuan ini disimbolkan dengan logo-logo sebagai berikut :




    1.  EARLY CHILDHOOD
    Simbol eC (Early Childhood) berarti game yang boleh dimainkan oleh anak berumur 3 tahun keatas. Tidak ada materi yang perlu dikhawatirkan.





    2. EVERYONE
    Simbol E (Everyone) berarti game tsb cocok untuk anak berumur 6 tahun keatas. Isinya mungkin berisi sedikit kartun, fantasi atau sedikit kekerasan.




    3. EVERYONE 10+
    Simbol ini berarti game yang cocok untuk 10 tahun keatas. Didalamnya ada lebih banyak unsur kartun, fantasi, sedikit kekerasan atau sedikit bahasa kasar dan atau sedikit bersifat mempengaruhi.

    4. TEEN
    Simbol ini menunjukkan bahwa game hanya cocok untuk anak 13 tahun keatas. Didalamnya mungkin berisi kekerasan, hal - hal yang bisa mempengaruhi, humor kasar, sedikit darah, simulasi perjudian dan atau bahasa yang kasar

    5. MATURE
    Simbol ini menunjukkan bahwa game hanya cocok untuk 17 tahun keatas. Didalamnya mengandung banyak kekerasan dan darah, berbau seks dan atau kata-kata kasar.

    6. ADULTS ONLY
    Simbol ini berarti game ini hanya cocok untuk 18 tahun keatas. Didalamnya mengandung adegan kekerasan berkepanjangan dan atau seksual dan ketelanjangan.

    7. RATING PENDING
    Game yang belum memiliki rating sehingga para orang tua harus menghindari membeli game ini kepada anaknya atau melakukan survey sendiri.

    19 Maret 2014

    Teori Komputasi

    Apa itu komputasi? Definisi komputasi dari Wikipedia itu adalah cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Atau biasa disebut dengan Teori Komputasi, cara ini sudah digunakan selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang di era yang serba modern ini, kebanyakan komputasi telah dilakukan dengan menggunakan komputer. Asal kata komputer itu sendiri adalah compute (menghitung) oleh karena itu definisi komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri.
    Sebenarnya komputasi modern itu sama artinya dengan komputasi yang diatas sudah saya terangkan, tetapi bedanya komputasi modern itu hanya menggunakan 1 alat bantu yaitu komputer. Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern.Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer  yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu.

    Komputansi modern mempunyai karakteristik komputasi modern yang terdiri atas 3 macam, yaitu :
    ·       Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
    ·       Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
    ·       Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.


    Jenis-jenis komputasi modern :

    1. Mobile computing

    Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel.


    2. Grid computing

    Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.

    3. Cloud computing

    Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.
    Maka dapat di simpulkan Komputasi modern adalah perhitungan yang menggunakan computer canggih dimana pada computer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien. Komputasi modern digunakan untuk memecahkan masalah antara lain untuk menghitung:
     Akurasi (big, Floating point)
    Kecepatan (dalam satuan Hz)
    Problem Volume Besar (Down Sizzing atau paralel)
    Modeling (NN & GA)
    Kompleksitas (Menggunakan Teori big O)
    Nah udah pada jelaskan perkembangan Komputasi modern tuh kaya gimana? Oke kita lanjut ke implementasinya, kalo ada yang ga tau implementasi tuh apa, implementasi itu adalah penerapan atau pelaksanaan. Jadi kita harus tau nih penerapan / pelaksanaan Komputasi modern di berbagai bidang yang mungkin kita pakai di kehidupan sehari-hari tuh kaya gimana. Bidang yang saya coba jelaskan ini ada 6 bidang antara lain Matematika, Fisika, Kimia, Ekonomi, Geologi, dan Geografi.

    1.      Matematika

    pada bidang ini tentunya lebih mengarah kepada pemecahan masalah pasti atau mendekati kepastian dalam perhitungan angka – angka. Metode numerik, scientific computing, metode elemen hingga, metode beda hingga, scientific data mining dan scientific process control. Pada bidang ini, biasanya masalah berupa dalam skala besar.

    2.      Fisika

    menyelesaikan permasalahan medan magnet dengan menggunakan komputasi fisika, dalam hal ini menentukan besarnya medan magnet dan membandingkan hubungan antara medan magnet dengan panjang kawat.

    3.      Kimia

    algoritma komputer yang merupakan solusi dari sebuah masalah dalam hal ini dapat menggabungkan senyawa – senyawa kimia untuk mendapatkan suatu senyawa baru yang bila dilakukan secara manual sudah pasti menimbulkan resiko yang lebih besar jika dibandingkan dengan proses komputasi. Selain itu sifat dari atom dan molekul yang sangat kecil dapat dilakukan peramalan menggunakan komputasi.

    4.      Ekonomi

    mempelajari titik pertemuan antara ekonomi dan komputasi, meliputi agent-based computational modelling, computational econometrics dan statistika, komputasi keuangan, computational modelling of dynamic macroeconomic systems dan pengembangan alat bantu dalam pendidikan komputasi ekonomi.


    5.      Geologi dan Geografi

    Geologi dan Geografi, pada bidang ini dapat dilakukan pemanfaatan seperti pemodelan terhadap akses keadaan geografis suatu permukaan wilayah yang dapat dipantau jika terjadi pergerakan atau getaran. Selain itu dapat dilakukan pengiriman informasi mengenai prakiraan cuaca yang sangat berguna bagi segala hal terutama transportasi udara dan laut.


    Sekian sedikit penjelasan dari saya tentang tugas "Perkembangan Komputasi Modern dan Implementasinya" mohon maaf bila ada kata-kata yang kurang berkenan.


    Referensi
    http://id.wikipedia.org/wiki/Komputasi
    http://id.wikipedia.org/wiki/Komputer
    http://belajar-pemrograman2.blogspot.com/2013/03/komputasi-modern.html
    http://safemode.web.id/artikel/teknologi/perkembangan-komputasi-modern
    http://anggamaulana20.wordpress.com/2014/03/09/perkembangan-teori-komputasi-modern

    18 Maret 2014

    Komunikasi Sistem Terdistribusi

    2.1 Sistem Komunikasi
         Pada bab ini akan dibahas bagaimana komunikasi antara object2 dalam sistem terdistribusi, khusus nya dengan menggunakan RMI (Remod Method Invokation) dan RPC (Remote Procedure Call). RMI dan RPC berbasiskan metode request dan reply.




                             Gambar~2.1: Model komunikasi dan implementasi layer pada sistem terdistribusi Request     dan repy diimplementasikan pada protokol jaringan.

    2.2 Network Protocol
         Middleware dan aplikasi terdistribusi di implementasikan diatas protokol network. Protocol diimplementasikan dalam beberapa lapisan (layer).




    2.2.1 TCP dan UDP

    TCP
         TCP ( Transport Control Protocol) dan UDP (User Datagram Protocol) adalah protokol transport yang berada di atas lapisan Internet Protocol (IP). TCP adalah protocol yang handal, TCP dapat memastikan data yang dikirimkan sampai ke tujuan begitu juga sebaliknya. TCP menambahkan beberapa prosedur diatas layer internet protocol untuk memastikan reliabilitas transport data :
     Sequencing  Pada setiap transmisi data (paket) diberi nomor urut. Sehingga pada titik tujuan tidak ada segmen yang diterima sampai semua segmen pada urutan bawah belum di terima.
     Flow Control Pengirim tidak akanmembanjiri penerima.Karena pengiriman didasarkan pada periode acknowledgment yang di terima oleh pengirim yang berasal dari penerima.
     Retrasnmission dan duplicate handling Apabila segmen tidak mendapatkan acknowledge dari penerima sampai waktu timeout yang ditentukan terlampaui maka pengirim akan mengirim ulang. Berdasarkan nomor urut penerima data dapat mendeteksi dan menolak kalau terjadi duplikasi.
     Bu¤ering  digunakan untuk menyeimbangkan antara pengirim dan penerima. Kalau bu¤er pada penerima penuh, maka segmen yang datang akan putus, sehingga menyebabkan tidak ada acknowledge ke pengirim dan pengirim akan melakukan transmot ulang.
     Checksum Setiap segment membawa checksum. Apabila checksum segmen yang di terima tidak sesuai maka paket data tersebut akan di drop (dan kemudian akan di transmit ulang)

    UDP
         UDP tidak memberikan garansi seperti halnya yang di berikan oleh TCP.
     UDP tidak memberikan garansi terhadap pengiriman data Pada Internet Protocol paket data dapat drop karena suatu hal contohnya jaringan yang rusak, UDP tidak mempunyai mekanisme untuk menanggulangi hal tersebut.
     Kalau ingin menggunakan UDP sebagai protocol pengiriman yang handal, makamekanisme kehandalan yang diinginkan di lakukan pada layer aplikasi.

    2.2.2 Komunikasi Request - Reply
         Komunikasi antara proses dan objek pada sistem terdistribusi dilakukan melalui message passing.





    Client melakukan :
      1. Mengirim (request) pesan ke server
      2. Menerima hasil (reply dari server)
    Server melakukan :
      1. Penerimaan pesan (request) dari client
      2. Mengeksekusi permintaan dari client
      3. Mengirim hasil (reply) ke client.

    2.3 RPC dan RMI
         Tujuan dari RPC dan RMI dibuat bagi programmer, agar computer yang terdistribusi terlihat seperti computer yang terpusat. Dan berguna untuk melihat sistem terdistribusi dari sisi pemrogramman.



              RPC dan RMI berada pada Middleware

    2.3.1 RMI (Remote Method Invocation)



    Berikut ilustrasi yang terjadi pada metode RMI :
    Programmer pada client menulis :



    server_id.service(values_to_server,result_arguments);
    ———————————————————————-
    Pada sisi server mempunyai fungsi sebagai berikut :
    public service(in type1 arg from client; out type2 arg to_client)
    {————};

         Programmer pada client tidak mengetahui bahwa reply message yang didapatkan berasal dari server yang dikirim melalui jaringan.



    Gambar~2.2: Ilustrasi implementasi RMI

    Komponen2 dalam RMI (gambar 2.2):
     Object A (client) : meminta layanan
     Object B (server) : menghantarkan layanan
     Proxy for B
    - Ketika object A mempunyai remote reference ke object B, maka akan timbul objek Proxy B pada
       hostobject A. Proxy terbuat ketika remote object reference digunakan pertama kali
    - Proxy adalah perwakilan objek yang berada pada remote, dengan kata lain ketika terjadi invokasi dari A
       ke  B ditangani seolah - olah hanya mengakses Proxy B.
    - Ketika invokasi terjadi proxy menggunakan metode marshals untuk membungkus pesan yang akan dikirim
       ke server. Dan setelah menerima hasil dari server proxy menggunakan metode unmarshal (membuka
       bungkus) untuk kemudian diteruskan ke client (Object A)
     Skeleton for object B
    - Pada sisi server, terdapat object kerangka (skeleton) yang berhubungan ke class, kalau object pada class
       tersebut dapat diakses oleh
    RMI.
    - Skeletonmenerima pesan kemudianmelakukan unmarshal danmeneruskan ke method object yang dituju.
       Dan kemudianmenunggu hasil dari object B dan kemudian membungkus hasil (unmarshal) dan kemudian
       dikirimkan ke client (Objec A).
    - Ada bagian dari skeleton B yang disebut dengan dispatcher. dispatcher menerima request dari
      communication module, dan kemudian mengidentifikasi invokasi dan mengarahkan permintaan ke
      corresponding method ( method pada skeleton yang berfungsi untuk berkomunikasi dengan object).
     Communication Modul (Modul Komunikasi)
    -Communication modul pada client atau server bertanggung jawab dalam pertukaran pesan yang dilakukan melalui metode request dan reply.
     Remote Reference Module
    - Bagian ini bertugas untuk menterjemahkan antara referensi objek lokal dan remote. Proses berkomunikasi antara mereka disimpan dalam remote object table. Yang mengenerate class untuk proxy dan skeleton adalah middleware. contoh : CORBA, Java RMI
    Object A dan object B dipunyai oleh aplikasi (berada pada Application Layer) Remote Reference Modul dan Communication modul dimiliki oleh middleware. Proxy B dan Sekeleton B berada antara middleware dan aplikasi yang di generate oleh middleware. Langkah2 proses dengan RMI :
    Urutan pemanggilan pada object client mengaktifkan method pada
    proxy yang akan berhubungan dengan invoked method (method yang ter-invokasi) pada object B.
     Kemudian method yang ada pada proxy melakukan pembungkusan argumen
    menjadi suatu pesan (marshalling) dan meneruskan ke modul
    komunikasi.
     Berdasarkan pada remote reference yang didapat dari remote reference
    modul,modul komunikasi memulai request dan reply protocol melalui network.
     Modul komunikasi pada servermenerima request dari client. Kemudian
    berdasarkan referensi lokal yang diterima dari remote reference modul maka akan mengaktifkan method untuk berkomunikasi dengan object pada skeleton B (corresponding method).
     Method pada skeletonmeng-ekstrak (unmarshalling) argumen pada pesan
    yang di terima dan mengaktifkan corresponding method (method yang berfungsi untuk melakukan komunikasi) pada object B (server).
     Setelah menerima hasil dari object B, method dari skeleton akan membungkus
    hasil tersebut dalamsebuah pesan (marshalling) danmeneruskan pesan yang sudah dibungkus ke modul komunikasi.
     Modul komunikasimengrimkan pesan tersebut ke clientmelalui jaringan.
     Modul komunikasi pada client menerima hasil (reply) dari server dan
    meneruskan ke corresponding method pada proxy.


     Kemudian proxy meng-ektrak hasil (unmarshalling) dan meneruskan
    ke object A (client).
    Contoh RMI dengan menggunakan Java RMI :
    Server object akan mencetak ”Hello Ruddy” ke layar & mengembalikan
    pesan ke klien
    Pada sisi server :
     Server Method
    import java.rmi.*;
    public interface SimpleInterface extends Remote {
    String printMessage(String name) throws RemoteException;
    }
     Server Object
    import java.rmi.*;
    import java.rmi.server.*;
    public class SimpleServer extends UnicastRemoteObject implements SimpleInterfac
    public SimpleServer() throws RemoteException { super(); }
    public String printMessage(String name) throws RemoteException {
    System.out.println(name);
    return(Hello + name);
    }
    public static void main(String args[]) {
    System.setSecurityManager(new RMISecurityManager());
    try {
    SimpleServer newServer = new SimpleServer();
    System.out.println(SimpleServer attempting to
    bind to the registry);
    Naming.rebind(//ruddy.info:30010/SimpleServer,
    newServer);
    System.out.println(SimpleServer bound in the registry);
    } catch(Exception e) {


    System.out.println(SimpleServer error: + e.getMessage());
    e.printStackTrace();
    }}
    }
    Pada sisi client :
    import java.rmi.*;
    public class SimpleClient {
    private static SImpleInterface server = null;
    public static void main(String args[]) {
    try {
    server = (SimpleInterface)
    Naming.lookup(//ruddy.info:30010/SimpleServer);
    System.out.println(server.printMessage(Ruddy));
    } catch(Exception e) {
    System.out.println(SimpleClient error: + e.getMessage());
    e.printStackTrace();
    }}
    }


    2.3.2 RPC (Remote Procedure Call)
     
         Proses nya kurang lebih sama dengan RMI. Kalau RMI kita mengenal Proxy
    dan Skeleton, pada RPC dikenal dengan Stub (Client Stub dan Server Stub).



    Gambar~2.3: Ilustrasi implementasi RPC

    RemoteReferenceModul dan CommunicationModul berada pada tatanan sistem operasi.

    11 Maret 2014

    Model Sistem Terdistribusi

    Sistem Terdistribusi adalah sebuah sistem yang komponennya berada pada jaringan komputer. komponen tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan pengiriman pesan (message passing).
    contoh : Internet dan Intranet.
    Selanjutnya saya akan membahas mengenai karakteristik sistem terdistribusi.

    Karakteristik Sistem Terdistribusi 

    Dalam system terdistribusi terdapat beberapa karakteristik yaitu : 


    1. No global clock 
    - Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena        asynchronous message passing 
    - Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini  (disebabkan oleh concurrency dan message passing)

    2. Independent failure 
    - Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui 
    - Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan 

    3. Concurrency of components 
    - E.g. Beberapa pemakai browser mengakses suatu halaman web secara bersamaan. 
    - Bagaimana jika ada operasi update? 


    Referensi:
    Adang Suhendra, Kuliah Sistem Terdistribusi 1 & 2

    Budi Susanto, Pengantar Sistem Terdistribusi

    Willy Sudiarto Raharjo, Pengantar Sistem Terdistribusi