Blogger news

animasi bergerak gif

Selasa, 17 Maret 2020

MAKALAH PENGANTAR KOMPUTASI MODERN





Disusun Oleh
Darwin Loher (51416720)
M. Galih Maulana (54416583)
Wakhyu Novi Setiyaning Asih (58416352)
Yondrixs Calvin (57416801)

4IA17

TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2020



DAFTAR ISI


 Halaman
HALAMAN JUDUL i
DAFTAR ISI ii
1. PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Tujuan 2
2. PEMBAHASAN 3
2.1 Pengertian Komputasi 3
2.2 Teori Otomata 3
2.3 Teori Komputabilitas 3
2.4 Teori Kompleksitas 3
2.5 Teori Komputasi 3
2.5.1 Finite State Automata (FSA) / Finite State Machine (FSM) 3
2.6 Push Down Automata (PDA) 3
2.7 Turing Machine 4
2.8 Implementasi 4
2.8.1 Bidang Fisika 4
2.8.2 Bidang Kimia 4
2.8.3 Bidang Matematika 5
2.8.4 Bidang Geografi 5
2.8.5 Bidang Geologi 5
2.9 Cloud Computing 5
2.9.1     Grid Computing 5
2.9.2     Virtualisasi 5
2.9.3     Distributed Computation dalam Cloud Computing 6
2.9.4     Standar Teknologi Informasi pada Cloud Computing 6
             2.9.4.1 SaaS (Software as a Service)   6
             2.9.4.2 PaaS (Platform as a Service)   6
             2.9.4.3 IaaS (Infrastructure as a Service)   7
2.10 Map Reduce 7
2.10.1 Map 7
2.10.2 Reduce 7
2.10.3 Produk 7
2.11 NoSQL 7
2.12 CouchDB 8
2.13 Cassandra 8
2.14 MongoDB 9
2.15 Riak 9
2.16 Redis 9
2.17 Quantum Computation 10
2.17.1 Entaglement 10
2.17.2 Quantum Gates 10
2.17.3 Pengoperasian Data Qubit 10
2.17.4 Algoritma Shor 11
3. PENUTUP 12
3.0.1 Kesimpulan 12
4. DAFTAR PUSTAKA 13




BAB I
PENDAHULUAN
1.1. Latar belakang
Secara umum Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika. 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, kebanyakan komputasi telah dilakukan dengan menggunakan komputer. Komputasi yang menggunakan komputer inilah yang disebut dengan Komputasi Modern.
Sejarah Komputasi Modern Awal mula dari komputasi adalah adanya perhitungan-perhitungan angka yang dilakukan manusia. Manusia telah mengenal angka dan perhitungan sejak berabad-abad yang lalu. Bangsa romawi pun telah dapat menghitung sistem kalender dan rasi bintang. Seiring dengan perkembangan zaman manusia pun melakukan perhitungan-perhitungan yang lebih kompleks. Otak manusia juga mengalami keterbatasan dalam menghitung angka yang jumlahnya bisa berdigit-digit, kemudian diciptakan alat sempoa untuk menghitung, kemudian dikembangkan menjadi kalkulator, Karena semakin berkembangnya alat dan kebutuhan semakin banyak pula data-data yang ingin dihitung, dan mulailah ide pembuatan untuk membuat komputer sebagai alat hitung dengan konsep komputasi modern. Tidak hanya itu, komputer yang diciptakan hingga sekarang ini bukan menjadi sebuah alat yang digunakan untuk menghitung, tapi juga bisa menyimpan,mengedit dan mengolah kata serta masih banyak lagi kegunaan dan kelebihan yang dimiliki oleh komputer.
Komputasi Modern Komputasi adalah cara untuk menyelesaikan sebuah masalah dari inputan data dengan menggunakan algoritma. Secara umum ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

1.2. Tujuan
Untuk mengetahui apa itu Komputasi Modern.
Untuk memahami lebih luas tentang penerapan Komputasi Modern pada dunia sehari hari.




BAB 2
PEMBAHASAN
2.1. Pengertian Teori Komputasi
Teori komputasi adalah cabang ilmu komputer teoritis, berkaitan dengan studi bagaimana persoalan(problem) dapat diselesaikan pada sebuah model dengan menggunakan algoritma. Model tersebut dinamakan model komputasi.

1. 
2. 
2.1. 
2.2. Teori Otomata
Teori Otomata adalah teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori bahasa formal. ada beberapa hal yang berkaitan dengan Otomata, yaitu Grammar. Grammar adalah bentuk abstrak yang dapat diterima (accept) untuk membangkitkan suatu kalimat otomata berdasarkan suatu aturan tertentu

