facebook

Pages

Rabu, 19 Juni 2013

Pengantar Komputasi Modern : Jenis - Jenis Komputasi

Pengantar Komputasi Modern

Apa itu komputasi? Komputasi merupakan cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. iIlmu 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). Seiring perkembangan jaman, kini komputasi dilakukan dengan menggunakan komputer. Komputasi yang menggunakan komputer inilah maka disebut dengan Komputasi Modern.

Sejarah Komputasi Modern
Tahun 1940 komputer yang semula dikhususkan sebagai instrument untuk science, berubah menjadi produk komersil. Tahun 1945 di temukan Bug Komputer oleh Grace Murray Hopper Tahun 1947 tanggal 23 Desember ditemukan transistor yang pertama kali oleh Bardeen dan Walter Brattain bersama dengan William Shockley Tahun 1951 dimulai sebuah gagasan microprogramming oleh Maurice Wilkes Tahun 1951-1952 Grace Murray Hopper mengembangkan A-O, yang merupakan compiler pertama.
Tahun 1957 John Backus dan kolega IBM mengirimkan Compiler Fortran yang pertama. Tahun 1958 Jack Kilby menghasilkan prototype semiconductor IC Tahun 1960 merupakan timbulnya system kecil seperti word length, register structure, Number of Addresses, I/O channel, Floating point hardware. Tahun 1960 juga Paul Baran yang bekerja di Rand Corp. menemukan dasar packet switching untuk data komunikasi. Tahun 1962 video game pertama kali di temukan oleh Steve Russell yang merupakan seorang lulusan MIT. Tahun 1964 mouse ditemukan oleh Doug Engelbart. Tahun 1969 munculnya internet oleh DARPA Tahun 1970 merupakan kedatangan PC (personal computer).
Tahun 1970 ditemukan UNIX oleh Dennis Ritchie dan Kenneth Thomson. Pada tahun 1970 juga floppy disk dan daisywheel printer di tunjukkan kepada umum (debut pertama). Tahun 1971 Ray Tomlinson of Bolt Beranek dan Newmen pertama kali mengirimkan jaringan surat e-mail. Tahun 1971 Niklaus Wirth menemukan Pascal Tahun 1972 di temukan bahasa C oleh Dennis Ritchie di Bell Labs. Tahun 1973 Robert Metcalfe menuliskan catatan di “Ether Acquisition” yang mendeskripsikan Ethernet. Tahun 1973 Robert Metcalfe dan David Boggs menemukan Ethernet. Tahun 1976 merupakan tahun pertama kalinya muncul supercomputer dengan vektorial arsitektur. Tahun 1976, Steve Jobs dan Steve Wozniak mendesain dan membangun Apple I yang terdiri dari kebanyakan papan circuit.
Tahun 1977, Steve Jobs dan Steve Wozniak tergabung dalam Apple computer pada 3 januari. Tahun 1978, Muncul MS Tahun 1978, Wordstar yang merupakan software pengolah kata diperkenalkan dan meluas. Tahun 1979 telepon seluler di test di Jepang dan Chicago. Tahun 1980 IBM memilih PC-DOS dari Microsoft sebagai OS (Operating System).
Tahun 1980 bahasa Ada muncul yang di temukan oleh Departemen Pertahanan US. Tahun 1980 portable computer seberat 24 pounds lahir. 1 januari 1983, muncul TCP/IP Tahun 1984, muncul Apple Macintosh Tahun 1984, muncul DNS Tahun 1985 menyebarnya sistem networking.
 Tahun 1990 tim Barners Lee Menemukan WWW yaitu aplikasi internet yang membawa perkembangan dan perubahan besar di dunia internet. Tahun 1991 Trovalds menempatkan UNIX di IBMnya. Tahun 1992 muncul istilah surfing Tahun 1993 pentium milik intel diperkenalkan kepada umum pada bulan Maret Tahun 1993 muncul NSCA Mosaic Tahun 1994 muncul Yahoo dan Netscape Navigator 1.0 Tahun 1995 muncul bahasa pemrograman Java pada bulan Mei. Pada Desember 1994 maka Spyglass milik Microsoft telah dibayar dan diberi lisensi, sehingga untuk web browser yang nantinya nama spyglass tersebut akan diganti dengan nama Internet Explorer.
Pada 1995 spyglass sudah menjadi bagian dari OS dan bagian dari windows Definisi Komputasi Modern Komputasi adalah algoritma yang digunakan untuk menemukan suatu cara untuk memecahkan masalah dari sebuah data input. 

Komputasi Modern
Pengertian Komputasi modern adalah cara untuk menemukan pemecahan masalah/solusi dari data input dengan menggunakan suatu algoritma tertentu. Komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Perhitungan yang dilakukan komputasi modern dalam menghitung dan mencari solusi dari masalah yang ada meliputi:
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)

Jenis-jenis Komputasi Modern
Komputasi modern dibagi menjadi tiga macam yaitu mobile computinggrid computing dan cloud computing.
1.         Mobile Computing
Sebuah komputasi menggunakan teknologi yang tidak terhubung secara fisik, atau dalam jarak jauh atau lingkungan mobile (non statik). Alat – alat yang bisa dikatakan sebagai mobile computing cenderung portable dan mudah untuk dibawa kemana saja. Contoh : laptop, tablet PC, handphone, dan lain-lain.
2.       Grid Computing
Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.
3.       Cloud Computing
Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Genetic Algorithm [ GA ]

