Selasa, 21 Juni 2016

Implementasi Komputasi Paralel Untuk Enkripsi Citra Berbasis AES Menggunakan JPPF

Implementasi Komputasi Paralel Untuk Enkripsi Citra Berbasis AES Menggunakan JPPF
Mohammad Zarkasi, Waskitho Wibisono, dan FX. Arunanto
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS)
Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia
E-mail: waswib@if.its.ac.id

Abstrak
Semakin pesat perkembangan teknologi informasi, proses tukar-menukar citra menjadi semakin tinggi dan mudah. Kebutuhan terhadap kerahasiaan dan hak cipta citra menjadi aspek yang harus dipenuhi. Salah satu cara untuk menjaga kerahasiaan citra adalah dengan menerapkan enkripsi. Advanced Encryption Standard (AES) merupakan algoritma enkripsi simetris dengan key yang panjang yang paling banyak digunakan saat ini. Untuk mempercepat waktu enkripsi diterapkan komputasi paralel. Karena AES bersifat sekuensial maka data yang berupa citra yang diparalelkan. Untuk implementasi komputasi paralel digunakan Java Parallel Programming Framework (JPPF) yang berarsitektur master/slave. JPPF menyediakan beberapa strategi distribusi untuk mengoptimalkan performa dengan menyesuaikan pembagian task. Tiap task berisi potongan citra untuk diproses oleh slave. Uji coba dilakukan pada beberapa citra dengan resolusi yang berbeda dan pada 8 komputer yang memiliki spesifikasi berbeda. Berdasarkan hasil uji coba, pada komputer dengan spesifikasi frekuensi prosesor 2,53 GHz core tunggal diperoleh speedup dengan rata-rata 1,65.
Kata Kunci—AES, JPPF, paralel, potongan, speedup.
I.                    PENDAHULUAN
ENKRIPSI merupakan teknik yang umum digunakan untuk meningkatkan keamanan suatu data [1]. Tidak terkecuali untuk citra. Sebagai tambahan dalam level keamanan, kecepatan eksekusi suatu algoritma enkripsi menjadi bagian yang paling penting. Salah satu algoritma enkripsi yang cukup luas diterapkan adalah Advanced Encryption Standards (AES). AES menggunakan key yang lebih panjang daripada algoritma Data Encryption Standard (DES). Pada level keamanan yang sama, perbedaan kecepatan algoritma dapat menyebabkan algoritma yang lebih cepat cenderung dipilih daripada algoritma yang lebih lambat [2]. Sebagai contoh, algoritma DES yang merupakan standar NIST, kini banyak ditinggalkan karena kecepatan eksekusi yang relatif lambat dan mahal untuk diimplementasikan pada hardware maupun software. Dengan key yang panjang, yaitu 128 bit, 192 bit, dan 256 bit, AES memberikan hasil enkripsi yang lebih susah dipecahkan dengan DES. Komputasi paralel diterapkan untuk mempercepat proses enkripsi dengan membagi citra menjadi potongan-potongan untuk diproses secara independen. Komputasi paralel dilakukan dengan menggunakan komputer- komputer yang saling terhubung dalam satu jaringan. Java Parallel Programming Framework (JPPF) merupakan framework untuk pemrosesan paralel yang menggunakan bahasa pemrograman Java. Pada JPPF tersedia beberapa strategi pendistribusian job untuk mengoptimalkan performa dengan menyesuaikan jumlah task yang dikirim ke setiap slave. JPPF juga memiliki mekanisme untuk menanggulangi masalah apabila terjadi kegagalan komunikasi dengan master [3]. Artikel ini membahas tentang implementasi komputasi paralel untuk mengenkripsi berkas citra menggunakan AES dengan menggunakan JPPF.
II. URAIAN PENELITIAN
A.      Advanced Encryption
Standard Advanced Encryption Standard (AES) merupakan algoritma enkripsi yang berdasarkan pada kombinasi dan permutasi dari operasi shift dan exclusive-OR (XOR) [4]. AES menggantikan Data Encryption Standard (DES) yang sebelumnya merupakan algoritma yang utama dalam mengenkripsi data elektronik. AES merupakan varian algoritma Rijndael yang dikembangkan oleh dua orang kriptografer asal Belgia, John Daemen dan Vincent Rijmen.
AES menggunakan ukuran blok yang tetap, yaitu 128 bit [4]. Ukuran key yang digunakan adalah 128, 192, atau 256 bit. AES beroperasi pada matriks berukuran 4×4 yang disebut dengan state. Ukuran key yang berbeda digunakan untuk menentukan jumlah ronde transformasi untuk mengubah plaintext menjadi ciphertext. Jumlah ronde transformasi untuk key dengan panjang 128 bit, 192 bit, dan 256 bit adalah masing-masing sebanyakn 10, 12, dan 14 ronde. Transformasi yang digunakan dalam algoritma AES diilustrasikan pada Gambar 1.
Ada beberapa modus operasi AES yang tersedia untuk digunakan memproses data yang besar. Namun, hanya ada dua modus yang dapat diparalelkan karena tidak ada dependensi terhadap blok sebelumnya, yaitu Counter (CTR) dan Electronic Code Book (ECB) [5]. ECB merupakan modus yang paling sederhana, yaitu dengan menerapkan algoritma AES pada tiap blok data. Sedangkan pada CTR, digunakan sebuah counter yang unik pada setiap blok data, sehingga apabila ada dua blok data (plaintext) yang sama, akan dihasilkan ciphertext yang berbeda.
B.      Komputasi Paralel
Komputasi paralel adalah suatu teknik untuk mengerjakan suatu perhitungan yang besar dan memerlukan waktu yang lama dengan memecah menjadi beberapa bagian dan Implementasi Komputasi Paralel Untuk Enkripsi Citra Berbasis AES Menggunakan JPPF Mohammad Zarkasi, Waskitho Wibisono, dan FX.
https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQh76_WKJnfwztjsFQC98DRwryZEgOWQpAosT8PIHU2AZslFg766Q
Gambar.1 Proses Enkripsi Aes
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdy7XYHTV6sYuW7PAIxxqOGI0fSoD05Q9r0ahozv4EN356XLFdbn7HD2TJ5jMfI6N86PtjZIpjBm254uaxwj2drTLtDuDru0BI9-nOSucbAMIkQ_iMIzCjKsy6XG_-zH9poZSKqFRm7xI/s1600/untitled.jpghttps://catatankriptografi.files.wordpress.com/2012/05/hasil4.jpg


