Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.
Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.
ImplementasiKomputasi: Fisika, Kimia, Matematika, Ekonomi, Geologi, Geografi
Pada bidang fisika
Penerapan komputer dalam bidang ilmu fisika banyak terlihat pada pemecahan masalah-masalah analitik yang kompleks dan pekerjaan-pekerjaan numerikal untuk menyelesaikan secara interaktif. Disiplin dan ilmu Fisika Komputasi yang menggabungkan ilmu fisika, analisis numerik, dan pemrogaman komputer, telah memudahkan peneliti dalam mengolah data-data eksperimen yang besar dan tidak linier. Dalam Fisika Komputasi eksprimen simulasi, model matematis yang non-linear, dan nonsimetri dapat diselesaikan melalui bantuan metode numerik dalam bentuk program komputer.
Pada bidang kimia
Kimia komputasi adalah cabang kimia yang menggunakan hasil kimia teori yang diterjemahkan ke dalam program komputer untuk menghitung sifat-sifat molekul dan perubahannya maupun melakukan simulasi terhadap sistem-sistem besar (makromolekul seperti protein atau sistem banyak molekul seperti gas, cairan, padatan, dan kristal cair), dan menerapkan program tersebut pada sistem kimia nyata. Contoh sifat-sifat molekul yang dihitung antara lain struktur (yaitu letak atom-atom penyusunnya), energi dan selisih energi, muatan, momen dipol, kereaktifan, frekuensi getaran dan besaran spektroskopi lainnya. Simulasi terhadap makromolekul (seperti protein dan asam nukleat) dan sistem besar bisa mencakup kajian konformasi molekul dan perubahannya (mis. proses denaturasi protein), perubahan fase, serta peramalan sifat-sifat makroskopik (seperti kalor jenis) berdasarkan perilaku di tingkat atom dan molekul. Istilah kimia komputasi kadang-kadang digunakan juga untuk bidang-bidang tumpang-tindah antara ilmu komputer dan kimia.
Pada bidang matematika
Matematika Komputasi adalah matematika yang menggunakan komputasi khususnya dengan komputer untuk menyelesaikan permasalahan matematika. Matematika terus berkembang, mengingat kepentingannya di dalam matematika, kemudian komputasi memainkan peran yang semakin menguat, baik itu di ilmu pengetahuan, maupun di matematika.
Pada bidang Ekonomi
Mempelajarai 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.
Pada bidang Biologi
Merupakan penerapan berupa aplikasi dari teknologi informasi dan ilmu komputer terhadap bidang biologi molekuler.
Pada bidang Geografi
Komputasi awan didefinisikan sebagai sebuah model yang memungkinkan kenyamanan, akses on-demand terhadap kumpulan sumber daya komputasi (contohnya jaringan, server, media penyimpanan, aplikasi, dan layanan komputasi) yang konfigurasinya dapat dilakukan dengan cepat dan disertai sedikit usaha untuk mengelola dan berhubungan dengan penyedia layanannya.
Sumber : http://id.wikipedia.org/wiki/Teori_komputasi.
My Inspiration
Mentari Jaya Racing Team #34
Rabu, 26 Juni 2013
Paralell Computation
Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Maka diperlukan perangkat lunak pendukung yang disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.
Distributed Processing
Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.
Parallel distributed computing dapat dibentuk dari :
• Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
• PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
• MPI (Message-Passing Interface) programming GUI untuk parallel computers.
Architectural Parallel Computer
a. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining).
b. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali.
c. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda.
d. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.
Pengantar Thread Programming
Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang masuk didalam program secara bergantian dan akan kembali masuk atas nama pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data dalam register. Sistem operasi selalu menyimpan isi register saat program interrupted dan restores ketika memberikan program kontrol lagi.
Terdapat 2 buah teknik pada thread, yaitu :
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.
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.
Pengantar Massage Passing, OpenMP
Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel , pemrograman-berorientasi objek , dan komunikasi interprocess . Dalam model ini, proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
• Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.
• Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor.
• Proses berkomunikasi dengan mengirimkan pesan satu sama lain.
OpenMP 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.
PengantarPemrograman CUDA GPU
CUDA (Compute Unified Device Architecture) merupakan suatu framework dari bahasa pemrograman yang mendukung bahas C , dimana mampu berkomunikasi langsung dengan GPU dan sangat mudah bekerjasama untuk segala multi-threading parallel execution hampir diseluruh prosesor pada GPU. CUDA menggukan konsep nvcc sebagai ORM dalam object programmingnya. CUDA merupakan produk dari NVIDIA sebagai produsen graphic komputer ternama.
GPU (Graphics Processing Unit) merupakan prosesor yang didedikasikan untuk render cepat dalam pemrosesan polygon baik itu texturing dan shading. Terdiri atas banyak core namun masih menggunakan arsitektur yang sederhana, sehingga harganya relative murah dan di produksi secara masal untuk berbagai keperluan misalnya peneilitian/ilmuah.
Dalam permainan komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan). CUDA juga telah digunakan untuk mempercepat aplikasi non-grafis dalam biologi komputasi , kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.
Referensi
http://lenzoo.blogspot.com/2012/04/pengenalan-komputasi-paralel.html
http://seto.citravision.com
http://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Maka diperlukan perangkat lunak pendukung yang disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.
Distributed Processing
Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.
Parallel distributed computing dapat dibentuk dari :
• Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
• PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
• MPI (Message-Passing Interface) programming GUI untuk parallel computers.
Architectural Parallel Computer
a. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining).
b. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali.
c. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda.
d. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.
Pengantar Thread Programming
Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang masuk didalam program secara bergantian dan akan kembali masuk atas nama pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data dalam register. Sistem operasi selalu menyimpan isi register saat program interrupted dan restores ketika memberikan program kontrol lagi.
Terdapat 2 buah teknik pada thread, yaitu :
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.
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.
Pengantar Massage Passing, OpenMP
Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel , pemrograman-berorientasi objek , dan komunikasi interprocess . Dalam model ini, proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
• Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.
• Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor.
• Proses berkomunikasi dengan mengirimkan pesan satu sama lain.
OpenMP 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.
PengantarPemrograman CUDA GPU
CUDA (Compute Unified Device Architecture) merupakan suatu framework dari bahasa pemrograman yang mendukung bahas C , dimana mampu berkomunikasi langsung dengan GPU dan sangat mudah bekerjasama untuk segala multi-threading parallel execution hampir diseluruh prosesor pada GPU. CUDA menggukan konsep nvcc sebagai ORM dalam object programmingnya. CUDA merupakan produk dari NVIDIA sebagai produsen graphic komputer ternama.
GPU (Graphics Processing Unit) merupakan prosesor yang didedikasikan untuk render cepat dalam pemrosesan polygon baik itu texturing dan shading. Terdiri atas banyak core namun masih menggunakan arsitektur yang sederhana, sehingga harganya relative murah dan di produksi secara masal untuk berbagai keperluan misalnya peneilitian/ilmuah.
Dalam permainan komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan). CUDA juga telah digunakan untuk mempercepat aplikasi non-grafis dalam biologi komputasi , kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.
Referensi
http://lenzoo.blogspot.com/2012/04/pengenalan-komputasi-paralel.html
http://seto.citravision.com
http://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
Pengantar Quantum Computation
PENDAHULUAN
Komputasi kuantum adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat. Pengembangan komputer kuantum , jika praktis, akan menandai lompatan maju dalam kemampuan komputasi jauh lebih besar daripada yang dari sempoa ke modern superkomputer , dengan keuntungan kinerja di alam miliar kali lipat dan seterusnya. Komputer kuantum, mengikuti hukum fisika kuantum, akan memperoleh kekuatan pengolahan yang besar melalui kemampuan untuk berada di beberapa negara, dan untuk melakukan tugas-tugas menggunakan semua kemungkinan permutasi secara bersamaan. kini pusat penelitian di komputasi kuantum termasuk MIT, IBM, Oxford University, dan Los Alamos National Laboratory.
Unsur-unsur penting dari komputasi kuantum berasal dengan Paul Benioff, bekerja di Argonne National Labs, pada tahun 1981. Dia berteori sebuah operasi komputer klasik dengan beberapa prinsip kuantum mekanik. Tapi secara umum diterima bahwa David Deutsch dari Universitas Oxford memberikan dorongan penting untuk penelitian komputasi kuantum. Pada tahun 1984, ia berada di sebuah konferensi teori komputasi dan mulai bertanya-tanya tentang kemungkinan merancang sebuah komputer yang didasarkan hanya pada aturan kuantum, kemudian diterbitkan kertas terobosan beberapa bulan kemudian. Dengan ini, lomba mulai mengeksploitasi ide-idenya. Namun, sebelum kita menggali ke dalam apa yang dia mulai, itu bermanfaat untuk melihat pada latar belakang dunia kuantum.
ENTANGLEMENT
Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka.
Entanglement adalah esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik,” demikian Andrew Berkley, salah satu peneliti. Temuan terbaru ini mendekatkan jalan menuju komputer kuantum dan mengindikasikan bahwa persimpangan Josephson pada akhirnya dapat digunakan untuk membangun komputer supercanggih.
PENGOPERASIAN DATA QUBIT
Ilmu informasi quantum dimulai dengan menggeneralisir sumberdaya fundamental informasi klasik—bit—menjadi bit quantum, atau qubit. Sebagaimana bit merupakan objek ideal yang diabstraksi dari prinsip-prinsip fisika klasik, qubit adalah objek quantum ideal yang diabstraksi dari prinsip-prinsip mekanika quantum. Bit bisa direpresentasikan dengan kawasan-magnetik pada cakram, voltase pada sirkuit, atau tanda grafit yang dibuat pensil pada kertas. Pemfungsian status-status fisikal klasik ini sebagai bit tidak bergantung pada detil bagaimana mereka direalisasikan. Demikian halnya, atribut-atribut qubit adalah independen dari representasi fisikal spesifik sebagai pusingan nukleus atom atau, katakanlah, polarisasi photon cahaya.
Bit digambarkan oleh statusnya, 0 atau 1. Begitu pula, qubit digambarkan oleh status quantumnya. Dua status quantum potensial untuk qubit ekuivalen dengan 0 dan 1 bit klasik. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial lain, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam. Status-status qubit yang diperkenankan persisnya merupakan semua status yang harus bisa dicapai, secara prinsip, oleh bit klasik yang ditransplantasikan ke dalam dunia quantum. Status-status qubit ekuivalen dengan titik-titik di permukaan bola, di mana 0 dan 1 sebagai kutub selatan dan utara [lihat boks di bawah]. Kontinum status antara 0 dan 1 membantu perkembangan banyak atribut luar biasa informasi quantum.
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.
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.
Sumber:
http://sainstory.wordpress.com/2012/08/11/aturan-sederhana-untuk-dunia-quantum-yang-kompleks/
http://www.fisikanet.lipi.go.id/utama.cgi?artikel&1170379173
http://nangalitmajakarta.wordpress.com/teknologi-informasi/
http://ery-prima.blogspot.com/2012/05/komputasi-kuantum.html
Komputasi kuantum adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat. Pengembangan komputer kuantum , jika praktis, akan menandai lompatan maju dalam kemampuan komputasi jauh lebih besar daripada yang dari sempoa ke modern superkomputer , dengan keuntungan kinerja di alam miliar kali lipat dan seterusnya. Komputer kuantum, mengikuti hukum fisika kuantum, akan memperoleh kekuatan pengolahan yang besar melalui kemampuan untuk berada di beberapa negara, dan untuk melakukan tugas-tugas menggunakan semua kemungkinan permutasi secara bersamaan. kini pusat penelitian di komputasi kuantum termasuk MIT, IBM, Oxford University, dan Los Alamos National Laboratory.
Unsur-unsur penting dari komputasi kuantum berasal dengan Paul Benioff, bekerja di Argonne National Labs, pada tahun 1981. Dia berteori sebuah operasi komputer klasik dengan beberapa prinsip kuantum mekanik. Tapi secara umum diterima bahwa David Deutsch dari Universitas Oxford memberikan dorongan penting untuk penelitian komputasi kuantum. Pada tahun 1984, ia berada di sebuah konferensi teori komputasi dan mulai bertanya-tanya tentang kemungkinan merancang sebuah komputer yang didasarkan hanya pada aturan kuantum, kemudian diterbitkan kertas terobosan beberapa bulan kemudian. Dengan ini, lomba mulai mengeksploitasi ide-idenya. Namun, sebelum kita menggali ke dalam apa yang dia mulai, itu bermanfaat untuk melihat pada latar belakang dunia kuantum.
ENTANGLEMENT
Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka.
Entanglement adalah esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik,” demikian Andrew Berkley, salah satu peneliti. Temuan terbaru ini mendekatkan jalan menuju komputer kuantum dan mengindikasikan bahwa persimpangan Josephson pada akhirnya dapat digunakan untuk membangun komputer supercanggih.
PENGOPERASIAN DATA QUBIT
Ilmu informasi quantum dimulai dengan menggeneralisir sumberdaya fundamental informasi klasik—bit—menjadi bit quantum, atau qubit. Sebagaimana bit merupakan objek ideal yang diabstraksi dari prinsip-prinsip fisika klasik, qubit adalah objek quantum ideal yang diabstraksi dari prinsip-prinsip mekanika quantum. Bit bisa direpresentasikan dengan kawasan-magnetik pada cakram, voltase pada sirkuit, atau tanda grafit yang dibuat pensil pada kertas. Pemfungsian status-status fisikal klasik ini sebagai bit tidak bergantung pada detil bagaimana mereka direalisasikan. Demikian halnya, atribut-atribut qubit adalah independen dari representasi fisikal spesifik sebagai pusingan nukleus atom atau, katakanlah, polarisasi photon cahaya.
Bit digambarkan oleh statusnya, 0 atau 1. Begitu pula, qubit digambarkan oleh status quantumnya. Dua status quantum potensial untuk qubit ekuivalen dengan 0 dan 1 bit klasik. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial lain, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam. Status-status qubit yang diperkenankan persisnya merupakan semua status yang harus bisa dicapai, secara prinsip, oleh bit klasik yang ditransplantasikan ke dalam dunia quantum. Status-status qubit ekuivalen dengan titik-titik di permukaan bola, di mana 0 dan 1 sebagai kutub selatan dan utara [lihat boks di bawah]. Kontinum status antara 0 dan 1 membantu perkembangan banyak atribut luar biasa informasi quantum.
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.
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.
Sumber:
http://sainstory.wordpress.com/2012/08/11/aturan-sederhana-untuk-dunia-quantum-yang-kompleks/
http://www.fisikanet.lipi.go.id/utama.cgi?artikel&1170379173
http://nangalitmajakarta.wordpress.com/teknologi-informasi/
http://ery-prima.blogspot.com/2012/05/komputasi-kuantum.html
Rabu, 24 April 2013
Pengantar Komputasi Cloud
1. Pengantar Komputasi Cloud
Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatupenjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.
Kelebihan
Yang paling menonjol dari komputasi awan adalah kemudahan akses. Untuk mengerjakan suatu pekerjaan kita tidak mesti berada dihadapan satu komputer yang sama. Misal, sobat diberi tugas oleh atasan untuk membuat sebuah bahan presentasi dengan format aplikasi power point, karena pada komputer sobat tidak ada aplikasi power point-nya maka sobat bisa membuatnya di Google docs ataupun di Skydrive-nya Windows Live. Cukup koneksi ke internet login ke akun google atau windows live sobat, maka sobatpun sudah bisa membuat bahan presentasi secara online.
Fleksibilitas, seperti contoh diatas, bahan presentasi yang kita buat tidak perlu kita simpan di hardisk yang akan memakan ruang space atau mungkin dimasukan ke flashdisk. Dimanapun sobat berada atau kemanapun sobat bepergian file-file tersebut bisa dibuka dimana saja selama ada koneksi internet. Andaikata sobat akan pergi ke perusahaan cabang sobat, sobat tidak perlu lagi repot-repot membawa laptop ke cabang perusahaan sobat, karena semua file-file tersimpat diawan.
Penghematan adalah kelebihan lain dari komputasi awan, khususnya bagi perusahaan-perusahaan besar. Dengan adanya sistem komputasi awan memungkinkan perusahaan untuk mengurangi infrastruktur komputer yang memerlukan biaya pengadaan dan perawatan cukup besar, hal ini juga berarti staf IT yang diperlukan tidak terlalu banyak, dan staf IT yang ada tidak terlalu berurusan dengan update, konfigurasi dan hal-hal lain yang berkaitan dengan komputasi. Dengan adanya komputasi awan, kita juga tidak dihadapkan dengan beban biaya untuk membayar lisensi atas software-software yang kita instal dan kita gunakan, karena semua software sudah bisa digunakan melalui komputasi awan.
Kekurangan
Hal yang paling wajib dalam komputasi awan adalah koneksi internet, internet bisa dibilang jalan satu-satunya jalan menuju komputasi awan, ketika tidak ada koneksi internet ditempat kita berada maka jangan harap bisa menggunakan sistem komputasi awan. Hal ini masih menjadi hambatan khsusnya bagi Indonesia, karena belum semua wilayah di tanah air terjangkau oleh akses internet, ditambah lagi sekalipun ada koneksinya belum stabil dan kurang memadai.
Dengan menggunakan sistem komputasi awan berarti kita mempercayakan sepenuhnya atas keamanan dan kerahasiaan data-data kepada perusahaan penyedia server komputasi awan. Contoh paling sederhana adalah ketika sobat menyimpan foto-foto sobat di facebook dengan beberapa konfigurasi privasi yang diberikan kepada kita, maka selebihnya kita mempercayakan keamanan file-file tersebut kepada facebook. Andaikata foto-foto tersebut hilang kita tidak bisa menuntut karena kita memanfaatkan jasa trsebut secara cuma-cuma alias gratis. Saat ini sudah mulai banyak perusahaan-perusahaan penyedia sewa hosting (server) penyimpanan file semisal 4shared, Indowebster, Ziddu, dan lain-lain, ada yang gratis dan juga yang berbayar.
Kualitas server komputasi awan adalah salah satu pertimbangan terpenting sebelum kita memutuskan untuk menyediakan jasa penyedia server komputasi awan. Bukan tidak mungkin kita akan dirugikan ketik server tempat dimana kita menyimpan file atau akses program sewaktu-waktu akan down atau berperforma buruk, alih-alih kita semakin dimudahkan dengan komputasi awan justru kita malah dirugikan karena kualitas server yang buruk.
2. Pengantar Komputasi Grid
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Latar Belakang
Perkembangan kecepatan prosesor berkembang sesuai dengan Hukum Moore, meskipun demikian bandwith jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada.
Pesatnya perkembangan teknologi komputer di negara-negara maju, membuat para penelitinya semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki supercomputer dengan kapasitas yang sangat tinggi , apa yang sudah ada ini pun dirasa tetap kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yg dimiliki seorang "peneliti haus tenaga komputasi" dipergunakan habis-habisan untuk memecahkan masalahnya, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tapi tetap masalahnya belum bisa dipecahkan juga, apa yang harus dia lakukan? Komputasi grid adalah salah satu jawaban dari pertanyaan ini.
3. Virtualisasi
Dalam ilmu komputer, virtualisasi (bahasa Inggris: virtualization) adalah istilah umum yang mengacu kepada abstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasiatau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal."
Istilah virtualisasi sudah digunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada beberapa aspek computer dari keseluruhan sistem komputer sampai sebuah kemampuan atau komponen individu. Secara umum semua teknologi virtualisasi mengacu kepada "menyembunyikan detail teknis" melalui enkapsulasi.
4. Distribusi Komputasi dalam KomputasiCloud
Pada dasarnya dengan seiringnya maju teknologi maka kegiatan atau pekerjaan kita menjadi lebih mudah.komputasi terdistribusi sendiri memiliki artimempelajari penggunaan terkoordinasi dari komputer yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan softwere yang berbeda dengan sistem terpusatjadi, server data yang hadir dalam lautan awan, Anda dapat setiap saat Kapan, dan di mana saja untuk dengan aman dan nyaman untuk mengakses atau berbagi dengan orang lain. Cloud computing membuat Internet ke setiap pusat penyimpanan pusat data.
5. Map Reduce dan NoSQL ( Not Only SQL )
Map reduce adalah sebuah framework pemrograman untuk memproses data yang berukuran besar,biasanya digunakan untuk komputasi terdistribusi pada kumpulan komputer.
NoSQL (singkatan dari Not Only SQL) adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS(Relational Database Management System) ataupun ODBMS(Objecy Oriented Database Management System). Perbedaan utamanya karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya dapatmenggunakan query 'Join’ di sini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.
Selain itu di dalam konsep DBMS biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang. Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.
6. NoSQL Database
Istilah NoSql pertama kali digunakan pada tahun 1998 sebagai nama untuk open source database yang ringan tidak mengekspos antarmuka SQL. Penulisnya, Carlo Strozzi, mengklaim bahwa sebagai gerakan NoSql “ berangkat dari model relasional yang lebih tepat disebut NoREL atau sesuatu yang berpengaruh. Istilah ini diperkenalkan kembali pada awal 2009 oleh karyawan Rackspace, Eric Evans, ketika Johan Oskarsson dari Last.fm ingin mengorganisir sebuah acara untuk membahas open source database terdistribusi .
Sumber :
1. http://id.wikipedia.org/wiki/Komputasi_awan
2. http://id.wikipedia.org/wiki/Komputasi_grid
3. http://id.wikipedia.org/wiki/Virtualisasi
4. http://en.wikipedia.org/wiki/MapReduce
5. https://en.wikipedia.org/wiki/NoSQL
Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatupenjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.
Kelebihan
Yang paling menonjol dari komputasi awan adalah kemudahan akses. Untuk mengerjakan suatu pekerjaan kita tidak mesti berada dihadapan satu komputer yang sama. Misal, sobat diberi tugas oleh atasan untuk membuat sebuah bahan presentasi dengan format aplikasi power point, karena pada komputer sobat tidak ada aplikasi power point-nya maka sobat bisa membuatnya di Google docs ataupun di Skydrive-nya Windows Live. Cukup koneksi ke internet login ke akun google atau windows live sobat, maka sobatpun sudah bisa membuat bahan presentasi secara online.
Fleksibilitas, seperti contoh diatas, bahan presentasi yang kita buat tidak perlu kita simpan di hardisk yang akan memakan ruang space atau mungkin dimasukan ke flashdisk. Dimanapun sobat berada atau kemanapun sobat bepergian file-file tersebut bisa dibuka dimana saja selama ada koneksi internet. Andaikata sobat akan pergi ke perusahaan cabang sobat, sobat tidak perlu lagi repot-repot membawa laptop ke cabang perusahaan sobat, karena semua file-file tersimpat diawan.
Penghematan adalah kelebihan lain dari komputasi awan, khususnya bagi perusahaan-perusahaan besar. Dengan adanya sistem komputasi awan memungkinkan perusahaan untuk mengurangi infrastruktur komputer yang memerlukan biaya pengadaan dan perawatan cukup besar, hal ini juga berarti staf IT yang diperlukan tidak terlalu banyak, dan staf IT yang ada tidak terlalu berurusan dengan update, konfigurasi dan hal-hal lain yang berkaitan dengan komputasi. Dengan adanya komputasi awan, kita juga tidak dihadapkan dengan beban biaya untuk membayar lisensi atas software-software yang kita instal dan kita gunakan, karena semua software sudah bisa digunakan melalui komputasi awan.
Kekurangan
Hal yang paling wajib dalam komputasi awan adalah koneksi internet, internet bisa dibilang jalan satu-satunya jalan menuju komputasi awan, ketika tidak ada koneksi internet ditempat kita berada maka jangan harap bisa menggunakan sistem komputasi awan. Hal ini masih menjadi hambatan khsusnya bagi Indonesia, karena belum semua wilayah di tanah air terjangkau oleh akses internet, ditambah lagi sekalipun ada koneksinya belum stabil dan kurang memadai.
Dengan menggunakan sistem komputasi awan berarti kita mempercayakan sepenuhnya atas keamanan dan kerahasiaan data-data kepada perusahaan penyedia server komputasi awan. Contoh paling sederhana adalah ketika sobat menyimpan foto-foto sobat di facebook dengan beberapa konfigurasi privasi yang diberikan kepada kita, maka selebihnya kita mempercayakan keamanan file-file tersebut kepada facebook. Andaikata foto-foto tersebut hilang kita tidak bisa menuntut karena kita memanfaatkan jasa trsebut secara cuma-cuma alias gratis. Saat ini sudah mulai banyak perusahaan-perusahaan penyedia sewa hosting (server) penyimpanan file semisal 4shared, Indowebster, Ziddu, dan lain-lain, ada yang gratis dan juga yang berbayar.
Kualitas server komputasi awan adalah salah satu pertimbangan terpenting sebelum kita memutuskan untuk menyediakan jasa penyedia server komputasi awan. Bukan tidak mungkin kita akan dirugikan ketik server tempat dimana kita menyimpan file atau akses program sewaktu-waktu akan down atau berperforma buruk, alih-alih kita semakin dimudahkan dengan komputasi awan justru kita malah dirugikan karena kualitas server yang buruk.
2. Pengantar Komputasi Grid
Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Latar Belakang
Perkembangan kecepatan prosesor berkembang sesuai dengan Hukum Moore, meskipun demikian bandwith jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada.
Pesatnya perkembangan teknologi komputer di negara-negara maju, membuat para penelitinya semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki supercomputer dengan kapasitas yang sangat tinggi , apa yang sudah ada ini pun dirasa tetap kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yg dimiliki seorang "peneliti haus tenaga komputasi" dipergunakan habis-habisan untuk memecahkan masalahnya, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tapi tetap masalahnya belum bisa dipecahkan juga, apa yang harus dia lakukan? Komputasi grid adalah salah satu jawaban dari pertanyaan ini.
3. Virtualisasi
Dalam ilmu komputer, virtualisasi (bahasa Inggris: virtualization) adalah istilah umum yang mengacu kepada abstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasiatau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal."
Istilah virtualisasi sudah digunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada beberapa aspek computer dari keseluruhan sistem komputer sampai sebuah kemampuan atau komponen individu. Secara umum semua teknologi virtualisasi mengacu kepada "menyembunyikan detail teknis" melalui enkapsulasi.
4. Distribusi Komputasi dalam KomputasiCloud
Pada dasarnya dengan seiringnya maju teknologi maka kegiatan atau pekerjaan kita menjadi lebih mudah.komputasi terdistribusi sendiri memiliki artimempelajari penggunaan terkoordinasi dari komputer yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan softwere yang berbeda dengan sistem terpusatjadi, server data yang hadir dalam lautan awan, Anda dapat setiap saat Kapan, dan di mana saja untuk dengan aman dan nyaman untuk mengakses atau berbagi dengan orang lain. Cloud computing membuat Internet ke setiap pusat penyimpanan pusat data.
5. Map Reduce dan NoSQL ( Not Only SQL )
Map reduce adalah sebuah framework pemrograman untuk memproses data yang berukuran besar,biasanya digunakan untuk komputasi terdistribusi pada kumpulan komputer.
NoSQL (singkatan dari Not Only SQL) adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS(Relational Database Management System) ataupun ODBMS(Objecy Oriented Database Management System). Perbedaan utamanya karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya dapatmenggunakan query 'Join’ di sini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.
Selain itu di dalam konsep DBMS biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang. Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.
6. NoSQL Database
Istilah NoSql pertama kali digunakan pada tahun 1998 sebagai nama untuk open source database yang ringan tidak mengekspos antarmuka SQL. Penulisnya, Carlo Strozzi, mengklaim bahwa sebagai gerakan NoSql “ berangkat dari model relasional yang lebih tepat disebut NoREL atau sesuatu yang berpengaruh. Istilah ini diperkenalkan kembali pada awal 2009 oleh karyawan Rackspace, Eric Evans, ketika Johan Oskarsson dari Last.fm ingin mengorganisir sebuah acara untuk membahas open source database terdistribusi .
Sumber :
1. http://id.wikipedia.org/wiki/Komputasi_awan
2. http://id.wikipedia.org/wiki/Komputasi_grid
3. http://id.wikipedia.org/wiki/Virtualisasi
4. http://en.wikipedia.org/wiki/MapReduce
5. https://en.wikipedia.org/wiki/NoSQL
Kamis, 18 Oktober 2012
Teori Bisnis Informatika
Secara umum bisnis dalam ilmu ekonomi adalah suatu organisasi yang menjual barang
atau jasa kepada konsumen atau bisnis lainnya, untuk mendapatkan laba atau keuntungan.
Secara historis kata bisnis dari bahasa inggris disebut business, dari kata
dasar busy yang berarti "sibuk" dalam konteks secara individu, komunitas,
ataupun masyarakat. Dalam artian, sibuk dalam mengerjakan suatu aktivitas dan
pekerjaan yang mendatangkan keuntungan.
Kata "bisnis" sendiri memiliki tiga penggunaan, tergantung skupnya — penggunaan singular kata bisnis dapat merujuk pada badan usaha, yaitu kesatuan yuridis (hukum), teknis, dan ekonomis yang bertujuan mencari laba atau keuntungan. Penggunaan yang lebih luas dapat merujuk pada sektor pasar tertentu, misalnya "bisnis pertelevisian." Penggunaan yang paling luas merujuk pada seluruh aktivitas yang dilakukan oleh komunitas penyedia barang dan jasa.
Kata "bisnis" sendiri memiliki tiga penggunaan, tergantung skupnya — penggunaan singular kata bisnis dapat merujuk pada badan usaha, yaitu kesatuan yuridis (hukum), teknis, dan ekonomis yang bertujuan mencari laba atau keuntungan. Penggunaan yang lebih luas dapat merujuk pada sektor pasar tertentu, misalnya "bisnis pertelevisian." Penggunaan yang paling luas merujuk pada seluruh aktivitas yang dilakukan oleh komunitas penyedia barang dan jasa.
Pengantar
Bisnis Informatika memiliki dua arti yang saling berbeda. Dalam
pengertian yang sederhana bisnis informatika adalah suatu kegiatan yang
dilakukan individu atau sekelompok orang yang memiliki nilai (value) dengan
tujuan mendapatkan keuntungan (profit) yang dilakukan dengan bantuan teknologi
informasi. Yang dimaksud teknologi informasi disini mencakup semua hal yang berkaitan
dengan teknologi informasi, seperti internet.
Contoh Bisnis Informatika di antara lain seperti E-Commerce,
jasa warnet, dan infotaiment online. Banyak bisnis informatika yang
sudah sukses seperti kaskus, TokoBagus.
Kaskus dan TokoBagus merupakan Bisnis Informatika yang telah sukses di
Indonesia dan di kenal hingga belahan dunia. TokoBagus bebisnis dalam soal jual
beli barang, sedangkan kaskus lebih luas, di dalamnya terdapat forum,
penjelasan mengenai game jual beli dan lain-lain.
Klasifikasi
Bisnis terdiri dari berbagai macam tipe, dan, sebagai akibatnya, bisnis dapat dikelompokkan dengan cara yang berbeda-beda. Satu dari banyak cara yang dapat digunakan adalah dengan mengelompokkan bisnis berdasarkan aktivitas yang dilakukannya dalam menghasilkan keuntungan. Manufaktur, adalah bisnis yang memproduksi produk yang berasal dari barang mentah atau komponen-komponen, kemudian dijual untuk mendapatkan keuntungan. Contoh manufaktur adalah perusahaan yang memproduksi barang fisik seperti mobil atau pipa.
Bisnis jasa, adalah bisnis yang menghasilkan barang intangible, dan mendapatkan keuntungan dengan cara meminta bayaran atas jasa yang mereka berikan. Contoh bisnis jasa adalah konsultan dan psikolog.Pengecer dan distributor, adalah pihak yang berperan sebagai perantara barang antara produsen dengan konsumen. Kebanyakan toko dan perusahaan yang berorientasi-konsumen adalah distributor atau pengecer. Bisnis pertanian dan pertambangan, adalah bisnis yang memproduksi barang-barang mentah, seperti tanaman atau mineral tambang. Bisnis finansial, adalah bisnis yang mendapatkan keuntungan dari investasi dan pengelolaan modal. Bisnis informasi, adalah bisnis menghasilkan keuntungan terutama dari pejualan-kembali properti intelektual (intelellectual property). Utilitas,adalah bisnis yang mengoperasikan jasa untuk publik, seperti listrik dan air, dan biasanya didanai oleh pemerintah. Bisnis real estate, adalah bisnis yang menghasilkan keuntungan dengan cara menjual, menyewakan, dan mengembangkan properti, rumah, dan bangunan.
sumber : http://wartawarga.gunadarma.ac.id/2011/11/pengertian-bisnis-3/
http://id.wikipedia.org/wiki/Bisnis
Bisnis terdiri dari berbagai macam tipe, dan, sebagai akibatnya, bisnis dapat dikelompokkan dengan cara yang berbeda-beda. Satu dari banyak cara yang dapat digunakan adalah dengan mengelompokkan bisnis berdasarkan aktivitas yang dilakukannya dalam menghasilkan keuntungan. Manufaktur, adalah bisnis yang memproduksi produk yang berasal dari barang mentah atau komponen-komponen, kemudian dijual untuk mendapatkan keuntungan. Contoh manufaktur adalah perusahaan yang memproduksi barang fisik seperti mobil atau pipa.
Bisnis jasa, adalah bisnis yang menghasilkan barang intangible, dan mendapatkan keuntungan dengan cara meminta bayaran atas jasa yang mereka berikan. Contoh bisnis jasa adalah konsultan dan psikolog.Pengecer dan distributor, adalah pihak yang berperan sebagai perantara barang antara produsen dengan konsumen. Kebanyakan toko dan perusahaan yang berorientasi-konsumen adalah distributor atau pengecer. Bisnis pertanian dan pertambangan, adalah bisnis yang memproduksi barang-barang mentah, seperti tanaman atau mineral tambang. Bisnis finansial, adalah bisnis yang mendapatkan keuntungan dari investasi dan pengelolaan modal. Bisnis informasi, adalah bisnis menghasilkan keuntungan terutama dari pejualan-kembali properti intelektual (intelellectual property). Utilitas,adalah bisnis yang mengoperasikan jasa untuk publik, seperti listrik dan air, dan biasanya didanai oleh pemerintah. Bisnis real estate, adalah bisnis yang menghasilkan keuntungan dengan cara menjual, menyewakan, dan mengembangkan properti, rumah, dan bangunan.
sumber : http://wartawarga.gunadarma.ac.id/2011/11/pengertian-bisnis-3/
http://id.wikipedia.org/wiki/Bisnis
Kamis, 19 Juli 2012
Sinopsis Game "Point Blank Indonesia" by Zepetto
Point blank di Indonesia menjadi salah satu game online gemscool paling favorit tentunya tau bagaimana Point blank indonesia game ini MENJADI salah satu yang terkeren di situs www.gemscool.com. Point blank merupakan sebuah game online multiplayer 3 Dimensi yang bergenre FPS yang bisa kamu mainkan secara online di komputer ataupun di warnet.
Point Blank indonesia
Seperti kisah sebelumnya Point Blank Online atau yang disingkat PB dibikin oleh zepetto korsel dan dipubklikasikan oleh NCSOft fames. Selain di indonesia, permainan poin blank ini juga mempunyai server di beberapa negara seperti rusia, brasil, turki,thailand, usa dan peru. Untuk di indonesia games ini dikelola oleh pt kreon indonesia.
Sinopsis Point Blank Indonesia
Gemscool Point blank menceritakan tentang fenomena imigran yang susah mendapatkan pekerjaan dan makin banyaknya orang yang terusir dari masyarakat. Sebagian imigran kemudian melakukan tidakan kriminal untUk bisa mempertahankan hidupnya. Untuk mengatasi kekacauan yang bisa mengakibatkan kefatalan maka pemerintah kemudian membentuk suatu team khusus yang disebut counter terorist untuk menghadapi ormas masyarakat yang didalam games point blank indonesia yang disebut free rebles.
Sekilas point blank game ini mirip dengan game counter strike meski berbeda dengan gemscool lost saga, tetapi gemscool point blank lebih menarik dan menghadirkan sebuah permainan online multiplayer yang lebih bervariasi meliputi meliputi Death Match, Site Explosion, dan Destruction Mission.
Point Blank Indonesia
Point blank map indonesia
Dengan beberapa arena berperang dengan total 19 peta , maka akan membuat player lebih asyik dan bisa memainankan strategi untuk memenangkan sebuah pertarungan ataupun strategi untuk bertahan. Gemscool sendiri menambah peta secara upddates untuk membuat point blank game jadi lebih asyik.
Pb point blank ini, gamer dapat memilih untuk bermain sebagai kelompok Counter Terorist ataupun Terorist dengan berbagai macam penggunaan senjata yang bisa dipilih seperti snipper games dsb. Tiap kelompok dalam gemscool point blank akan memiliki 4 karakter yang dapat dipilih, dengan 2 karakter adalah laki-laki dan 2 karakter lagi adalah wanita. Untuk kelompok Counter Terrorist terdiri dari Leopard, Acid Pool, Keen Eyes, Hide Kemudian pada kelompok Terrorist dalam permainan gemscool PB terdiri dari D-Fox, Red Bulls, Taranrula, dan Viper Red.
Point Blank GAME
Situs : www.gemscool.com
forum gemscool : forum.gemscool.com
Publisher : PT.KREON (indonesia)
Developer : Zepetto
Genre : FPS Online
Platform : PC
Point Blank indonesia
Seperti kisah sebelumnya Point Blank Online atau yang disingkat PB dibikin oleh zepetto korsel dan dipubklikasikan oleh NCSOft fames. Selain di indonesia, permainan poin blank ini juga mempunyai server di beberapa negara seperti rusia, brasil, turki,thailand, usa dan peru. Untuk di indonesia games ini dikelola oleh pt kreon indonesia.
Sinopsis Point Blank Indonesia
Gemscool Point blank menceritakan tentang fenomena imigran yang susah mendapatkan pekerjaan dan makin banyaknya orang yang terusir dari masyarakat. Sebagian imigran kemudian melakukan tidakan kriminal untUk bisa mempertahankan hidupnya. Untuk mengatasi kekacauan yang bisa mengakibatkan kefatalan maka pemerintah kemudian membentuk suatu team khusus yang disebut counter terorist untuk menghadapi ormas masyarakat yang didalam games point blank indonesia yang disebut free rebles.
Sekilas point blank game ini mirip dengan game counter strike meski berbeda dengan gemscool lost saga, tetapi gemscool point blank lebih menarik dan menghadirkan sebuah permainan online multiplayer yang lebih bervariasi meliputi meliputi Death Match, Site Explosion, dan Destruction Mission.
Point Blank Indonesia
Point blank map indonesia
Dengan beberapa arena berperang dengan total 19 peta , maka akan membuat player lebih asyik dan bisa memainankan strategi untuk memenangkan sebuah pertarungan ataupun strategi untuk bertahan. Gemscool sendiri menambah peta secara upddates untuk membuat point blank game jadi lebih asyik.
Pb point blank ini, gamer dapat memilih untuk bermain sebagai kelompok Counter Terorist ataupun Terorist dengan berbagai macam penggunaan senjata yang bisa dipilih seperti snipper games dsb. Tiap kelompok dalam gemscool point blank akan memiliki 4 karakter yang dapat dipilih, dengan 2 karakter adalah laki-laki dan 2 karakter lagi adalah wanita. Untuk kelompok Counter Terrorist terdiri dari Leopard, Acid Pool, Keen Eyes, Hide Kemudian pada kelompok Terrorist dalam permainan gemscool PB terdiri dari D-Fox, Red Bulls, Taranrula, dan Viper Red.
Point Blank GAME
Situs : www.gemscool.com
forum gemscool : forum.gemscool.com
Publisher : PT.KREON (indonesia)
Developer : Zepetto
Genre : FPS Online
Platform : PC
Senin, 21 Mei 2012
ALGORITMA GAME MATCHESFISH PADA STRAWBERRY PROLOG
Berhubung pada mata kuliah PKB (Pengantar Kecerdasaan Buatan) saya membuat game sederhana matches, yang kemudian saya beri nama MATCHESFISH, maka kali ini saya akan membahas sedikit tentang algoritma game matchesfish tersebut dengan menggunakan strawberry prolog.
Konsep permainan yang diterapkan dalam permainan ini adalah, pemain atau lawan harus lebih dahulu mengambil ikan dan dalam pengambilan ikan tidak dibatasi, hanya saja jika kita ingin mengambil maksimal ikan tersebut bisa dilakukan dengan cara pengambilan di dalam kolom secara keseluruhan tergantung isi dari masing-masing kolom tersebut. Hal yang harus dilakukan adalah membuat lawan untuk tidak mendahului pemain sebelum pemain melakukan pengambilan pada ikan tersebut. Permainan selesai jika pengguna (user) kalah dan lawan (komputer) berhasil untuk tidak mengambil ikan yang paling akhir. serta pengguna (user) menang, jika berhasil untuk tidak mengambil ikan yang paling akhir. Pengguna (user) dapat memilih ikan yang telah di sediakan secara bebas dan lawan (komputer) juga bisa melakukan hal yang sama. Sehingga pengguna (user) dan lawan (komputer) dapat mengambil ikan secara bebas (kolom). Algoritma Permainan
Berikut ini adalah algoritma yang dipakai dalam permainan ini :
Memilih salah satu beberapa dari 24 ikan yang susunannya terdiri dari kiri ke kanan (urutan ikan 5,4,3,3,4,5) pada kondisi awal sebelum diubah. ikan yang telah di sediakan, pengguna (user) atau lawan (komputer) dapat memilih sesuai dengan yang di inginkan.
Dengan cara mengklik kiri pada mouse dan arahkan kursor kearah ikan yang ingin di ambil.
Jika pengguna (user) bermain sebagai pemain (player) pertama dan sudah memilih ikan yang di inginkan untuk di ambil, maka berikutnya lawan (komputer) yang memilih ikan yang di inginkan untuk diambil.
Jika ikan yang di sediakan telah habis maka akan dilihat siapa yang mengambil ikan yang paling akhir untuk menentukan menang atau tidaknya pengguna (user) ataaupun lawan (komputer) karena syarat ketentuan permainan ini ialah akan menang jika tidak mengambil ikan yang paling akhir dan akan kalah jika mengambil ikan yang paling akhir.
Jika pengguna (user) bermain cepat dalam pengambilan ikan maka lawan (komputer) akan menyamakan kecepatan seperti pengguna (user) dalam proses pengambilan ikan.
Jika lawan (komputer) memenangkan permainan ini maka keluar message "Sorry","kamu belum beruntung kawan Jika pengguna (user) yang memenangkan permainan ini maka akan keluar message "Selamat","kamu pemenang nya".
Permainan selesai bila 24 ikan telah habis baik diambil pengguna (user) ataupun lawan (komputer). Dan akan menampilkan message menang atau tidaknya dalam permainan ini.
Berikut adalah coding dari game matches :
?-
G_Comp_First=0,
G_Take_Last=0,
%G_Yellow is brush(rgb(255,200,0)),
%G_Red is brush(rgb(255,0,0)),
G_White is brush(rgb(127,220,228)),
G_bekgron is bitmap_image("image\\bg.bmp",_),
G_fish is bitmap_image("image\\fish.bmp",_),
font(8,17,"Haettenschweiler"),
Perintah di atas adalah untuk mengatur warna brush adalah putih keabu - abuan, background dengan nama wb dengan tipe image bmp, untuk menampilkan icon ikan, untuk menampilkan image tbd jika kondisi pemain menang dan untuk menampilkan image tbd jika kondisi pemain kalah .
pen(0,0),
set(pos([5,4,3,3,4,5])),
window_n( G_Main, _, win_func, "MatchesFish (Jangan Jadi Ikan Terakhir)", 100,100,650,360,_,_,rgb(255,255,255)),
message("Selamat Bermain","Ini Adalah Game MatchesFish",i).
perintah di atas untuk mengatur posisi icon ikan yaitu 8 bar dan mengatur posisi window dan warna window.
win_func(init) :-
menu( normal, _, _, menu_new(_), "&Mulai Game"),
menu( normal, _, _, menu_options(_), "&Pengaturan"),
menu( normal, _, _, menu_help(_), "&Bantuan"),
menu( normal, _, _, menu_about(_), "&About Me"),
menu( normal, _, _, menu_exit(_), "&Keluar").
perintah di atas untuk membuat menu mulai game, pengaturan, bantuan, about me, dan exit.
win_func(paint):-
draw_bitmap(0,0,G_bekgron,_,_),
pos(Pos),
el(Pos,El,N),
for(I,1,El),
perintah di atas digunakan untuk pembuatan object dan warna
X is 50+100*N,
Y is 290- 40*I,
text_out(470, 10, "Sisa Waktu"),
draw_bitmap(X,Y,G_fish,_,_),
fail.
untuk mendeklarasikan jarak masing - masing item dan ada waktu limit bermain
win_func(mouse_click(X,Y)):-
X1 is (X- 50)//100,
Y1 is (280-Y)//40,
X1=<6,X>=40,
pos(Pos),
el(Pos,El,X1),
El>Y1,
replace(Pos2, Pos, Y1, X1),
brush(G_White),
rect(100*X1+40,0,100*X1+140,265- 30*Y1),
(Pos2=[0,0,0,0,0,0]->
set(pos(Pos2)),
end(0)
else
wait(0.5),
play(Pos3, Pos2),
(Pos3=[0,0,0,0,0,0]->
end(1)),
set(pos(Pos3))),
update_window(_).
win_func(mouse_click(X,Y)):-
beep.
untuk deklarasi area mouse click
play(Pos3, Pos2):-
G_Take_Last=0,
count_successes(not_trivial(Pos2))<2,
find_max(Pos2,Max,N),
New is (Max>1,count_successes(not_empty(Pos2)) mod 3=:=2 -> 1 else 0),
replace(Pos3, Pos2, New, N).
play(Pos3, Pos2):-
el(Pos2,A, N),
R:=0,
add_xor(R,Pos2,N),
R replace(Pos3, Pos2, R, N).
play(Pos3, Pos2):-
find_max(Pos2,Max,N),
Max2 is (Max>1, random(2)=:=0 ->
Max - 2
else
Max - 1),
replace(Pos3, Pos2, Max2, N).
not_empty(Pos):-
el(Pos,A, _),
A>0.
not_trivial(Pos):-
el(Pos,A, _),
A>1.
el([H|T],H,0).
el([H|T],El,N):-
el(T,El,N1),
N is N1+1.
replace([H|T],[_|T],H,0).
replace([H|T2],[H|T],El,N):-
replace(T2,T,El,N1),
N is N1+1.
find_max([H],H,0).
find_max([H|T],A, N) :-
find_max(T,A1,N1),
(A1
A is H,
N is 0
else
A is A1,
N is N1+1).
add_xor(_,[],_):-!.
add_xor(R,[H|T],0):- !,
add_xor(R, T, -1).
add_xor(R,[H|T],N):-
N1 is N- 1,
R:=R xor H,
add_xor(R, T, N1).
end(Flag):-
perintah di atas merupakan inti dari program yaitu AI dari game matches itu sendiri.
Flag=G_Take_Last->
message("Sorry","kamu belum beruntung kawan",i)
else
message("Selamat","kamu pemenang nya",!).
Notif pemberitahuan kamu menang atau kalah dalam game ini
%Deklarasi waktu
time_func(end) :-
G_Time=0, !,
kill_timer(_, G_Timer),
message("Limit","Maaf Waktu Kamu Habis",i),
message("Game Berakhir","Kalian Seri",i),
message("Ingin Coba Lagi ?","Klik Mulai Game",i),
close_window(_),
fail.
time_func(end) :-
G_Time2 :=1,
G_Time2 :=G_Time,
G_Time := G_Time - 1,
color_text(_, rgb(0, 0, 0)),
font(8,17,"Haettenschweiler"),
text_out(500, 30, G_Time+" "),
fail.
time_func(end) :-
G_Time2:=G_Time2 - 1,
fail.
perintah di atas memberi waktu limit 10 detik, bila kamu bermain lebih dari waktu tersebut maka kamu dinyatakan seri.
%Deklarasi menu about
menu_about(press):-
message("Tentang Saya"," Game Prolog : MatchesFish \n Kelas : 3IA15 \n NPM : 52409878 \n Create By : Deni Andre Sucianto \n UNIVERSITAS GUNADARMA", i).
perintah di atas tentang isi dari kolom about me.
Konsep permainan yang diterapkan dalam permainan ini adalah, pemain atau lawan harus lebih dahulu mengambil ikan dan dalam pengambilan ikan tidak dibatasi, hanya saja jika kita ingin mengambil maksimal ikan tersebut bisa dilakukan dengan cara pengambilan di dalam kolom secara keseluruhan tergantung isi dari masing-masing kolom tersebut. Hal yang harus dilakukan adalah membuat lawan untuk tidak mendahului pemain sebelum pemain melakukan pengambilan pada ikan tersebut. Permainan selesai jika pengguna (user) kalah dan lawan (komputer) berhasil untuk tidak mengambil ikan yang paling akhir. serta pengguna (user) menang, jika berhasil untuk tidak mengambil ikan yang paling akhir. Pengguna (user) dapat memilih ikan yang telah di sediakan secara bebas dan lawan (komputer) juga bisa melakukan hal yang sama. Sehingga pengguna (user) dan lawan (komputer) dapat mengambil ikan secara bebas (kolom). Algoritma Permainan
Berikut ini adalah algoritma yang dipakai dalam permainan ini :
Memilih salah satu beberapa dari 24 ikan yang susunannya terdiri dari kiri ke kanan (urutan ikan 5,4,3,3,4,5) pada kondisi awal sebelum diubah. ikan yang telah di sediakan, pengguna (user) atau lawan (komputer) dapat memilih sesuai dengan yang di inginkan.
Dengan cara mengklik kiri pada mouse dan arahkan kursor kearah ikan yang ingin di ambil.
Jika pengguna (user) bermain sebagai pemain (player) pertama dan sudah memilih ikan yang di inginkan untuk di ambil, maka berikutnya lawan (komputer) yang memilih ikan yang di inginkan untuk diambil.
Jika ikan yang di sediakan telah habis maka akan dilihat siapa yang mengambil ikan yang paling akhir untuk menentukan menang atau tidaknya pengguna (user) ataaupun lawan (komputer) karena syarat ketentuan permainan ini ialah akan menang jika tidak mengambil ikan yang paling akhir dan akan kalah jika mengambil ikan yang paling akhir.
Jika pengguna (user) bermain cepat dalam pengambilan ikan maka lawan (komputer) akan menyamakan kecepatan seperti pengguna (user) dalam proses pengambilan ikan.
Jika lawan (komputer) memenangkan permainan ini maka keluar message "Sorry","kamu belum beruntung kawan Jika pengguna (user) yang memenangkan permainan ini maka akan keluar message "Selamat","kamu pemenang nya".
Permainan selesai bila 24 ikan telah habis baik diambil pengguna (user) ataupun lawan (komputer). Dan akan menampilkan message menang atau tidaknya dalam permainan ini.
Berikut adalah coding dari game matches :
?-
G_Comp_First=0,
G_Take_Last=0,
%G_Yellow is brush(rgb(255,200,0)),
%G_Red is brush(rgb(255,0,0)),
G_White is brush(rgb(127,220,228)),
G_bekgron is bitmap_image("image\\bg.bmp",_),
G_fish is bitmap_image("image\\fish.bmp",_),
font(8,17,"Haettenschweiler"),
Perintah di atas adalah untuk mengatur warna brush adalah putih keabu - abuan, background dengan nama wb dengan tipe image bmp, untuk menampilkan icon ikan, untuk menampilkan image tbd jika kondisi pemain menang dan untuk menampilkan image tbd jika kondisi pemain kalah .
pen(0,0),
set(pos([5,4,3,3,4,5])),
window_n( G_Main, _, win_func, "MatchesFish (Jangan Jadi Ikan Terakhir)", 100,100,650,360,_,_,rgb(255,255,255)),
message("Selamat Bermain","Ini Adalah Game MatchesFish",i).
perintah di atas untuk mengatur posisi icon ikan yaitu 8 bar dan mengatur posisi window dan warna window.
win_func(init) :-
menu( normal, _, _, menu_new(_), "&Mulai Game"),
menu( normal, _, _, menu_options(_), "&Pengaturan"),
menu( normal, _, _, menu_help(_), "&Bantuan"),
menu( normal, _, _, menu_about(_), "&About Me"),
menu( normal, _, _, menu_exit(_), "&Keluar").
perintah di atas untuk membuat menu mulai game, pengaturan, bantuan, about me, dan exit.
win_func(paint):-
draw_bitmap(0,0,G_bekgron,_,_),
pos(Pos),
el(Pos,El,N),
for(I,1,El),
perintah di atas digunakan untuk pembuatan object dan warna
X is 50+100*N,
Y is 290- 40*I,
text_out(470, 10, "Sisa Waktu"),
draw_bitmap(X,Y,G_fish,_,_),
fail.
untuk mendeklarasikan jarak masing - masing item dan ada waktu limit bermain
win_func(mouse_click(X,Y)):-
X1 is (X- 50)//100,
Y1 is (280-Y)//40,
X1=<6,X>=40,
pos(Pos),
el(Pos,El,X1),
El>Y1,
replace(Pos2, Pos, Y1, X1),
brush(G_White),
rect(100*X1+40,0,100*X1+140,265- 30*Y1),
(Pos2=[0,0,0,0,0,0]->
set(pos(Pos2)),
end(0)
else
wait(0.5),
play(Pos3, Pos2),
(Pos3=[0,0,0,0,0,0]->
end(1)),
set(pos(Pos3))),
update_window(_).
win_func(mouse_click(X,Y)):-
beep.
untuk deklarasi area mouse click
play(Pos3, Pos2):-
G_Take_Last=0,
count_successes(not_trivial(Pos2))<2,
find_max(Pos2,Max,N),
New is (Max>1,count_successes(not_empty(Pos2)) mod 3=:=2 -> 1 else 0),
replace(Pos3, Pos2, New, N).
play(Pos3, Pos2):-
el(Pos2,A, N),
R:=0,
add_xor(R,Pos2,N),
R replace(Pos3, Pos2, R, N).
play(Pos3, Pos2):-
find_max(Pos2,Max,N),
Max2 is (Max>1, random(2)=:=0 ->
Max - 2
else
Max - 1),
replace(Pos3, Pos2, Max2, N).
not_empty(Pos):-
el(Pos,A, _),
A>0.
not_trivial(Pos):-
el(Pos,A, _),
A>1.
el([H|T],H,0).
el([H|T],El,N):-
el(T,El,N1),
N is N1+1.
replace([H|T],[_|T],H,0).
replace([H|T2],[H|T],El,N):-
replace(T2,T,El,N1),
N is N1+1.
find_max([H],H,0).
find_max([H|T],A, N) :-
find_max(T,A1,N1),
(A1
A is H,
N is 0
else
A is A1,
N is N1+1).
add_xor(_,[],_):-!.
add_xor(R,[H|T],0):- !,
add_xor(R, T, -1).
add_xor(R,[H|T],N):-
N1 is N- 1,
R:=R xor H,
add_xor(R, T, N1).
end(Flag):-
perintah di atas merupakan inti dari program yaitu AI dari game matches itu sendiri.
Flag=G_Take_Last->
message("Sorry","kamu belum beruntung kawan",i)
else
message("Selamat","kamu pemenang nya",!).
Notif pemberitahuan kamu menang atau kalah dalam game ini
%Deklarasi waktu
time_func(end) :-
G_Time=0, !,
kill_timer(_, G_Timer),
message("Limit","Maaf Waktu Kamu Habis",i),
message("Game Berakhir","Kalian Seri",i),
message("Ingin Coba Lagi ?","Klik Mulai Game",i),
close_window(_),
fail.
time_func(end) :-
G_Time2 :=1,
G_Time2 :=G_Time,
G_Time := G_Time - 1,
color_text(_, rgb(0, 0, 0)),
font(8,17,"Haettenschweiler"),
text_out(500, 30, G_Time+" "),
fail.
time_func(end) :-
G_Time2:=G_Time2 - 1,
fail.
perintah di atas memberi waktu limit 10 detik, bila kamu bermain lebih dari waktu tersebut maka kamu dinyatakan seri.
%Deklarasi menu about
menu_about(press):-
message("Tentang Saya"," Game Prolog : MatchesFish \n Kelas : 3IA15 \n NPM : 52409878 \n Create By : Deni Andre Sucianto \n UNIVERSITAS GUNADARMA", i).
perintah di atas tentang isi dari kolom about me.
Langganan:
Postingan (Atom)