2.3. Teori Komputabilitas
Teori komputabilitas bertujuan untuk memeriksa apakah persoalan komputasi dapat dipecahkan pada suatu model komputasi teoritis. Dengan kata lain, teori komputabilitas mengklasifikasikan persoalan sebagai dapat dipecahkan (solvable) atau persoalan yang tidak dapat dipecahkan (unsolvable).

2.4. Teori Kompleksitas
Teori kompleksitas bertujuan untuk mengkaji kebutuhan waktu dan ruang untuk memecahkan persoalan yang diselesaikan dengan pendekatan yang berbeda-beda.

2.5. Model komputasi
2.5.1. Finite State Automata(FSA) / Finite State Machine(FSM)
Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal sebagai Finite State Automata (FSA).
Secara formal FSA dapat didefinisikan sebagai TUPLE-5 : (K, VT, M, S, Z) Dimana : K : himpunan hingga stata, VT : himpunan hingga simbol input (alfabet) M : fungsi transisi, menggambarkan transisi stata AH akibat pembacaan symbol input. (Fungsi transisi ini biasanya diberikan dalam bentuk tabel.) S : stata awal Z : himpunan stata penerima
Ada dua jenis Finite State Automata :
• Deterministic Finite Automata : transisi stata AH akibat pembacaan sebuah simbol bersifat tertentu. “Jika pada setiap state dari FSA tersebut apabila menerima input sebuah simbol maka HANYA ada SATU NEXT STATE yang mungkin dituju.” M(DFA) : K x VT x K
• Non Deterministik Finite Automata : transisi stata AH akibat pembacaan sebuah simbol bersifat tak tentu. “Jika FSA tersebut menerima input simbol maka minimal ada satu state yang akan berpindah ke LEBIH DARI SATU NEXT STATE yang mungkin dituju.” M(AHN) : K x VT x 2K


2.6 Push Down Automata(PDA)
PDA adalah mesin otomata yang memiliki kendali masukan menggunakan teknik LIFO (Last In First Out), untuk menentukan apakah suatu output diterima atau tidak oleh mesin tsb. Dalam melakukan proses peneerimaan input, PDA menggunakan memory stack. Mekanisme kerja memory stack adalah menyimpan input pertama pada alamat paling bawah, input berikutnya di simpan pada alamat di atasnya, dan input terakhir di simpan pada alamat paling atas. Perintah operasi yang digunakan untuk menyimpan input pada stack adalah “push”. Sedangkan perintah operasi untuk mengeluarkan input yang telah tersimpan adalah “pop”.
Sebuah PDA dinyatakan dengan 7 Tupel: Q = himpunan state Σ = himpunan simbol input T = simbol stack Δ = fungsi transisi S = state awal F = state akhir Z = top of stack
2.7 Turing Machine
Mesin Turing adalah model komputasi teoretis yang ditemukan oleh Alan Turing, berfungsi sebagai model ideal untuk melakukan perhitungan matematis. Walaupun model ideal ini diperkenalkan sebelum komputer nyata dibangun, model ini tetap diterima kalangan ilmu komputer sebagai model komputer yang sesuai untuk menentukan apakah suatu fungsi dapat selesaikan oleh komputer atau tidak (menentukan computable function). Mesin Turing terkenal dengan ungkapan “ Apapun yang bisa dilakukan oleh Mesin Turing pasti bisa dilakukan oleh komputer.”