Gambar.2 Citra Plaint text yang dienkripsi dan histogram
 mengerjakannya secara independen di prosesor yang berbeda [2]. Terdapat beberapa style pemrograman paralel, antara lain: • SPMD (Single Program, Multiple Data), yaitu data dan program didistribusikan ke tiap prosesor, eksekusi dilakukan sesuai jadwal yang telah ditentukan. Tiap prosesor mengeksekusi program yang sama tetapi data yang diproses berbeda.
• Master/slave, yaitu satu prosesor bertindak sebagai master, dan ada beberapa prosesor yang menjadi slave kepada master tersebut.
• MPMD (Multiple Program, Multiple Data), yaitu program dan data didistribusikan ke tiap-tiap prosesor, tiap prosesor mengeksekusi program yang berbeda dan data yang berbeda. Tujuan utama dari komputasi paralel adalah untuk mendapatkan speedup [2].
Speedup diperoleh dengan menghitung perbandingan antara waktu yang diperlukan untuk komputasi secara sekuensial dengan waktu yang diperlukan untuk komputasi secara paralel. Speedup dihitung menggunakan (1). = (1)
C.      JPPF
JPPF adalah adalah suatu framework yang dibangun dengan bahasa Java. JPPF memungkinkan aplikasi dengan kebutuhan komputasi yang tinggi agar dapat berjalan pada sejumlah komputer, dalam rangka untuk mengurangi waktu pemrosesan. Hal ini dilakukan dengan membagi aplikasi menjadi bagian-bagian yang lebih kecil yang dapat dieksekusi secara bersama-sama di mesin yang berbeda. Keunggulan JPPF terhadap framework lain adalah JPPF menyediakan beberapa strategi pendistribusian job untuk mengoptimalkan performa dengan menyesuaikan jumlah task yang dikirim ke setiap slave. Tiap strategi distribusi job memiliki keunggulan terhadap suatu jenis permasalahan yang akan diselesaikan secara paralel. Selain itu, JPPF memiliki fitur mekanisme untuk menangani kegagalan komunikasi. Secara otomatis JPPF client dan slave akan mencari master yang aktif apabila pada suatu saat terjadi gangguan dalam komunikasi.


III.HASIL DAN DISKUSI
A.      Pengaburan isi citra
Uji coba fungsionalitas ini menjelaskan pengaburan isi citra yang dihasilkan dari enkripsi. Citra plaintext yang digunakan sebagai masukan uji coba adalah citra Lenna dengan penggunaan RGB dominan pada area tententu. Pada citra ciphertext hasil enkripsi, penggunaan RGB cukup merata, dan juga tidak terlihat adanya dominasi warna seperti pada citra plaintext. Citra ciphertext dihasilkan oleh enkripsi dengan algoritma AES menggunakan modus ECB dan CTR. Citra plaintext ditunjukkan pada Gambar 2, citra ciphertext dengan modus CTR ditunjukkan pada Gambar 3 dan citra ciphertext dengan modus ECB ditunjukkan pada Gambar 4.
B.      Speedup
Uji coba enkripsi citra menggunakan komputasi paralel dilakukan menggunakan 8 komputer yang berperan sebagai slave. Salah satu dari 8 komputer tersebut juga berperan sebagai master sekaligus client, yaitu PC1. Spesifikasi komputer yang digunakan ditunjukkan pada Tabel 1. Pada uji coba ini digunakan beberapa citra dengan ukuran resolusi yang berbeda dan strategi distribusi manual dengan ukuran task per slave adalah satu. Daftar citra yang digunakan untuk uji coba ditunjukkan pada Tabel 2. Dari hasil uji coba, speedup yang diperoleh ditampilkan pada Tabel 3, Tabel 4 dan Gambar 5. Pada uji coba dengan membandingkan waktu komputasi paralel dengan waktu eksekusi single pada PC1, diperoleh rata-rata speedup sebesar 1,65. Sedangkan pada uji coba dengan membandingkan waktu komputasi paralel dengan waktu eksekusi single pada PC2, diperoleh rata-rata speedup sebesar 0,82.

IV. KESIMPULAN/RINGKASAN
 Dari penelitian ini, dapat diperoleh beberapa kesimpulan sebagai berikut.
1. Penggunaan warna pada citra hasil enkripsi menunjukkan pengaburan dengan persebaran RGB yang merata. Hal ini menyebabkan pola-pola pada citra menjadi sulit untuk dikenali secara langsung.
2. Implementasi komputasi paralel berhasil memberikan waktu komputasi yang lebih cepat. Speedup yang diperoleh dengan membandingkan waktu komputasi paralel terhadap waktu komputasi pada komputer dengan spesifikasi frekuensi prosesor 2,53 GHz satu core adalah rata-rata sebesar 1,65. Sedangkan speedup yang diperoleh dengan membandingkan waktu komputasi paralel terhadap waktu komputasi pada komputer dengan spesifikasi yang lebih tinggi adalah rata-rata kurang dari 1.
DAFTAR PUSTAKA
 [1] M Zeghid, M Machout, A Baganne, and R Tourki, "A Modified AES Based Algorithm for Image Encryption," International Journal of Computer Science and Engineering, pp. 70-75, 2007.
[2] Vishal Pachori, Gunjan Ansari, and Neha Chaudhary, "Improved Performance of Advance Encryption Standard using Parallel Computing," International Journal of Engineering Research and Applications (IJERA), vol. 2, no. 1, pp. 967-971, Feb. 2012.
[3] Laurent Cohen. (2013, Mei) JPPF. [Online]. http://www.jppf.org
[4] William Stallings, Cryptography and Network Security, 5th ed. New York: Prentice Hall, 2011.
[5] Morris Dworkin, Recommendation for Block Cipher Modes of Operation, 1st ed. Washington: NIST, 2001.

Minggu, 24 April 2016

Definisi Komputasi cloud,grid, virtualisasi dan terdistribusi serta implementasi dalam bidang matematika

Pengertian

Cloud computing, often referred to as simply “the cloud,” is the delivery of on-demand computing resources—everything from applications to data centers—over the Internet on a pay-for-use basis.

