Sabtu, 18 Mei 2013

KOMPUTASI QUANTUM



Pendahuluan
Komputasi kuantum adalah bidang studi 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 bersamaa. Kini pusat penelitian di komputasi kuantum termasuk MIT, IBM, Oxford University, dan Los Alamos National Laboratory.

Entanglement
Entanglement merupakan keadaan dimana dua atom yang berbeda berhubungan sedemikian hingga satu atom mewarisi sifat atom pasangannya. “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.
Para ahli fisika dari University of Maryland telah satu langkah lebih dekat ke komputer kuantum dengan mendemonstrasikan eksistensi entanglement antara dua gurdi kuantum, masing-masing diciptakan dengan tipe sirkuit padat yang dikenal sebagai persimpangan Josephson. Temuan terbaru ini mendekatkan jalan menuju komputer kuantum dan mengindikasikan bahwa persimpangan Josephson pada akhirnya dapat digunakan untuk membangun komputer supercanggih.

Pengoperasian Data Qubit
Proses komputasi dilakukan pada partikel ukuran nano yang memiliki sifat mekanika quantum, maka satuan unit informasi pada Komputer Quantum disebut quantum bit, atau qubit. Berbeda dengan bit biasa, nilai sebuah qubit bisa 0, 1, atau superposisi dari keduanya. State dimana qubit diukur adalah sebagai vektor atau bilangan kompleks. Sesuai tradisi dengan quantum states lain, digunakan notasi bra-ket untuk merepresentasikannya.
Pure qubit state adalah superposisi liner dari kedua state tersebut. Lebih jelasnya, sebuah pure qubit state dapat direpresentasikan oleh kombinasi linear dari state|0> dan state |1> : Dengan α dan β adalah amplitudo probabilitas yan dapat berupa angka kompleks. State space dari sebuah qubit secara geometri dapat direpresentasikan Bloch sphere
Bloch sphere adalah ruang 2 dimensi yang merupakan geometri untuk permukaan bola. Dibandingkan bit konvensional yang hanya dapat beradai di salah satu kutub, Qubit dapat berada dimana saja dalam permukaan bola. Untuk penerapan fisiknya, semua sistem 2 level, selama ukurannya cukup kecil untuk hukum mekanika quantum berlaku. Berbagai jenis implementasi fisik telah dikemukakan, contohnya antara lain: polarisasi cahaya, spin elektron, muatan listrik, dll.
Superposisi quantum adalah inti perbedaan antara qubit dengan bit biasa. Dalam keadaan superposisi, sebuah qubit akan bernilai |0> dan |1> pada saat bersamaan. Menurut interpretasi Copenhagen, bila dilakukan pengukuran terhadap qubit, maka hanya akan muncul satu state saja. State lainnya “kolaps” dalam arti hancur dan tidak mungkin diambil kembali.
Pemanfaatan sifat superposisi qubit ini adalah Paralellisme Quantum. Paralelisme Quantum muncul dari kemampuan quantum register untuk menyimpan superposisi dari base state. Maka setiap operasi pada register berjalan pada semua kemungkinan dari superposisi secara simultan. Karena jumlah state yang mungkin adalah 2n, dengn n adalah jumlah qubit pada quantum register, kita dapat melakukan pada komputer quantum satu kali operasi yang membutuh kan waktu eksponensial pada komputer konvensional. Kelemahan dari metode ini adalah, semakin besar base state yang bersuperposisi, semakin kecil kemungkinan hasil pengukuran dari nilai hasil pengukuran tersebut benar. Kelemahan ini membuat pararellisme quantum tidak berguna bila operasi dilakukan pada nilai yang spesifik. Namun kelemahan ini tidak begitu berpengaruh pada fungsi yang memperhitungkan nilai dari semua input, bukan hanya satu. Sebagaimana ditunjukkan pada Algoritma Shor.