2.8 Implementasi
2.8.1 Bidang Fisika
Implementasi komputasi modern di bidang Fisika adalah Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan Algoritma yang tepat. Banyak perangkat lunak ataupun bahasa yang digunakan, seperti : MatLab, Visual Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, dan lain sebagainya digunakan untuk pemahaman dan pencarian solusi numerik dari masalah-masalah pada Fisika komputasi.\
2.8.2 Bidang Kimia
Implementasi komputasi modern di bidang Kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah Kimia. Contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. Istilah Kimia teori dapat didefinisikan sebagai deskripsi Matematika untuk Kimia, sedangkan Kimia komputasi biasanya digunakan ketika metode Matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer.
2.8.3 Bidang Matematika
Menyelesaikan sebuah masalah yang berkaitan dengan perhitungan Matematis, namun dalam pengertian yang akan dibahas dalam pembahasan komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah Matematis menggunakan komputer dengan cara menyusun Algoritma yang dapat dimengerti oleh komputer.
2.8.4 Bidang Geografi
Komputasi dalam bidang Geografi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi Klimatologi dan Geofisika) yakni instansi negara yang meneliti mengamati tentang Metereologi, Klimatologi kualitas udara dan Geofisika
2.8.5 Bidang Geologi
Implementasi pada bidang ini untuk memetakan letak sumber daya dan kontur dari permukaan bumi yang terdapat hasil tambang.
Cloud Computing hadir dengan memudahkan akses data dari mana saja dan kapan saja, karena dengan memanfaatkan internet dan menggunakan perangkat fixed atau mobile device menggunakan internet cloud sebagai tempat penyimpanan data, aplikasi dan lainya
Komputasi Grid sebenarnya merupakan sebuah aplikasi pengembangan dari jaringan komputer (network). Hanya saja, tidak seperti jaringan komputer konvensional yang berfokus pada komunikasi antar piranti (device), aplikasi pada grid computing dirancang untuk memanfaatkan sumber daya pada terminal dalam jaringannya.
Virtualisasi adalah sebuah teknologi, yang memungkinkan anda untuk membuat versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi, storage data atau sumber daya jaringan. Proses tersebut dilakukan oleh sebuah software atau firmware bernama Hypervisor. Hypervisor inilah yang menjadi nyawanya virtualisasi, karena dialah layer yang “berpura – pura” menjadi sebuah infrastruktur untuk menjalankan beberapa virtual machine.
Istilah virtualisasi perangkat-keras mengacu kepada upaya menciptakan mesin virtual yang bekerja layaknya sebuah komputer lengkap dengan sistem operasi.
Para-virtualisasi: Perangkat keras tidak disimulasikan tetapi perangkat-lunak tamu berjalan dalam domainnya sendiri seolah-olah dalam sistem yang berbeda. Dalam hal ini perangkat-lunak tamu perlu disesuaikan untuk dapat berjalan.
Virtualisasi sebagian: Tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini.
Virtualisasi penuh: Hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa perlu diubah.
Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara parallel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).



2.9.4.1 SaaS (Software as a Service)
Software as a Service adalah layanan software yang digunakan melalui internet. Sebenarnya hal ini bukan merupakan hal yang asing dan sering kita gunakan (hanya mungkin kita belum tahu aja), contoh dari SaaS ini adalah google docs, facebook, aplikasi CRM berbayar, dan lain-lain. Pengguna hanya perlu menggunakan aplikasi tersebut tanpa harus mengerti bagaimana data disimpan, bagaimana aplikasi tersebut di maintenance, karena hal tersebut merupakan service yang disediakan penyedia jasa. Pembayaran dari penggunaan aplikasi-aplikasi ini pun hanya per pemakaiannya (terkadang ada yang tak berbayar tetapi ada fitur-fitur tertentu yang bisa didapatkan ketika pengguna membayar fitur-fitur tersebut, yah semacam nyewa parabola gitu lah, bayar berdasar channel yang diinginkan).
Platform as a Service adalah penyediaan platform bagi developer yang disediakan melalui internet. Hal ini dibutuhkan ketika aplikasi yang disediakan melalui SaaS tidak sesuai dengan kebutuhan proses bisnis yang terdapat pada perusahaan. PaaS memungkinkan kita untuk membangun aplikasi, mengupload aplikasi, melakukan testing aplikasi, ataupun mengatur konfigurasi yang dibutuhkan dalam proses pengembangan aplikasi.
Infrastructure as a Service adalah penyediaan infrastruktur yang disediakan melalui internet dan dibayarkan berdasarkan pemakaian. Hal ini terjadi apabila developer membutuhkan sebuah infrastruktur dimana dia dapat melakukan setting untuk jalannya sebuah aplikasi. IaaS memberikan kendali penuh bagi pengguna layanan untuk menyewa infrastruktur IT (storage, RAM, prosesor dll) secara virtual tanpa sistem operasi, yang tentunya pemilihan sistem operasi tersebut dipilih berdasarkan keinginan pengguna. Apabila SaaS dan PaaS kurang terasa manfaatnya bagi perusahaan, IaaS ini sangat menguntungkan bagi perusahaan kecil yang membutuhkan sebuah infrastruktur IT tanpa harus membeli perangkat yang dibutuhkan tersebut.
MapReduce merupakan model pemrograman untuk memproses data berukuran besar secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan komputer
2.10.1 Map
Proses Map yaitu mengumpulkan informasi dari potongan - potongan data dari komputer - komputer yang saling terhubung.
2.10.2 Reduce
Hasil dari proses Map di arakhkan ke proses Reduce yaitu mengirimkan hasil akhr kepada pengguna.
2.10.3 Produk
· Apache Hadoop
· Pig
· Cascading
· Microsoft Dryad
· IBM MapReduce Tool for Eclipse  
· Skynet
· CouchDB