Cloud computing services
Software as a service (SaaS), Cloud-based applications—or software as a service (SaaS)—run on distant computers “in the cloud” that are owned and operated by others and that connect to users’ computers via the Internet and, usually, a web browser.
Platform as a service (PaaS), Platform as a service provides a cloud-based environment with everything required to support the complete lifecycle of building and delivering web-based (cloud) applications—without the cost and complexity of buying and managing the underlying hardware, software, provisioning and hosting.
Infrastructure as a service (IaaS), Infrastructure as a service provides companies with computing resources including servers, networking, storage, and data center space on a pay-per-use basis.
Cloud Computing merupakan teknologi yang menggunakan internet dan remote server pusat untuk menjaga data dan aplikasi. Cloud computing memungkinkan konsumen dan pebisnis untuk menggunakan aplikasi tanpa instalasi dan mengakses file pribadi mereka di komputer manapun dengan akses internet. Teknologi ini memungkinkan untuk komputasi yang jauh lebih efisien dengan memusatkan penyimpanan data, pengolahan dan bandwidth.

Menurut jurnal yang dipublikasikan IEEE.

Internet Computing / Cloud Computing adalah suatu paradigma dimana informasi secara permanen tersimpan di server internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, handheld, sensor-sensor, monitor dan lain-lain.

Sebuah contoh sederhana dari komputasi awan email Yahoo, Gmail, atau Hotmail dll Yang Anda butuhkan hanyalah koneksi internet dan Anda dapat mulai mengirim email. Server dan Perangkat lunak manajemen email semua di atas awan (internet) dan benar-benar dikelola oleh penyedia layanan cloud Yahoo, Google dll. Konsumen bisa menggunakan perangkat lunak sendiri dan menikmati manfaatnya. Analogi ini, "Jika Anda membutuhkan susu, untuk apa anda membeli sapi?" Semua pengguna atau konsumen butuhkan yaitu untuk mendapatkan manfaat menggunakan perangkat lunak atau perangkat keras komputer seperti mengirim email dll Hanya untuk mendapatkan manfaat ini (susu) jadi untuk apa konsumen membeli (sapi) software / hardware?

Cloud computing dibagi menjadi tiga yaitu: "Aplikasi", "storage", dan "konektivitas" Setiap segmen memiliki tujuan yang berbeda dan menawarkan produk yang berbeda untuk pebisnis dan individu di seluruh dunia. Pada bulan Juni 2011, sebuah studi yang dilakukan oleh V1 menemukan bahwa 91% dari profesional senior TI sebenarnya tidak tahu apa komputasi awan dan dua-pertiga dari profesional senior keuangan sudah menyoroti sifat dari teknologi. Pada September 2011, sebuah studi Aberdeen Group menemukan bahwa perusahaan mencapai rata-rata kenaikan 68% beban IT mereka untuk komputasi awan dan baru 10% pengurangan dalam data center biaya listrik.
Google Drive adalah salah satu contoh layanan cloud storage dari Google yang diluncurkan pada akhir April 2012, yaitu layanan untuk menyimpan file di internet pada storage yang disediakan oleh Google. Dengan menyimpan file di Google Drive maka pemilik file dapat mengakses file tersebut kapanpun dimanapun dengan menggunakan komputer desktop, maupun perangkat mobile, Kapasitas yang disediakan oleh google drive untuk layanan gratis adalah 5GB, untuk menggunakan kapasitas lebih dari itu maka akan dikenakan biaya tambahan.

Kapan saatnya pindah ke Cloud Computing

-          Dari sisi perusahaan:
Jika perusahaan merasa sudah menghabiskan banyak biaya untuk divisi TI, tapi hanya menghasilkan imbal balik yang kecil dari sisi bisnis, itulah saatnya mempertimbangkan cloud computing
 Untuk perusahaan skala kecil dan menengah, kalau dihadapkan dengan pilihan membeli server mahal dan harus mempekerjakan karyawan baru untuk mengoperasikan server tersebut, padahal pemasukan masih kecil, sebaiknya mencari alternatif lain (Cloud).
 untuk perusahaan skala enterprise, ada kalanya mereka telah terlalu banyak memiliki aset TI sehingga mulai kehilangan waktu untuk melakukan pendataan. Berapa jumlah server yang dipunyai, kapan server itu dibeli, dan sebagainya
-          Dari sisi end user:
Ketika resiko kehilangan data semakin meningkat, maka gunakanlah cloud storage.
Ketika spesifikasi computer dirasa sudah tidak mampu lagi untuk menjalankan beberapa aplikasi, misalnya untuk menggunakan office terbaru, bias menggunakan cloud office application.
Mengandalkan analisis untuk membuat laporan tertentu, tapi hanya menggunakan bagian dari tahun. Perusahaan awan bisa mulai menawarkan data analisis secara laporan-demi-laporan, bukan ditagih di akhir bulan dengan biaya bulanan. Untuk kasus ini ada penyedia cloud report yaitu DB2web Query dari IBM.


Komputasi GRID
Berbeda dengan cloud computing, Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar. Dalam hal bisa disebut sebagai parallel computing baik itu secara riil maupun virtual. Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah :
-          Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
-          Sistem menggunakan standard dan protocol yang terbuka.
-          Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

Secara generik, keuntungan dasar dari penerapan komputasi Grid, yaitu:

-           Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle.
-          Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas.
-          Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik.
-          Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik

Arsitektur GRID Computing
Seperti terlihat pada gambar tersebut,GRID COMPUTING dibangun dengan jalan menggabungkan sistem-sistem komputasi grid yang berada di institusi-institusi penelitian (GRID-2, 3, 4) menjadi satu kesatuan. Konfigurasi perangkat keras dan perangkat lunak masing-masing sistem di tingkat institusi dapat berbeda, namun dengan mengoperasikan teknologi grid computing seperti GT4 pada simpul-simpul penghubung dari masing-masing sistem, keseluruhan sistem membentuk satu kesatuan infrastruktur komputasi grid. Dengan konfigurasi seperti ini, jika dibutuhkan,pengguna di suatu institusi dapat memanfaatkan sumber daya komputasi yang berada di luar institusinya.
Jika suatu institusi telah mengimplementasikan suatu teknologi grid computing tertentu seperti SUN Grid Engine (SGE) atau teknologi komputasi berbasis jaringan seperti PVM, MPI, Condor maka sistem GT4 dapat  dikonfigurasikan untuk berkoordinasi dengan masing-masing teknologi tersebut. Salah satu prasyarat dari pembentukan GRID COMPUTING adalah tersedianya suatu backbone jaringan berkapasitas besar untuk menghubungkan simpul-simpul penghubung di masing-masing institusi (harus memiliki lebar pita mulai 2 Mbps sampai dengan 155 Mbps).