Quantum Gate
Dalam komputasi kuantum dan khusus kuantum sirkuit model komputasi, gerbang kuantum (atau Gerbang logika kuantum) adalah rangkaian dasar kuantum yang beroperasi di sejumlah kecil qubits. Mereka adalah blok bangunan dari kuantum sirkuit, seperti gerbang logik klasik sirkuit digital konvensional.
Tidak seperti logika klasik pintu gerbang pada umumnya, logika kuantum bersifat reversibel. Namun, komputasi klasik hanya dapat dilakukan dengan menggunakan gerbang reversibel. Sebagai contoh, gerbang Toffoli reversibel dapat melaksanakan semua fungsi Boolean. Gerbang ini memiliki penyetaraan kuantum secara langsung, menampilkan bahwa sirkuit kuantum dapat melakukan semua operasi yang dilakukan oleh sirkuit klasik.
Gerbang logik kuantum yang diwakili oleh kesatuan matriks. Gerbang kuantum yang paling umum beroperasi pada ruang dari satu atau dua qubits, seperti Gerbang logika klasik umum beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai matriks, gerbang kuantum dapat dijelaskan oleh 2 × 2 atau 4 × 4 kesatuan matriks.

Algoritma Shor
Algoritma Shor merupakan sebuah metode yang dikembangkan tahun 1994 oleh ilmuwan AT&T  Peter Shor untuk menggunakan komputer kuantum yang futuristis untuk menemukan faktor-faktor dari sebuah bilangan. Bilangan-bilangan yang diperkalikan satu dengan yang lain  untuk  memperoleh  bilangan  asli.  Saat ini, pemfaktoran (factoring) sebuah bilangan besar masih terlalu sulit bagi komputer konvensional meskipun begitu mudah untuk  diverifikasi. Itulah sebabnya pemfaktoran bilangan besar ini banyak digunakan dalam metode kriptografi untuk melindungi data.



SOURCE :
http://id.wikipedia.org/wiki/Komputer_kuantum 
http://my.opera.com/nduwun/blog/2011/05/27/komputasi-quantum
http://www.popsci.com/technology/article/2010-11/enhanced-research-us-and-europe-drives-advances-quantum-computing
 

Senin, 29 April 2013

KOMPUTASI CLOUD

PENDAHULUAN

Cloud Computing (komputasi awan) merupakan pemanfaatan teknologi computer oleh pengguna dengan  menjalankan sebuah aplikasi yang tidak berada di computer yang digunakannya, namun file – file tersebut berada di computer lain yang dihubungkan dengan internet. Dengan kata lain, cloud computing merupakan sebuah layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary. Beberapa contoh penggunaan cloud computing antara lain : email service, facebook, google apps,dll.

Cloud computing merupakan gabungan antara virtualisasi dan grid computing. Di dalam cloud computing dikenal istilah front-end (desktop-PC) dan back-end(server). Front-end dan back-end harus saling terhubung di dalam sebuah jaringan internet. Front-end mengambil data dan menjalankan aplikasi dari back-end. Back-end merupakan sumber yang diistilahkan dengan cloud(awan).

 
PENGANTAR KOMPUTASI GRID

Dalam penggunaan komputasi grid, computer yang digunakan terpisah oleh geografis. Selain itu didistribusikan dan terhubung oleh jaringan dalam menyelesaikan masalah komputasi dalam skala yang besar. Berikut ini adalah beberapa hal yang dapat digunakan untuk mengenali system komputasi grid: 
·                     System untuk koordinat sumber daya komputasi tidak di bawah kendali pusat.
·                     System menggunakan standard dan protocol yang terbuka.
·                     System mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik di atas komponen individu pelayanan komputasi grid.

VIRTUALISASI

Virtualisasi merupakan teknologi yang memungkinkan pengguna untuk membuat versi virtual dari sesuatu yang bersifat fisik, seperti system operasi, penyimpanan data atau sumber daya jaringan. Istilah virtualisasi merupakan pemisahan sumber daya computer yang terdiri atas jaringan, penyimpanan dan server. Virtualisasi menyembunyikan karakteristik fisik sumber daya komputasi ke pengguna.