2.11  NoSQL
NoSQL adalah sebuah konsep mengenai penyimpanan data non-relasional. NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir

Kelebihan NoSQL
NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar. Menggunakan OOP dalam pengaksesan atau manipulasi datanya. jika database noSQL di jalankan di cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server
Kekurangan NoSQL
Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL Sulitnya mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya
2.12 CouchDB
CouchDB yang dikembangkan oleh Apache lebih dulu muncul jauh sebelum mongoDB yaitu pada tahun 2005. CouchDB tidak menyimpan datanya dalam tabel melainkan dalam dokumen seperti halnya mongoDB. Basis data ini juga merupakan proyek open source serta dikembangkan dalam bahasa pemrograman Erlang oleh karena itu kita bisa ikut berkontribusi dalam pengembangan CouchDB agar basis data ini lebih baik.


2.13 Cassandra
Cassandra merupakan sebuah sistem penyimpanan data terdistribusi untuk menangani jumlah data yang sangat besar dan terstruktur. Cassandra juga dikembangkan Apache. Cassandra juga merupakan aplikasi open source yang ditulis dalam bahasa Java dengan lisensi Apache License 2.0. Untuk memproses datanya, Cassandra menggunakan bahasa sendiri yang mirip dengan SQL yaitu Cassandra Query Language (CQL). 

  

MongoDB merupakan basis data yang paling populer diantara basis data NoSQL lainnya. Hal ini dikarenakan pemasangan maupun penggunaan mongoDB tidaklah sulit atau merepotkan penggunanya. Selain itu mongoDB juga merupakan salah satu basis data yang open source. MongoDB merupakan basis data NoSQL yang document based. Ia menyimpan data-datanya dalam suatu dokumen JSON yang disebut BSON (Binary JSON). Dikembangkan sejak tahun 2009, mongoDB sekarang telah mendukung hampir semua bahasa pemrograman untuk dapat berinteraksi dengan mongoDB.


2.15 Riak
Riak merupakan basis data NoSQL terdistribusi yang menyimpan datanya dalam bentu key-value. Riak menawarkan fitur high availability, fault tolerance, operational simplicaity, dan scalability.
Riak memiliki dua versi yakni Open source edition dan Enterprise edition. Enterprise edition menawarkan dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan. Erlang ditulis dalam bahasa pemrograman Erlang dengan lisensi Apache License 2.0


2.16 Redis
Redis merupakan basis data berbasis key-value. Redis merupakan singkatan dari REmote DIctionary Server. Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory, networked, dan durabilitas tinggi.
Redis mendukung banyak bahasa pemrograman seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.

  
Quantum computation atau komputasi quantum merupakan sebuah perhitungan yang menggunakan kuantum mekanika fenomena yang dilakukan untuk melakukan operasi data
2.17.1 Entaglement
Entanglement adalah suatu teori mekanika quantum yang menggambarkan seberapa cepat dan betapa kuatnya keterhubungan partikel-partikel pada Quantum computer yang dimana jika suatu partikel diperlakukan “A” maka akan memberikan dampak “A” juga ke partikel lainnya
Quantum gates merupakan gerbang dari kuantum yang berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 juga dalam qubits sehingga proses yang terjadi lebih cepat, karena setiap perhitungan dilakukan secara bersamaan


Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan yang bertindak sebagai representasi dari 0 dan  1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini membentuk dasar dari komputasi kuantum. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam.


Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhaadap bilanga interger atau bulat yang besar.
Algoritma Shor terdiri dari dua bagian:
· Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban - temuan.
· Sebuah algoritma kuantum untuk memecahkan masalah order-temuan




BAB 3
PENUTUP


3.1 Kesimpulan
Komputasi modern sangat membantu manusia untuk menyelesaikan masalah-masalah yang kompleks dengan menggunakan komputer untuk memenuhi kebutuhan, tidak hanya menghitung tapi dalam hal program dan jaringan yang dapat diselesaikan dengan cepat dan komputasi modern juga memudahkan perkembangan teknologi modern dengan pesat.
Komputasi modern sangat berguna dalam kehidupan sehari-hari dan sangat membantu menyelesaikan masalah yang tidak dapat diselesaikan secara manual oleh manusia bahkan komputasi modern mampu membantu memecahkan permasalahan yang dimiliki manusia karena sudah dimasukkan pengetahuan maupun algoritma.




DAFTAR PUSTAKA