Komponen-komponen penting :

GRAM: Grid Resource Allocation & Management
Komponen ini bertanggung jawab dalam mengelola seluruh sumber daya komputasi yang tersedia dalam sistem komputasi grid.
Pengelolaan ini mencakup eksekusi program pada seluruh komputer yang tergabung dalam sistem komputasi grid, mulai dari inisiasi, monitoring, sampai penjadwalan (scheduling) dan koordinasi antar proses.

RFT/GridFTP: Reliable File Transfer/Grid File Transfer Protocol
Komponen ini memungkinkan pengguna mengakses data yang berukuran besar dari simpul-simpul komputasi yang tergabung dalam sistem komputasi grid secara efisien dan dapat diandalkan.

MDS: Monitoring & Discovery Service
Komponen ini memungkinkan pengguna sistem GT4 melakukan monitoring proses komputasi yang tengah berjalan sehingga masalah yang timbul dapat segera diketahui.

GSI: Grid Security Infrastructure
Komponen ini bertanggung jawab atas keamanan sistem komputasi grid secara keseluruhan. Sistem keamanan GT4 dibangun atas komponen-komponen standar keamanan yang telah teruji, yang mencakup proteksi data, autentikasi, delegasi, dan autorisasi. Konfigurasi dasar GT4 mengasumsikan baik pengguna maupun layanan menggunakan standar keamanan yang menggunakan standar kunci publik X.509.

VIRTUALISASI
Virtualisasi adalah membuat sebuah simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Di bidang teknologi informasi, virtualisasi digunakan sebagai sarana untuk improvisasi skalabilitas dari perangkat keras yang ada.
Dengan virtualisasi, beberapa sistem operasi dapat berjalan secara bersamaan pada satu buah komputer. Hal ini tentunya dapat mengurangi biaya yang harus dikeluarkan oleh sebuah perusahaan.
Perangkat lunak yang digunakan untuk menciptakan virtual machine pada host machine biasa disebut sebagai hypervisor atau Virtual Machine Monitor (VMM). Menurut Robert P. Goldberg dalam tesisnya yang berjudul Architectural Principles For Virtual Computer Systems pada hal 23 menyebutkan bahwa tipe-tipe dari VMM ada 2 yaitu:
Type 1 berjalan pada fisik komputer yang ada secara langsung. Pada jenis ini hypervisor/VMM benar-benar mengontrol perangkat keras dari komputer host-nya. Termasuk mengontrol sistem operasi-sistem operasi guest-nya. Contoh implementasi yang ada adalah KVM dan OpenVZ. Adapun contoh yang lain seperti VMWare ESXi, Microsoft Hyper-V.

Gufron Rajo Kaciak
Type 2 berjalan pada sistem operasi diatasnya. Pada tipe ini sistem operasi guest berada diatas sistem operasi host. Contoh tipe ini adalah VirtualBox.

Gufron Rajo Kaciak

Distributed Computation dalam Cloud Computing

Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.

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).
Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.

Map Reduce dan NoSQL (Not Only SQL)

MapReduce adalah model pemrogramana rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan parallel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map bertugas utnuk mengumpulkan informasi dari potongan-potongan data yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

NoSQL adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Dalam NoSQL, setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya.
NoSQL Database adalah sebuah database yang bertipe NoSQL, yaitu database ini tidak mengenal istilah relational dan tidak menggunakan konsep schema. Contoh dari NoSQL Database salah satunya adalah MongoDB.

NoSQL

Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal. Selain itu NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan datadan desain database yang berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skala bilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani.NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarangbahasa query terstruktur (SQL) Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupel

KOMPUTASI TERDISTRIBUSI
Komputasi terdistribusi adalah suatu sistem pada jaringan komputer yang dihubungkan dengan cara tertentu sehingga tampak seperti satu komputer bagi pemakai individual. Komputasi terdistribusi menggunakan sumber daya komputer yang ada dan melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis yang bertujuan untuk memecahkan berbagai macam persoalan komputasi dalam skala besar. Komputasi terdistribusi mentransformasikan banyak komputer dalam satu jaringan yang dapat digunakan secara efektif seperti halnya sebuah komputer saja, sehingga memaksimalkan penggunaan sumber daya komputasi. Hal ini berarti bahwa setiap klien dalam jaringan dapat mengakses setiap file data yang terdapat dalam jaringan, menjalankan program komputer yang ada dalam jaringan (baik yang ada dalam server maupun yang ada dalam klien). Komputasi terdistribusi adalah jaringan, tetapi tidak semua jaringan merupakan komputasi terdistribusi. Jaringan hanya akan merupakan sistem komputasi terdistribusi apabila unsur-unsur data, file, dan komputer di dalam jaringan dapat diakses melalui setiap klien berdasarkan nama, bukan berdasarkan lokasi fisik. Ada 2 buah komponen penting dalam komputasi terdistribusi yaitu server atau komputer pusat yang secara konstan menyediakan dan menjalankan program komputer dan database yang dibutuhkan oleh komputer lain di dalam jaringan tersebut serta workstation atau client yang berisi program yang ditempatkan pada server jaringan.


Cara Kerja Komputasi Terdistribusi
Cara kerja komputasi terdistribusi adalah beban kerja akan didistribusikan ke komputer-komputer yang terhubung untuk diselesaikan dimana semua itu dikendalikan oleh suatu sistem operasi. Pengguna hanya cukup melakukan pengaturan sistem operasi, kemudian sistem operasilah yang akan melakukan tugasnya mengorganisasi kemampuan dan tugas ke komputer-komputer itu.