Sebuah physical resources (sebuah server/aplikasi/penyimpanan) dapat terlihat seperti beberapa resources virtual dan begitu pun sebaliknya. Berikut ini adalah beberapa teknologi virtual : virtualisasi storage, virtualisasi komputasi dan virtualisasi network.

Dalam cloud computing selain ada proses virtualisasi,juga terdapat grid computing, dimana seluruh beban proses komputasi yang ada akan didistribusikan ke berbagai server yang saling terhubung di dalam cloud, sehingga prosesnya akan jauh lebih ringan.

Kesimpulannya, cloud computing merupakan gabungan antara teknologi virtualisasi dan grid computing. Tentunya implementasi cloud computing mampu memberikan hasil yang jauh lebih efisien dan powerfull dalam hal proses komputasi dan pengelolaan resource IT secara terdistribusi.


DISTRIBUTED COMPUTATION DALAM CLOUD COMPUTING

Distributed computing terkait dengan system perangkat keras dan perangkat lunak yang memiliki lebih dari satu elemen pemrosesan atau storage element, concurrent process atau multiple program yang berjalan di bawah pengendalian yang ketat.

Pada distributed computing, program dipecah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang berkomunikasi melalui jaringan.

MAP REDUCE DAN NoSQL (Not Only SQL) 

Map reduce merupakan framework pemrograman yang berfungsi untuk processing data yang berukuran besar. Map reduce biasa digunakan untuk komputasi terdistribusi pada banyak computer.
NoSQL (Not Only SQL) tidak mengenalistilah relation, selain itu NoSQL tidak menggunakan konsep schema.

NoSQL DATABASE

NoSQL adalah sebuah class dari data storage system yang tidak berelasi. NoSQL tidak memerlukan skema table, sehingga tidak menggunakan konsep relasi. NoSQL database secara native tidak menggunakan SQL seperti yang biasa terdapat pada relational database. 



http://www.slideshare.net/jhotank62/cloud-computing-fundamental

http://www.diskusiweb.com/discussion/41339/mengenal-mongodb-open-source-database-nosql-document-oriented/p1

Rabu, 10 April 2013

TEORI KOMPUTASI MODERN



Pengenalan Komputasi Modern

Seiring dengan perkembangan komputer maka lahirlah makna bagi komputer salah satunya adalah sebagai sebuah mesin yang melakukan komputasi. Adapun pengertian dari komputasi itu sendiri adalah sebagai suatu cara untuk menyelesaikan sebuah permasalahan dari inputan data dengan menggunakan algoritma dimana penerapannya menggunakan berbagai teknologi yang telah berkembang seperti komputer. Dengan adanya penyelesaian ini mengakibatkan munculnya teori komputasi yaitu suatu aktivitas penggunaan serta pengembangan teknologi komputer, perangkat keras, dan, perangkat lunak komputer. Teknologi komputasi ini merupakan bagian yang spesifik komputer dari teknologi informasi.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematikateknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu. dan
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.

Adapun yang menjadi perhitungan dari komputasi modern adalah :
1. Akurasi (big, Floating point)
2. Kecepatan (dalam satuan Hz)
3. Problem Volume Besar (Down Sizzing atau pararel)
4. Modeling (NN & GA)
5. Kompleksitas (Menggunakan Teori big O)