PENDAHULUAN

        Algoritma Genetika sebagai cabang dari algoritma evolusi merupakan metode adaptive yang biasa yang digunakan untuk memecahkan suatu pencarian nilai dalam sebuah masalah optimasi. Algoritma ini didasarkan pada proses genetik yang ada dalam mahkluk hidup , yaitu perkembangan generasi dalam sebuah populasi yang alami, secara lambat laun mengikuti prinsip seleksi alam "siapa yang kuat", dia yang bertahan (survive). Dengan meniru teori evolusi ini, algoritma genetika dapat digunakan untuk mencari solusi permasalahan-permasalahan dalam dunia nyata.
        peletak prinsip dasar sekaligus pencipta algoritma genetika adalah John Holland. Algoritma genetika menggunakan analogi secara langsung dari kebiasaan yang alami yaitu seleksi alam . Algoritma ini bekerja dengan sebuah populasi terdiri dari individu-individu , yang masing-masing individu mempresentasikan sebuah solusi yang mungkin bagi persoalan yang ada. Dalam kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk mencari solusi terbaik dari persoalan yang ada. Sebelum Algoritma genetika dapat dijalankan, maka sebuah kode yang sesuai (representatif) untuk persoalan harus dirancang. Untuk ini maka titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri dari komponen genetik terkecil yaitu gen. Dengan teorievolusi dan teori genetika, didalam penerapan Algoritma Genetika akan melibatkan beberapa operator, yaitu :
  • Operasi Evolusi yang melibatkan proses seleksi (selection) di dalamnya.
  • Operasi genetika yang melibatkan operator pindah silang (crossover) dan mutasi (mutation).
untuk memeriksa hasil optimasi , kita membutuhkan fungsi fitness yang menandakan gambaran hasil(solusi) yang sudah dikodekan. selama berjalan, induk harus digunakan untuk reproduksi, pindah silang dan mutasi untuk menciptakan keturunan . Jika Algoritma genetika didesain secara baik, populasi akan mengalami konvergensi dan akan di dapatkan sebuah solusi yang optimum.

TEKNIK PENGKODEAN

     Teknik pengkodeanadalah bagaimana mengkodekan gen dari kromosom, dimana gen merupakan bagian dari kromosom. satu gen biasanya akan mewakili satu variabel.
     gen dapat dipresentasikan dalam bentuk : bit, bilangan real, daftar aturan, elemen permutasi, elemen program atau representasi lainnya yang dapat di implementasikan untuk operator.
     Dengan demikian kromsom dapat direpresentasikan dengan menggunakan : 
  • string bit                  : 10011 dst.
  • Array bilangan real  : 65.65,-67.98,77.34 dst
  • Elemen permutasi    : E2, E10,E5 dst
  • Daftar aturan           : R1,R2,R3 dst
  • Elemen program      : pemrograman genetika
  • struktur lainnya

Struktur Umum Algoritma Genetika
Beberapa hal yang harus dilakukan dalam algoritma genetika adalah:
  • Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.
  • Mendefinisikan nilai fitness, yang merupakan ukuran baik tidaknya sebuah individu atau baik tidaknya solusi yang didapatkan.
  • Menentukan proses pembangkitan populasi awal.
  • Menentukan proses seleksi yang akan digunakan
  • Menentukan proses perkawinan silang (cross-over) dan mutasi gen yang akan dilakukan
a. Definisi individu
Individu menyatakan salah satu solusi yang mungkin. Individu bisa dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan kombinatorial. Beberapa definisi penting yang perlu diperhatikan adalah sebagai berikut:
  • Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu       dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter, atau kombinatorial.
  • Allele, nilai dari gen.
  • Kromosom, gabungan gen-gen yang membentuk nilai tertentu.
  • Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat
  • Populasi, merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi.
  • Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika.
Pada gambar berikut diilustrasikan perbedaan dari istilah-istilah di atas.
Misalnya di dalam TSP individu menyatakan jalur yang ditempuh, dalam penentuan nilai maksimal dari F(x,y) individu menyatakan nilai (x,y). Pada gambar berikut diilustrasikan 2 kemungkinan jalur yang ditempuh dalam TSP dan bagaimana representasinya dalam individu.
b. Definisi Fitness
Nilai fitness adalah nilai yang menyatakan baik tidaknya suatu solusi (individu). Nilai fitness ini yang dijadikan acuan dalam mencapai nilai optimal dalam algoritma genetika. Algoritma genetika bertujuan mencari individu dengan nilai fitness yang paling tinggi.
Dalam TSP, karena TSP bertujuan meminimalkan jarak, maka nilai fitnessnya adalah inversi dari total jarak dari jalur yang didapatkan. Cara melakukan inversi bisa menggunakan rumus 1/x atau 100000-x, dimana x adalah total jarak dari jalur yang didapatkan.

 Diagram Alir Algoritma Genetika
Algoritma genetika secara umum dapat diilustrasikan dalam diagram alir yang dapat dilihat pada gambar berikut.
1. Populasi awal
Proses ini merupakan proses yang digunakan untuk membangkitkan populasi awal secara random sehingga didapatkan solusi awal.
2. Evaluasi fitness
Proses ini merupakan proses untuk mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti.
3. Seleksi
Proses seleksi merupakan proses untuk menentukan individu-individu mana saja yang akan dipilih untuk dilakukan crossover.
4. Crossover
Proses crossover ini merupakan proses untuk menambah keanekaragaman
string dalam satu populasi.
5. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom.
6. Kriteria berhenti
kriteria berhenti merupakan kriteria yang digunakan untuk menghentikan proses algoritma genetika.
7. Hasil
Hasil merupakan solusi optimum yang didapat algoritma genetika.