Karakteristik Komputasi Terdistribusi
Ciri khas dari komputasi terdistribusi adalah heterogenitas dalam berbagai hal seperti perangkat keras, sistem operasi, dan bahasa pemrograman karena tidak mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas (interoperability). Ciri lain dari komputasi terdistribusi adalah dimana pemakai tidak perlu menyadari komputer mana yang bekerja untuk melaksanakan tugas komputasi. Ibaratnya, pemakai ingin ini dan mendapat hasil komputasi yang diingkan tanpa memandang oleh siapa pekerjaan itu dikerjakan. Semua alokasi sumber daya dan penanganan kerja dikendalikan oleh sistem operasi. Dicirikan pula menggunakan banyak komputer yang saling terhubung dalam suatu jaringan komputer, untuk melakukan komunikasi proses antar komputer yang bekerja.

Kegunaan Komputasi Terdistribusi
Kegunaan komputasi terdistribusi antara lain adalah untuk membantu manusia dalam melakukan perhitungan yang sangat besar supaya dapat diselesaikan dengan cepat, tepat dan akurat, memperlancar pelayanan situs web yang sering dikunjungi, pengetesan algoritma misal dalam benchmarking masalah-masalah yang berkaitan dengan algoritma genetika, pendukung server basis data yang besar dan banyak client pengaksesnya, dan lain sebagainya. Seperti diketahui bahwa kebutuhan manusia akan komputasi yang cepat dan akurat yang tidak dapat ditangani oleh sebuah mesin komputer misal perhitungan dalam peramalan posisi benda langit di lembaga penelitian luar angkasa. Selain itu digunakan pula untuk menangani beban permintaan yang besar semisal search engine agar mampu menangani ribuan request serentak tanpa mengalami gangguan penundaan pelayanan, contohnya Google yang memiliki komputer cluster terbesar didunia.

Dampak Komputasi Terdistribusi
Komputasi terdistribusi memiliki dampak baik dan buruk bagi kehidupan umat manusia antara lain manusia lebih mudah dan lebih cepat untuk mendapatkan informasi yang mereka inginkan, membantu manusia untuk melakukan perhitungan yang sangat besar supaya dapat diselesaikan dengan cepat, tepat dan akurat, membantu perusahaan-perusahaan besar dalam masalah basis data perusahaan, dan lain sebagainya. Selain itu sistem komputasi terdistribusi juga memiliki dampak yang kurang baik karena membuat manusia semakin tergantung kepada komputer atau mesin, komputasi terdistribusi juga sering disalahgunakan untuk hal-hal yang kurang baik atau untuk kejahatan, dan penggunaan komputasi terdistribusi oleh personal kadang kala menjadi suatu pemborosan karena mereka tidak memiliki masalah sebesar perusahan atau institusi.

Kelebihan & Kekurangan Komputasi Terdistribusi
Komputasi terdistribusi juga memiliki kelebihan dan kekurangan, seperti yang dijelaskan sebagai berikut :
Kelebihan komputasi terdistribusi :
1.Pembagian sumber daya antar komputer dibuat lebih mudah
2.Menyediakan kinerja yang baik dengan mendistribusikan beban kerja ke komputer-komputer dan mengerjakan bagian dari pekerjaan itu secara bersamaan pada beberapa processor
3.Menjadikan sistem keseluruhan lebih handal, karena kegagalan yang terjadi pada salah satu komponen dapat ditangani oleh komponen yang setingkat lainnya
Kekurangan komputasi terdistribusi :
1.Penggunaan energi yang digunakan untuk menghidupkan komputer-komputer yang digunakan sebagai “cluster”
2.Peralatan pendukung lainnya misalkan piranti jaringan yang digunakan untuk menghubungkan antar komputer
3.Delay komunikasi yang terjadi tidak dapat diprediksi karena melibatkan banyak komponen serta tidak adanya referensi clock yang universal yang dapat dijadikan system clock

Implementasi komputasi modern dibidang matematika
Komputasi adalah algoritma yang digunakan untuk menemukan suatu cara untuk memecahkan masalah dari sebuah data input. Komputasi ini merupakan bagian dari ilmu matematika dan ilmu computer. Ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numeric serta penggunaan computer untuk menganalisis dan memecahkan masalah – masalah ilmu. Jadi komputasi modern adalah sebuah konsep system yang mana menerima instruksi – intruksi dan menyimpannya dalam sebuah memory, memory ini bias juga dari memory computer. Oleh karena itu, kita melakukan komputasi menggunakan computer maka bias dibilang computer merupakan sebuah komputasi modern. Istilah mesin komputasi digunakan dari tahun 1920, mengacu pada setiap mesin yang melakukan pekerjaan computer manusia, yaitu setiap mesin yang menghitung sesuai dengan metode yang efektif. Selama akhir 1940-an dan awal 1950-an, muncul mesin komputasi elektronik, mesin komputasi secara bertahap member jalan hanya untuk ‘komputer’, awalnya biasa dengan elektronik ‘awalan’ atau ‘digital’.
Karakteristik komputasi modern
Komputer – komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, system operasi, serta aplikasi yang terpasang.
Komputer – komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
Komputer maupun jaringan tidak terdedikasi, bias hidup atau mati sewaktu – waktu tanpa jadwal yang jelas.


Implementasi Komputasi Modern di Bidang Matematika
Implementasi komputasi modern di bidang matematika ada numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah – masalah matematika. Bidang analisis numerik sudah sudah dikembangkan berabad-abad sebelum penemuan komputer modern. Interpolasi linear sudah digunakan lebih dari 2000 tahun yang lalu. Banyak matematikawan besar dari masa lalu disibukkan oleh analisis numerik, seperti yang terlihat jelas dari nama algoritma penting seperti metode Newton,interpolasi polynomial Lagrange, eliminasi Gauss, atau metode Euler.
Buku-buku besar berisi rumus dan tabel data seperti interpolasi titik dan koefisien fungsi diciptakan untuk memudahkan perhitungan tangan. Dengan menggunakan tabel ini (seringkali menampilkan perhitungan sampai 16 angka desimal atau lebih untuk beberapa fungsi), kita bisa melihat nilai-nilai untuk diisikan ke dalam rumus yang diberikan dan mencapai perkiraan numeris sangat baik untuk beberapa fungsi. Karya utama dalam bidang ini adalah penerbitan NIST yang disunting oleh Abramovich dan Stegun, sebuah buku setebal 1000 halaman lebih. Buku ini berisi banyak sekali rumus yang umum digunakan dan fungsi dan nilainilainya di banyak titik. Nilai f-nilai fungsi tersebut tidak lagi terlalu berguna ketika komputer tersedia, namun senarai rumus masih mungkin sangat berguna.Kalkulator mekanik juga dikembangkan sebagai alat untuk perhitungan tangan.
Kalkulator ini berevolusi menjadi komputer elektronik pada tahun 1940. Kemudian ditemukan bahwa komputer juga berguna untuk tujuan administratif. Tetapi penemuan komputer juga mempengaruhi bidang analisis numerik, karena memungkinkan dilakukannya perhitungan yang lebih panjang dan rumit.
Berdasarkan jurnal yang dipost di blog sebelumnya dapat dianalisa sebagai berikut.
Dilihat dari source code berikut ini
1        clc
2        clear all
3
4        % -- batas integrasi --
5        a = 0;
6        b = 2
7
8        x0 = a;
9       x3 = b;
10        h = (b-a)/3;
11        x1 = a + h;
12        x2 = a + 2*h;
13        % ---------------------
14
15        % -- metode simpson 3/8 --
16        Int_38 = 3*h/8*(f(x0)+3*f(x1)+3*f(x2)+f(x3))