Sejarah Komputasi Modern
Dalam ilmu komputasi memiliki satu cabang ilmu yang bernama komputasi sains. Secara umum komputasi sains mempelajari aspek-aspek komputasi untuk aplikasi atau memecahkan masalah di bidang sains lain, seperti fisika, kimia, biologi dan geologi. Dalam sejarah komputasi modern tidak dapat terlepas dari peranan John von Neumann, beliau adalah ilmuwan yang meletakkan dasar-dasar komputer modern serta salah satu ahli matematika terbesar, beliau juga yang pertam kali mencetuskan konsep sebuah sistem yang menerima instruksi-instruksi dan menyimpannya dalam sebuah memori sehingga menjadi dasar arsitektur komputer hingga saat ini.
Kepiawaian Von Neumann terletak pada bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom, dan komputasi modern yang melahirkan komputer. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.
Keinginan Von Neumann untuk mempelajari matematika dilakukannya pada musim panas setelah studinya di Berlin dan sebelum masuk ETH Zurich. Dia menjadi mahasiswa program doktor pada Universitas Budapest. Tesis doktornya bertemakan aksiomasisai teori himpunan (set theory) yang dikembangkan George Cantor. Pada masa itu, set theory merupakan salah satu topik ‘menantang’ di dunia matematika.
Akhirnya pada tahun 1926, dia lulus dengan dua gelar yaitu gelar S1 pada bidang teknik kimia dari ETH dan gelar doktor (Ph.D) pada bidang matematika dari Universitas Budapest. (Sumber : http://www.komputasi.lipi.go.id/utama.cgi?cetakartikel&1111718762)
Von Neumann menjadi seorang konsultan pada pengembangan komputer ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai hingga saat ini. Arsitektur yang dirancang oleh Von Nuemann adalah seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, input-output, dan memori. Di bawah ini merupakan contoh komputasi modern sampai dengan lahirnya ENIAC (Sumber :http://phenomenalsite.co.cc/?p=46) :
  • Konrad Zuse’s electromechanical “Z mesin”. Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
  • Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor. Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
  • Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable. Komputer ini digunakan untuk memecahkan kode perang Jerman.
  • The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
  • Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan pada tahun 1941).
Pada tahun 1980-an merupakan awal kemajuan teknologi di bidang komputer untuk penggunaan pribadi, kemudian ditambah dengan kemajuan yang pesat dalam evolusi internet hingga saat ini yang memungkinkan sang pengguna komputer untuk mengeksplorasi dan mempelajari bidang-bidang ilmu komputasi lebih jauh dan mendalam seperti komputasi sains, diantaranya fisika, kimia, biologi, dan geologi.

Jenis-Jenis Komputasi Modern
Komputasi modern mempunyai 3 jenis, yaitu :

1. Mobile Computing atau Komputasi Bergerak
Mobile computing (komputasi bergerak) merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel serta mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Contoh dari mobile computing adalah GPS, smart phone, dan sebagainya.

2. Grid Computing
Komputasi grid memanfaatkan kekuatan pengolahan idle berbagai unit komputer, dan menggunakan kekuatan proses untuk menghitung satu pekerjaan. Pekerjaan itu sendiri dikontrol oleh satu komputer utama, dan dipecah menjadi beberapa tugas yang dapat dilaksanakan secara bersamaan pada komputer yang berbeda. Tugas-tugas ini tidak perlu saling eksklusif, meskipun itu adalah skenario yang ideal. Sebagai tugas lengkap pada berbagai unit komputasi, hasil dikirim kembali ke unit pengendali, yang kemudian collates itu membentuk keluaran kohesif.
Keuntungan dari komputasi grid adalah dua kali lipat: pertama, kekuatan pemrosesan yang tidak digunakan secara efektif digunakan, memaksimalkan sumber daya yang tersedia dan, kedua, waktu yang dibutuhkan untuk menyelesaikan pekerjaan besar berkurang secara signifikan.
Idealnya kode sumber harus direstrukturisasi untuk membuat tugas-tugas yang saling eksklusif adalah sebagai mungkin. Itu tidak berarti bahwa mereka tidak bisa saling bergantung, tetapi pesan yang dikirim antara tugas-tugas meningkatkan faktor waktu. Satu pertimbangan penting saat membuat pekerjaan komputasi grid adalah bahwa apakah kode dijalankan serial atau paralel tugas, hasil dari keduanya harus selalu sama di setiap situasi.
 
3. Cloud Computing atau Komputasi Awan
Cloud computing adalah perluasan dari konsep pemrograman berorientasi objek abstraksi. Abstraksi, sebagaimana dijelaskan sebelumnya, menghapus rincian kerja yang kompleks dari visibilitas. Semua yang terlihat adalah sebuah antarmuka, yang menerima masukan dan memberikan output. Bagaimana output ini dihitung benar-benar tersembunyi.
Sebagai contoh, seorang sopir mobil tahu bahwa roda kemudi dengan memutar arah mobil yang mereka ingin pergi; atau yang menekan pedal gas akan menyebabkan mobil untuk mempercepat. Sopir biasanya tidak peduli tentang bagaimana arah dari roda kemudi dan pedal gas tersebut diterjemahkan ke dalam gerakan yang sebenarnya dari mobil. Oleh karena itu, rincian ini diabstraksikan dari sopir.
Cloud serupa, melainkan menerapkan konsep abstraksi dalam lingkungan komputasi fisik, dengan menyembunyikan proses yang benar dari pengguna. Dalam lingkungan komputasi awan, data bisa berada pada beberapa server, rincian koneksi jaringan yang tersembunyi dan pengguna tidak ada yang tahu. Bahkan, komputer awan awan dinamakan demikian karena sering digunakan untuk menggambarkan pengetahuan eksak tentang pekerjaan batin. Cloud komputasi berat berasal dari paradigma Unix memiliki beberapa elemen, masing-masing yang sangat baik pada satu tugas tertentu, daripada memiliki satu elemen besar yang tidak baik.

Contoh implementasi dalam bidang ilmu Sains :

Pada bidang fisika:

Fisika bukan hanya melulu berurusan dengan rumus. Bukan hanya dengan perhitungan yang rumit dan terkadang membuat anak-anak SMA merasa kesulitan mempelajari Fisika. Fisika semestinya dipandang sebagai suatu ide tentang suatu kejadian fisis sehari-hari yang kita alami setiap hari, dan bukan ribetnya rumus dan perhitungannya.
Fisika memiliki suatu cabang keilmuan (bisa dikatakan demikian) yang memanfaatkan suatu tools yang dapat dimanfaatkan untuk membuat perhitungan menjadi lebih mudah dan cepat. Tools itu adalah komputer dan cabang dari Fisika itu adalah Fisika Komputasi.
Komputer dapat dipandang kini bukan hanya untuk mengolah data praktikum atau membuat dokumen ilmiah, namun bisa digunakan untuk menghitung suatu perhitungan yang rumit, yang sulit (bahkan mustahil) diselesaikan dengan tangan (secara analitik).
Komputer dapat melakukan perhitungan dengan lebih cepat dibandingkan manusia. Secepat-cepatnya manusia menghitung, komputer akan selalu lebih cepat. Dengan demikian, para fisikawan dapat lebih berkonsentrasi pada konsep dan ide yang lebih besar dan menyerahkan perhitungan kepada komputer.
    
    Pada bidang Matematika :     

Matematika Komputasi adalah ilmu yang mengintegrasikan matematika terapan dan ilmu komputer. Banyak masalah industri, juga masalah dalam bidang teknik, kesehatan, sains, bisnis, dan ekonomi dapat dimodelkan secara matematika dan disimulasikan dengan bantuan komputer, dengan tujuan untuk mendapatkan solusi dari masalah tersebut. Karena itu, sangat diperlukan orang-orang yang memiliki pengetahuan dan keahlian dalam simulasi komputer dari model matematika, dan mampu menganalisa dan mengkomunikasikan hasil simulasinya kepada orang lain.  

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 Biologi :

Bioinformatika adalah (ilmu yang mempelajari) penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

Sumber :
http://id.wikipedia.org/wiki/Bioinformatika
http://math.fsm.uph.edu/utama/4-matematika-komputasi.html