Disimpulkan bahwa data proses dari sebuah input mula-mula akan disimpan pada sebuah memory. Yaitu memory registry dimana merupakan penyimpanan smentara sebelum sebuah input itu diproses menjadi sebuah output. Ini merupakan sebuah contoh yang di implementasikan kedalam sebuah system pemrograman mengenai perhitungan integrasi.

Sisi keamanan infrastruktur
Belum diperlukan keamanan dari masalah diatas. Karena hanya berjalan pada sebuah system perhitungan integrasi dengan menggunaan beberapa metode. Alasannya, system tersebut belum memerlukan database yang besar. Karena hanya memakai memory registry untuk menyimpan inputnya sehingga keamanan tidak terlalu dibutuhkan.
Sisi Jaringan dan Layanan

Tidak terdefiniskan untuk masalah diatas.


Sumber :
http://www.ibm.com/cloud-computing/us/en/what-is-cloud-computing.html
http://www.wikinvest.com/concept/Cloud_Computing
http://www.blognazcules.com/2013/03/definisi-cloud-computing.html
http://www.infokomputer.com/2014/04/berita/berita-reguler/ciri-ciri-perusahaan-perlu-pindah-ke-cloud-computing/
http://seto.citravision.com/berita-36-pengantar-komputasi-cloud--pengantar-komputasi-grid.html
http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
http://putrifebiani.blogspot.com/2014/05/map-reduce-dan-nosql.html
https://azizazkink.wordpress.com/2014/05/09/distributed-computation-dalam-cloud-computing/
https://www.youtube.com/watch?v=qav1FXDzxEw

Rabu, 16 Maret 2016

Komputasi Modern Matematika Integral Numerik

Integral Numerik






Objektif :

Mengenalkan metode Trapezoida Mengenalkan metode Simpson

Mengenalkan metode Composite-Simpson Mengenalkan metode Adaptive Quardrature Mengenalkan metode Gaussian Quadrature



9.1        Metode Trapezoida

Integral terhadap suatu fungsi, f(x), yang dievaluasi dari a hingga b dapat dinyatakan oleh rumus berikut ini
Z b
f (x)dx
(9.1)
a

Pendekatan numerik yang paling dasar dalam memecahkan masalah integral adalah metode Trapezoida, yang dirumuskan sebagai berikut

b

h

h3


Za
f (x)dx =

[f (x0) + f (x1)] −

f ′′(ξ)
(9.2)

2
12

dimana x0 = a, x1 = b dan h = b a. Akan tetapi, suku yang terakhir pada ruas kanan dimana terdapat faktor turunan ke-2, f ′′, seringkali diabaikan dengan tujuan agar persamaan (9.2) menjadi lebih sederhana.

Za
b
h



f (x)dx =
[f (x0) + f (x1)]
(9.3)

2

Akibatnya pendekatan Trapezoida hanya bekerja efektif pada fungsi-fungsi yang turunan kedua-nya bernilai nol (f ′′ = 0). Gambar (9.1) memperlihatkan prinsip metode trapezoida dalam bentuk grafik. Sementara, script berikut ini dibuat berdasarkan persamaan (9.3).



189




f(x)

f(x)




f(x1)



f(x0)








x0=a                                                             x1=b                                              x0=a                           x1=b

Gambar 9.1: Metode Trapezoida. Gambar sebelah kiri menunjukkan kurva fungsi f (x) dengan batas bawah integral adalah a dan batas atas b. Gambar sebelah kanan menunjukan cara metode Trapesoi-da menghitung integral dengan cara menghitung luas area integrasi, dimana luas area integrasi sama dengan luas trapesium di bawah kurva f (x) dalam batas-batas a dan b. Jika anda perhatikan dengan teliti, ada area kecil dibawah garis kurva dan diatas garis miring yang berada diluar bidang trapesium. Metode Trapesoida tidak menghitung luas area kecil tersebut. Disinilah letak kelemahan metode trape-zoida.

1        clear all

2        clc

3

4        a = ...  %batas bawah integral;

5        b = ...  %batas atas integral;

6

7        x0 = a;

8        x1 = b;

9        h = b-a;

10

11        % -- metode trapezoida --
12        Int_trapezoida = h/2*(f(x0)+f(x1))
Dengan fungsi eksternal fungsi f(x) adalah
1        function y = f(x)

2        y = ... % rumus fungsi yang di-integralkan;

9.2        Metode Simpson

Metode pendekatan yang lebih baik dibanding metode Trapezoida dalam integral numerik adalah metode Simpson yang diformulasikan sebagai berikut

Z
b

h

h5



f (x)dx =

[f (x0) + 4f (x1) + f (x2)] −

f 4(ξ)
(9.4)

a
3
90


dengan x0 = a, x2 = b, dan x1 = a + h dimana h = (b a)/2. Jika suku terakhir diabaikan, maka

Za
b
h



f (x)dx =
[f (x0) + 4f (x1) + f (x2)]
(9.5)

3




Gambar (9.2) memperlihatkan prinsip metode trapezoida dalam bentuk grafik. Sementara, script berikut ini dibuat berdasarkan persamaan (9.5).



9.2.  METODE SIMPSON
191


f(x)


f(x)







f(x 2)





f(x 1)






f(x0)









h





h









x0=a
x1=b
x0=a
x1
x2=b

Gambar 9.2: Metode Simpson. Gambar sebelah kiri menunjukkan kurva fungsi f (x) dengan batas bawah integral adalah a dan batas atas b. Gambar sebelah kanan menunjukan cara metode Simpson menghitung luas area integrasi, dimana area integrasi di bawah kurva f (x) dibagi 2 dalam batas interval a − x1 dan x1 − b dengan lebar masing-masing adalah h

1        clc

2        clear all

3

4        a = ... %batas bawah integrasi ;

5        b = ... %batas atas integrasi ;

6

7        x0 = a;

8        x2 = b;

9        h = (b-a)/2;

10     x1 = a + h;

11

12        % -- metode simpson --
13        Int_simpson = h/3*(f(x0)+4*f(x1)+f(x2))
Contoh
Metode Trapezoida untuk fungsi f pada interval [0,2] adalah

Z 2

f (x)dx ≈ f (0) + f (2)
0

dimana x0 = 0, x1 = 2 dan h = 2 0 = 2. Sedangkan metode Simpson untuk fungsi f pada interval [0,2] adalah
Z0
2
1


f (x)dx ≈
[f (0) + 4f (1) + f (2)]

3

dengan x0 = 0, x2 = 2, dan x1 = a + h = 1 dimana h = (b a)/2 = 1.

Tabel berikut ini memperlihatkan evaluasi integral numerik terhadap beberapa fungsi dalam interval [0,2] beserta solusi exact-nya. Jelas terlihat, metode Simpson lebih baik dibanding Trapezoida. Karena hasil intergral numerik metode Simpson lebih mendekati nilai exact


x2
x4



ex

f (x)
1/(x + 1)
1 + x2
sin x









Nilai exact
2,667
6,400
1,099
2,958
1,416
6,389

Trapezoida
4,000
16,000
1,333
3,326
0,909
8,389

Simpson
2,667
6,667
1,111
2,964
1,425
6,421













9.3        Peran faktor pembagi, n

Kalau diamati lebih teliti, akan kita dapatkan bahwa interval [0,2] telah dibagi 2 pada metode Simpson, sementara pada metode Trapesoida tidak dibagi sama sekali. Sebenarnya dengan membagi interval lebih kecil lagi, maka error -nya akan semakin kecil. Misalnya, banyaknya pembagian interval dinyatakan dengan n
ketika n = 1: Trapesioda





x1




h
h3











Zx0

f (x)dx =

[f (x0) + f (x1)] −


f ′′(ξ)




(9.6)






2
12





ketika n = 2: Simpson























x2



h



h5









Zx0
f (x)dx =

[f (x0) + 4f (x1) + f (x2)] −

f 4(ξ)


(9.7)



3
90



ketika n = 3: Simpson tiga-per-delapan












x3




3h





3h5





Zx0
f (x)dx =


[f (x0) + 3f (x1) + 3f (x2) + f (x3)] −

f 4(ξ)
(9.8)



8
80

ketika n = 4:






















x4


2h















8h7


Zx0
f (x)dx =


[7f (x0) + 32f (x1) + 12f (x2) + 32f (x3) + 7f (x4)] −

f 6(ξ)
(9.9)


45
945

9.3.1        Source code metode integrasi

Source code untuk persamaan (9.8) disajikan sebagai berikut
1        clc

2        clear all

3

4        % -- batas integrasi --

5        a = 0;

6        b = 2;

7

8        x0 = a;

9        x3 = b;

10        h = (b-a)/3;

11        x1 = a + h;
12        x2 = a + 2*h;

13        % ---------------------

14

15        % -- metode simpson 3/8 --
16        Int_38 = 3*h/8*(f(x0)+3*f(x1)+3*f(x2)+f(x3))
Sementara, source code untuk persamaan (9.9) disajikan sebagai berikut



1        clc

2        clear all

3




4        % -- batas integrasi --

5        a = 0;

6        b = 2;

7

8        x0 = a;

9        x4 = b;

10        h = (b-a)/4;

11        x1 = a + h;
12        x2 = a + 2*h;

13         x3 = a + 3*h;

14        % ---------------------

15

16        % -- metode simpson n=4 --
17        Int_n4 = 2*h/45*(7*f(x0)+32*f(x1)+12*f(x2)+32*f(x3)+7*f(x4))


Perbandingan tingkat akurasi hasil perhitungan seluruh metode integral numerik yang su-
dah dibahas adalah sebagai berikut


x2
x4



ex

f (x)
1/(x + 1)
1 + x2
sin x









Nilai exact
2,667
6,400
1,099
2,958
1,416
6,389

Trapezoida
4,000
16,000
1,333
3,326
0,909
8,389

Simpson n=2
2,667
6,667
1,111
2,964
1,425
6,421

Simpson n=3
2,667
6,519
1,105
2,960
1,420
6,403

Simpson n=4
2,667
6,400
1,099
2,958
1,416
6,389












Keempat bentuk persamaan integral numerik di atas dikenal dengan closed Newton-Cotes formulas. Keterbatasan metode Newton-Cotes terlihat dari jumlah pembagian interval. Di
atas tadi pembagian interval baru sampai pada n = 4.               Bagaimana bila interval evaluasinya
dipersempit supaya solusi numeriknya lebih mendekati solusi exact?  Atau dengan kata lain
n > 4.

9.4        Metode Composite-Simpson

Persamaan (9.9) terlihat lebih rumit dibandingkan persamaan-persamaan sebelumnya. Bisakah
anda bayangkan bentuk formulasi untuk n = 5 atau n = 6 dan seterusnya?  Pasti akan lebih
kompleks dibandingkan persamaan (9.9).

Metode Composite Simpson menawarkan cara mudah menghitung intergal numerik ketika nilai n > 4. Perhatikan contoh berikut, tentukan solusi numerik dari R04 exdx. Metode Simpson dengan h = 2 (atau interval evaluasi integral dibagi 2 , n = 2) memberikan hasil

Z

4
2




exdx ≈
e0 + 4e2 + e4
= 56, 76958




0
3

Padahal solusi exact dari integral tersebut adalah e4
− e0  =  53, 59815, artinya terdapat er-

ror sebesar 3,17143 yang dinilai masih terlampau besar untuk ditolerir.  Bandingkan dengan



                                                                                                                                     

f(x)




h



x0=a                                                     x1      x2     x3      x4      x5     x6      x7   xn=b

Gambar 9.3: Metode Composite Simpson. Kurva fungsi f (x) dengan batas bawah integral adalah a dan batas atas b. Luas area integrasi dipecah menjadi 8 area kecil dengan lebar masing-masing adalah h.


metode yang sama namun dengan h = 1 (atau interval evaluasi integral dibagi 4 , n = 4)

Z0 4 exdx   =
Z0 2 exdx + Z2 4 exdx






1
e0 + 4e + e2

1
e2 + 4e3 + e4





+


3
3


1
0








2


3
4



=


e  + 4e + 2e  + 4e  + e



3



=
53, 86385








Hasil ini memperlihatkan error yang makin kecil, yaitu menjadi 0,26570. Jadi dengan mem-perkecil h, error menjadi semakin kecil dan itu artinya solusi integral numerik semakin mendekati solusi exact. Sekarang kita coba kecilkan lagi nilai h menjadi h = 12 (atau interval evaluasi in-tegral dibagi 8 , n = 8),

Z 4                                             Z 1                 Z 2                 Z 3                 Z 4
exdx                                 =             exdx +         exdx +         exdx +         exdx
0                                                    0                      1                     2                      3
        16   e0 + 4e1/2 + e  + 16   e + 4e3/2 + e2   +
1
e2 + 4e5/2 + e3   +
1
e3 + 4e7/2 + e4




6
6

=         1 e0 + 4e1/2 + 2e + 4e3/2 + 2e2 + 4e5/2 + 2e3 + 4e7/2 + e4 6
=     53, 61622
dan seperti yang sudah kita duga, error -nya semakin kecil menjadi 0,01807.

Prosedur ini dapat digeneralisir menjadi suatu formula sebagai berikut



Z b
f (x)dx            =
a

=


n/2

x2j

j=1


Zx2j−2 f (x)dx

X



n/2
3 [f (x2j−2) + 4f (x2j−1) + f (x2j )] −

j=1

X
h










h5



90 f (4)(ξj )
(9.10)





dimana h = (b −a)/n dan xj = a + jh, untuk j = 1, ..., n/2, dengan x0 = a dan xn = b. Formula ini dapat direduksi menjadi
Za
f (x)dx =
3
f (x0) + 2
j=1
f (x2j ) + 4 j=1 f (x2j−1) + f (xn)
90 j=1 f (4)
(ξj )    (9.11)


b
h

(n/2)−1
n/2


h5
n/2







X
X



X










Formula ini dikenal sebagai metode Composite Simpson.

9.5        Adaptive Quardrature

Metode composite mensyaratkan luas area integrasi dibagi menjadi sejumlah region dengan jarak interval yang seragam yaitu sebesar nilai h. Akibatnya, bila metode composite diterapkan pada fungsi yang memiliki variasi yang tinggi dan rendah sekaligus, maka interval h yang kecil menjadi kurang efektif, sementara interval h yang besar mengundang error yang besar pula. Metode Adaptive Quadrature muncul untuk mendapatkan langkah yang paling efektif dimana nilai interval h tidak dibuat seragam, melainkan mampu beradaptasi sesuai dengan tingkat variasi kurva fungsinya.
Misalnya kita bermaksud mencari solusi numerik dari integral Rab f (x)dx dengan toleransi
Ç« > 0. Sebagai langkah awal adalah menerapkan metode Simpson dimana step size h = (b −


a)/2
Z
b

h5


f (x)dx = S(a, b) −


f (4)(µ)

a

90

dengan

S(a, b) = h3 [f (a) + 4f (a + h) + f (b)]
Langkah berikutnya adalah men
Za
b
6

f (a) + 4f
a + 2
+ 2f (a + h) + 4f   a +
2
+ f (b)

f (x)dx   =





h





h

3h









4












h

(b − a)
f (4)(µ˜)







2








180











(9.12)











(9.13)



9.6        Gaussian Quadrature

Suatu integral dapat ditransformasi kedalam bentuk Gaussian quadrature melalui formulasi berikut

Z
b
Z
1

2

2



a
−1




f (x)dx =


f
(b − a)t + (b + a)

(b − a)
dt
(9.14)








dimana perubahan variabel memenuhi

t =
2x − a − b
x =

1
[(b
a)t + a + b]
(9.15)


2


b
a

















Berikut adalah table polinomial Legendre untuk penyelesaian Gaussian quadrature





Tabel 9.1: Polinomial Legendre untuk n=2,3,4 dan 5






n
Akar rn,i
Koefisien cn,i






2
0,5773502692
1,0000000000



-0,5773502692
1,0000000000

3
0,7745966692
0,5555555556



0,0000000000
0,8888888889



-0,7745966692
0,5555555556

4
0,8611363116
0,3478548451



0,3399810436
0,6521451549



-0,3399810436
0,6521451549



-0,8611363116
0,3478548451

5
0,9061798459
0,2369268850



0,5384693101
0,4786286705



0,0000000000
0,5688888889



-0,5384693101
0,4786286705



-0,9061798459
0,2369268850








9.6.1    Contoh

Selesaikan integrasi berikut ini
Z                                                                                            1,5
e−x2 dx                                                                                                                                                                             (9.16)
1
(Solusi exact integral diatas adalah: 0.1093643)

jawab:

Pertama, integral tersebut ditransformasikan kedalam Gaussian quadrature melalui persamaan (9.14)
Z
1,5
e−x
2

1
Z
1

−(t+5)2




dx =


e

dt
(9.17)





16

1

4
−1


Kedua, Gaussian quadrature dihitung menggunakan konstanta-konstanta yang tercantum pa-da tabel polinomial Legendre. Untuk n = 2

Z1
1,5
2

1
he(−(0,5773502692+5)
2




2
/16)i = 0, 1094003








e−x
dx ≈




/16) + e(−(−0,5773502692+5)



4



Untuk n = 3

















1,5
2


1



2




2


Z1


[(0, 5555555556)e(−(0,7745966692+5)
/16) + (0, 8888888889)e(−(5)
/16)

e−x
dx





4







+




(−(−0,7745966692+5)2
/16)
] = 0, 1093642






(0, 5555555556)e









Sumber : http://supriyanto.fisika.ui.ac.id/laci04/komputasi_matlab_3.pdf