April 28, 2012

Tugas Softskill Pertemuan Ke-1

KOMPUTASI MODERN

Pengertian Komputasi Modern

Pengertian dari komputasi modern ialah sebuah cara untuk menyelesaikan sebuah masalah yang berkaitan dengan sistem 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 yang berguna untuk menyelesaikan masalah manusia.

Konsep dasar arsitektur komputer modern merupakan sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory. Konsep ini pertama kali digagasi oleh John Von Neumann. Dia di lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Karya – karya yang dihasilkan adalah karya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kepiawaian John Von Neumann teletak pada bidang teori game yang melahirkan konsep automata, teknologi bom atom dan komputasi modern yang kemudian melahirkan komputer.

Sejarah Komputasi Modern

John Von Neuman adalah seorang ilmuwan yang pertama kali mencetuskan dasar – dasar komputasi modern. Beliau lahir di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Beliau merupakan anak pertama dari pasangan Neumann Miksa dan Kann Margit. Di sana, nama keluarga di letakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann. 

Pada saat Max Neumann memperoleh gelar, maka namanya berubah menjadi Von Neumann. Kegeniusannya dalam Matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya. Pada usia 17 tahun, Von Neumann sudah mempublikasikan paper-nya sendiri untuk Journal of the German Mathematical Society. 

Pada tahun 1926, Von Neumann lulus dengan dua gelar yaitu gelas S1 pada bidang teknik kimia dari ETH dan gelar doktor (Ph.D) pada bidang matematika dari Universitas Budapest. Semua itu di peroleh pada usia 23 tahun. Semasa hidupnya Von Neumann telah menjadi ilmuwan besar abad 21 dengan meningkatkan karya – karyanya tidak hanya dalam bidang matematika, teori kuantum dan game theory, namun juga fisika nuklir dan ilmu komputer. Beliau juga salah seorang ilmuwan yang berpengaruh dalam pembuatan bom atom di Los Alamos pada perang Dunia II.

Macam-macam Komputasi Modern

Mobile computing

Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel.

Dan berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Dan dapat dilihat contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

Grid computing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.

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.

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.

Dampak dari adanya komputasi modern ialah semakin mempermudah manusia dalam menyelesaikan masalah-masalah perhitungan yang sangat kompleks dengan menggunakan komputer dan juga merupakan sebuah pengembangan dari sistem yang ada yang terus di perbarui hingga sekarang.


PARALEL PROCESSING

Pengertian Komputasi

Arti dari komputasi yaitu untuk memecahkan suatu masalah dari data yang diinput dengan menggunakan suatu algoritma. Teori komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika.

Aktivitas penggunaan dan pengembangan teknologi komputer, perangkat keras, dan perangkat lunak computer disebut Teknologi komputasi. Teknologi komputasi ini merupakan bagian spesifik komputer dari teknologi informasi.

Secara umum, ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika teknik 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.

Pengertian Parallel Processing

Parallel Processing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya. 

Hubungan Antara Komputasi Modern Dengan Paralel Processing

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan  memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang iperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. 

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. 

Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. 

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.


BIOINFORMATIKA

Pengertian BioInformatika
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
Bidang-Bidang BioInformatika
Contoh topik utama di bidang bioinformatika 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.




Referensi :
http://id.wikipedia.org/wiki/Bioinformatika

Tugas Softskill Pertemuan Ke-4 BioInformatika


1. Artikel Tentang BioInformatika


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.

Istilah Bioinformatika ini berasal dari bahasa Inggris yaitu bioinformatics, yang artinya ilmu yang mempelajari tentang penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Akan tetapi kalau saya boleh sederhanakan menggunakan kata-kata sendiri, bioinformatika adalah segala bentuk penggunaan komputer dalam menangani masalah-masalah biologi. Dalam prakteknya, definisi yang digunakan oleh kebanyakan orang adalah satu sinonim dari komputasi biologi molekul (penggunaan komputer dalam menandai karakterisasi dari komponen-komponen molekul dari makhluk hidup). Sedangkan menurut Fredj Tekaia dari Institut Pasteur [TEKAIA 2004], Bioinformatika (Klasik) adalah metode matematika, statistik dan komputasi yang bertujuan untuk menyelesaikan masalah-masalah biologi dengan menggunakan sekuen DNA dan asam amino dan informasi-informasi yang terkait dengannya.

Sejarah Bioinformatika

Bioinformatika pertamakali dikemukakan pada pertengahan 1980an untuk mengacu kepada penerapan ilmu komputer dalam bidang biologi. Meskipun demikian, penerapan bidang-bidang dalam bioinformatika seperti pembuatan pangkalan data dan pengembangan algoritma untuk analisis sekuens biologi telah dilakukan sejak tahun 1960an.

Kemajuan teknik biologi molekuler dalam mengungkap sekuens biologi protein (sejak awal 1950an) dan asam nukleat (sejak 1960an) mengawali perkembangan pangkalan data dan teknik analisis sekuens biologi. Pangkalan data sekuens protein mulai dikembangkan pada tahun 1960an di Amerika Serikat, sementara pangkalan data sekuens DNA dikembangkan pada akhir 1970an di Amerika Serikat dan Jerman pada Laboratorium Biologi Molekuler Eropa (European Molecular Biology Laboratory).

Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang dapat diungkapkan pada 1980an dan 1990an. Hal ini menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, yang meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.

Perkembangan jaringan internet juga mendukung berkembangnya bioinformatika. Pangkalan data bioinformatika yang terhubungkan melalui internet memudahkan ilmuwan dalam mengumpulkan hasil sekuensing ke dalam pangkalan data tersebut serta memperoleh sekuens biologi sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui internet memudahkan ilmuwan dalam mengakses program-program tersebut dan kemudian memudahkan pengembangannya.

●  Bioinformatika dalam bidang klinis 
Bioinformatika dalam bidang klinis sring juga disebut sebagai informatika klinis (clinical informatics). Aplikasi dari informatika klinis ini berbentuk manajemen data-data klinis dari pasien melalui Electrical Medical Record(EMR) yang dikembangkan oleh Clement J. McDonald dari Indiana University School of Medicine pada tahun 1972. McDonald pertama kali mengaplikasikan EMR pada 33 orang pasien penyakit gula (diabetes). Sekarang EMR telah diaplikasikan pada berbagai macam penyakit seperti data analisa diagnosa laboratorium, hasil konsultasi dan saran, foto rontgen, ukuran detak jantung, dll.

●   Bioinformatika untuk identifikasi Agent penyakit baru
Bioinformatika juga menyediakan tool yang sangat penting untuk identifikasi agent penyakit yang belum dikenal penyebabnya. Misalnya saja seperti SARS (Severe Acute Respiratory Syndrome) yang dulu pernah berkembang.

●   Bioinformatika untuk diagnose penyakit baru
Untuk menangani penyakit baru diperlukan diagnosa yang akurat sehingga dapat dibedakan dengan penyakit lain. Diagnosa yang akurat ini sangat diperlukan untuk pemberian obat dan perawatan yang tepat bagi pasien.
Ada beberapa cara untuk mendiagnosa suatu penyakit, antara lain: isolasi agent penyebab penyakit tersebut dan analisa morfologinya, deteksi antibodi yang dihasilkan dari infeksi dengan teknik enzyme-linked immunosorbent assay (ELISA), dan deteksi gen dari agent pembawa penyakit tersebut dengan Polymerase Chain Reaction (PCR).

●   Bioinformatika untuk penemuan obat
Cara untuk menemukan obat biasanya dilakukan dengan menemukan zat/senyawa yang dapat menekan perkembangbiakan suatu agent penyebab penyakit. Karena perkembangbiakan agent tersebut dipengaruhi oleh banyak faktor, maka faktor-faktor inilah yang dijadikan target. Diantaranya adalah enzim-enzim yang diperlukan untuk perkembangbiakan suatu agent.

2. Bidang-bidang yang Terkait dengan BioInformatika

Bioinformatika mempunyai ruang lingkup yang sangat luas dan mempunyai peran yang sangat besar dalam bidangnya. Bahkan pada bidang pelayanan kesehatan Bioinformatika menimbulkan disiplin ilmu baru yang menyebabkan peningkatan pelayanan kesehatan. Bidang-bidang tersebut antara lain :

Computational Biology
Computational biology merupakan bagian dari Bioinformatika (dalam arti yang paling luas) yang paling dekat dengan bidang Biologi umum klasik. Fokus dari computational biology adalah gerak evolusi, populasi, dan biologi teoritis daripada biomedis dalam molekul dan sel.

Cheminformatics
Cheminformatics adalah kombinasi dari sintesis kimia, penyaringan biologis, dan pendekatan data-mining yang digunakan untuk penemuan dan pengembangan obat (Cambridge Healthech Institute’s Sixth Annual Cheminformatics conference). Kemungkinan penggunaan TI untuk merencanakan secara cerdas dan dengan mengotomatiskan proses-proses yang terkait dengan sintesis kimiawi dari komponenkomponen pengobatan merupakan suatu prospek yang sangat menarik bagi ahli kimia dan ahli biokimia.

Genomics
Genomics adalah bidang ilmu yang ada sebelum selesainya sekuen genom, kecuali dalam bentuk yang paling kasar. Genomics adalah setiap usaha untukmenganalisa atau membandingkan seluruh komplemen genetik dari satu spesies atau lebih. Secara logis tentu saja mungkin untuk membandingkan genom-genom dengan membandingkan kurang lebih suatu himpunan bagian dari gen di dalam genom yang representatif.

Mathematical Biology
Mathematical biology juga menangani masalah-masalah biologi, namun metode yang digunakan untuk menangani masalah tersebut tidak perlu secara numerik dan tidak perlu diimplementasikan dalam software maupun hardware.
Menurut Alex Kasman [KASMAN2004] Secara umum mathematical biology melingkupi semua ketertarikan teoritis yang tidak perlu merupakan sesuatu yang beralgoritma, dan tidak perlu dalam bentuk molekul, dan tidak perlu berguna dalam menganalisis data yang terkumpul.



Referensi :




Tugas Softskill Pertemuan Ke-3 Parallel Processing


1. Artikel Tentang Komputasi dan Parallel Processing

Arti dari komputasi yaitu untuk memecahkan suatu masalah dari data yang diinput dengan menggunakan suatu algoritma. Teori komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika.
Aktivitas penggunaan dan pengembangan teknologi komputer, perangkat keras, dan perangkat lunak computer disebut Teknologi komputasi. Teknologi komputasi ini merupakan bagian spesifik komputer dari teknologi informasi.
Secara umum, ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika teknik 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.
Parallel Processing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya. 

2.  Hubungan antara Komputasi Modern dan Paralel Processing

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang iperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. 
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. 
Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. 
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.


Referensi :


Tugas Softskill Pertemuan Ke-2 Komputasi Modern


1. Artikel Tentang Komputasi Modern

Komputasi modern ialah sebuah cara untuk menyelesaikan sebuah masalah yang berkaitan dengan sistem 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 yang berguna untuk menyelesaikan masalah manusia.

Konsep dasar arsitektur komputer modern merupakan sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory. Konsep ini pertama kali digagasi oleh John Von Neumann. Dia di lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Karya – karya yang dihasilkan adalah karya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kepiawaian John Von Neumann teletak pada bidang teori game yang melahirkan konsep automata, teknologi bom atom dan komputasi modern yang kemudian melahirkan komputer.

Penggunaan Komputasi Modern
Salah satu contoh penggunaan komputasi adalah dalam bidang kedokteran,yaitu dalam pencarian obat. Untuk meramalkan aktivitas sejumlah besar calon obat, seorang praktisi komputasi meniru suasana pengujian aktivitasnya di laboratorium basah dengan model-model Fisika atau Matematika (seperti: struktur 3 dimensi calon obat) sebagai pengganti bahan-bahan laboratorium tersebut. Model-model ini kemudian dinyatakan di dalam persamaan-persamaan Matematika yang kemudian diselesaikan oleh komputer dengan kapasitas dan kelajuan yang melebihi kapasitas dan kelajuan manusia. Hasilnya berupa suatu bilangan bagi tiap calon obat yang dapat dibandingkan satu dengan yang lainnya. Perbandingan ini merupakan ramalan tingkat aktivitas suatu calon obat relatif terhadap calon obat lainnya. Demikianlah cara meramalkan aktivitas calon obat dengan metode komputasi. Dengan demikian, calon-calon obat yang diramalkan akan memberikan aktivitas yang rendah dapat dihindari.

2. Artikel Tentang Sejarah Komputasi Modern

Pada paruh pertama abad 20, banyak kebutuhan komputasi ilmiah bertemu dengan semakin canggih komputer analog, yang menggunakan mekanis atau listrik langsung model masalah sebagai dasar perhitungan. Namun, ini tidak dapat diprogram dan umumnya tidak memiliki fleksibilitas dan keakuratan komputer digital modern.

George stibitz secara internasional diakui sebagai ayah dari komputer digital modern.
sementara bekerja di laboratorium bel di November 1937, stibitz menciptakan dan membangun sebuah relay berbasis kalkulator ia dijuluki sebagai "model k" (untuk "meja dapur", di mana dia telah berkumpul itu), yang adalah orang pertama yang menggunakan sirkuit biner untuk melakukan operasi aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar termasuk aritmatika
dan kemampuan pemrograman kompleks.

Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Von Neumann dilahirkan di Budapest, ibu kota Hungaria, pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit. Di sana, nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann dan Margaret Kann. Max Neumann memperoleh gelar dan namanya berubah menjadi Von Neumann. Max Neumann adalah seorang Yahudi Hungaria yang bergelar doktor dalam ilmu hukum. Dia juga seorang pengacara untuk sebuah bank. Pada tahun 1903, Budapest terkenal sebagai tempat lahirnya para manusia genius dari bidang sains, penulis, seniman dan musisi.

Pada tahun 1921, Von Neumann disekolahkan ayahnya ke Universitas Berlin untuk menjadi insinyur teknik kimia. Berselang dua tahun kemudian ia melanjutkan pendidikan ke Zurich. Sebenarnya Von Neumann kurang tertarik dengan bidang kimia atau bidang engineering, namun ayahnya mendorong dia untuk mempelajari kimia. Pada waktu itu teknik kimia sedang populer dan menjanjikan karier yang cerah bagi para insinyurnya. Oleh karena itu, ayahnya mengharuskan Von Neumann mengikuti pendidikan kimia tanpa gelar selama dua tahun di Berlin, lalu melanjutkan di Eidgennossische Technische Hochschule (ETH) Zurich pada bidang yang sama. Ujian masuk ETH terkenal sulit, bahkan Albert Einstein pernah gagal dalam ujian masuk di tahun 1895 dan berhasil lulus pada ujian tahun berikutnya.

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.

Di tahun 1926 pada umur 22 tahun, Von Neuman lulus dengan dua gelar yaitu gelar S1 pada bidang teknik kimia dari ETH dan gelar doktor (Ph.D) pada bidang matematika dari Universitas Budapest.

Von Neumann sangat tertarik pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Von Neumann menjadi seorang konsultan pada pengembangan komputer ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

Berikut ini beberapa contoh komputasi modern sampai dengan lahirnya ENIAC :
·         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 padatahun 1941).

3. Macam-macam Komputasi Modern

Mobile computing

Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel.

Dan berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Dan dapat dilihat contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

Grid computing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.

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.

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.

Dampak dari adanya komputasi modern ialah semakin mempermudah manusia dalam menyelesaikan masalah-masalah perhitungan yang sangat kompleks dengan menggunakan komputer dan juga merupakan sebuah pengembangan dari sistem yang ada yang terus di perbarui hingga sekarang.



Referensi :
http://dhika.gxrg.org/v1/wordpress/?p=57

April 16, 2012

Definisi Name Service Pada Sistem Terdistribusi

Name Service pada Sistem Terdistribusi adalah merupakan layanan penamaan yang berfungsi untuk menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk me-resolve nama. Dalam sistem terdistribusi, nama digunakan untuk menunjuk ke suatu sesumber yang beragam dan tersebar seperti komputer, layanan (services), file, dan remote object.

Pengaksesan resource pada sistem terdistribusi memerlukan:
–Nama resource (untuk pemanggilan),
–Alamat (lokasi resource tsb),
–Pemetaan antara nama dan alamat
.

Manfaat dari Name Service adalah :
Komunikasi: Nama domain sebagai bagian dari email.
– Resource Sharing: Nama domain internet. Proses tidak dapat mengakses suatu sesumber, jika sesumber tersebut tidak diberi nama.
– Location Independence: Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian dari nama resource tsb.
– Security: Jika sebuah nama dipilih secara acak dari himpunan besar interger, maka nama tsb hanya bisa diketahui dari legitimate source, bukan dari menebak. Jadi jika seseorang mengetahui nama obyek tsb, maka dia memang diberitahu, karena sulit sekali menebak nama tsb.

Kebutuhan terhadap Name Service adalah :
Penamaan unik yang standard
Scalability
Consistency
Performance dan Availability
Mudah menyesuaikan terhadap perubahan perlindungan kegagalan.

Jenis Name Service adalah :
Pure name: nama yang tidak perlu di terjemahkan, karena pada nama tersebut sudah menunjuk alamat objek langsung.
Contoh : IP.
Non-pure name: dalam nama mengandung suatu informasi (atribut misalnya) tentang suatu objek.
Contoh : URL, alamat email, X.500 Directory Service, IOR (Interoperability Object Reference).




Referensi : 

http://blogerahman.staff.unisbank.ac.id/files/2011/07/Sist-Terdistribusi-Anton-Pres10.pdf
http://id.wikipedia.org/wiki/Sistem_Penamaan_Domain
http://technet.microsoft.com/en-us/library/bb726935.aspx




April 10, 2012

Konsep Dasar Proses dan Thread Dalam Sistem Operasi

Konsep Dasar Proses Dalam Sistem Operasi

Proses dalam sistem operasi adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini akan sangat menghemat pemakaian memori.

Secara informal; proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. 
 
Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.

Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.
 
  Process State
Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan. Beberapa status tersebut ialah :
a. New : proses baru diciptakan
b. Running : proses sedang dijalankan
c. Waiting : proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat I/O)
d. Ready : proses menunggu untuk dilayani processor
e. terminated : proses telah menyelesaikan eksekusi.

  Process Control Block (PCB)
Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :
1. Process State >> berisi informasi status proses. (new,running,waiting,ready,terminated)
2. Program counter >> berisi informasi mengenai alamat instruksi yang akan digunakan selanjutnya.
3. CPU register >> berisi register2 CPU apa saja yang digunakan
4. CPU scheduling information >> berisis penjadwalan proses beserta algoritmanya
5. Memory management information >> berisi informasi tentang berapa jumlah memory yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan memory.
6. I/O status information >> berisi informasi tentang perangkat apa saja yang digunakan dalam proses
7. Accounting >> berisi informasi tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses, dll.


Konsep Dasar Thread Dalam Sistem Operasi

Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). 

Ulir sebenarnya mirip dengan proses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing (sama dengan time-division multipleks), di mana sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu.

Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

Program yang dieksekusi :
a.Proses berat (heavyweight) => proses tradisional
b.Proses ringan (lightweight) => THREAD

Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan penggunaan thread :
>Tanggap
>Pemberdayaan resorce
>Ekonomis
>Pemberdayaan arsitektur multiprocessor
  
  Single thread dan multi thread
1.Single thread >> process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.

  Model Multithread
Sebelumnya, perlu diketahui apa itu user thread dan kernel thread.
User thread >> pengelolaan thread dilakukan oleh user level (pengguna)
Kernel thread >> pengelolaan thread dilakukan oleh kernel komputer User tidak dapat menginterupsi.
Model-model multithreading :
1. Many to one.
- Beberapa thread user-lever dipetakan ke dalam single kernel thread
- Penggunaannya pada sistem tidak memerlukan dukungan kernel thread
2. One to one
- Setiap user-level thread dipetakan ke kernel thread.
- Contoh : Windows 95/98/NT/2000
3. Many to many
- Membolehkan setiap user-level thread dipetakan ke banyak kernel thread
- Membolehkan sistem operasi membuat sejumlah kernel thread
- Contoh : Windows NT/2000 dengan paket ThreadFiber 10, Solaris 2.

Contoh thread :
- Java Thread, Java threads dikelola oleh JVM dan biasanya dilaksanakan dengan menggunakan benang model yang disediakan oleh OS. Java threads dapat digunakan untuk Memperluas kelas Thread dan Pelaksanaan Runnableinterface.




Referensi :

http://id.wikipedia.org/wiki/Sistem_operasi
http://id.wikipedia.org/wiki/Thread

April 2, 2012

Software, Teknologi dan Bahasa Komunikasi Agent

Definisi Software Agent

Agent dapat didefinisikan sebagai:
A person or thing that acts or is capable of acting or is empowered to act, for another.
Disini ada dua penjelasan yang bisa kita ambil yaitu :
·        Agent mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan.
·        Agent melakukan suatu tugas/pekerjaan dalam kapasitas untuk sesuatu, atau untuk orang lain.
Ditarik dari point-point diatas Caglayan [Caglayan et al., 1997] mendefinisikan software agent sebagai:
Suatu entitas software komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara mandiri (autonomously).
Kemudian beberapa peneliti lain menambahkan satu point lagi, yaitu bahwa agent harus bisa berjalan dalam kerangka lingkungan jaringan (network environment) [Brenner et. al., 1998]. Definisi agent dari para peneliti lain pada hakekatnya adalah senada, meskipun ada yang menambahkan atribut dan karakteristik agent ke dalam definisinya. Secara lengkap definisi agent dan komparasinya, dirangkumnkan oleh Franklin dalam makalahnya [Franklin et. al., 1996].
Karakteristik dan Atribut Software Agent

1. Autonomy: Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam [Woolridge et. al., 1995]. Dan satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence) dari agent.


2. Intelligence, Reasoning, dan Learning: Setiap agent harus mempunyai standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam perubahan lingkungan.


3. Mobility dan Stationary: Khusus untuk mobile agent, dia harus memiliki kemampuan yang merupakan karakteristik tertinggi yang dia miliki yaitu mobilitas. Berkebalikan dari hal tersebut adalah stationary agent. Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.


4. Delegation: Sesuai dengan namanya dan seperti yang sudah kita bahas pada bagian definisi, agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.


5. Reactivity: Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment). Lingkungan itu bisa mencakup: agent lain, user, adanya informasi dari luar, dsb [Brenner et. al., 1998].


6. Proactivity dan Goal-Oriented: Sifat proactivity boleh dikata adalah kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil [Brenner et. al., 1998]. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yang diembannya (goal-oriented).


7. Communication and Coordination Capability: Agent harus memiliki kemampuan berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi, koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent System (MAS). Bagaimanapun juga untuk bisa berkoordinasi dengan agent lain dalam menjalankan tugas, perlu bahasa standard untuk berkomunikasi. Tim Finin [Finin et al., 1993] [Finin et al., 1994] [Finin et al., 1995] [Finin et al., 1997] dan Yannis Labrou [Labrou et al., 1994] [Labrou et al., 1997] adalah peneliti software agent yang banyak berkecimpung dalam riset mengenai bahasa dan protokol komunikasi antar agent. Salah satu produk mereka adalah Knowledge Query and Manipulation Language (KQML). Kemudian masih berhubungan dengan ini komunikasi antar agent adalah Knowledge Interchange Format (KIF).

Teknologi dan Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki

1. Collaborative Agent: Agent yang memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam kerangka Multi Agent System (MAS).
2. Interface Agent: Agent yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring dan learning untuk memenuhi kebutuhan user.
3.  Mobile Agent: Agent yang memiliki kemampuan untuk bergerak dari suatu tempat ke tempat lain, dan secara mandiri melakukan tugas ditempat barunya tersebut, dalam lingkungan jaringan komputer.
4. Information dan Internet Agent: Agent yang memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam jaringan Internet.
5. Reactive Agent: Agent yang memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana dia berada.
6. Hybrid Agent: Kita sudah mempunyai lima klasifikasi agent. Kemudian agent yang memiliki katakteristik yang merupakan gabungan dari karakteristik yang sudah kita sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
7. Heterogeneous Agent System: Dalam lingkungan Multi Agent System (MAS), apabila terdapat dua atau lebih hybrid agent yang memiliki perbedaan kemampuan dan karakteristik, maka sistem MAS tersebut kita sebut dengan heterogeneous agent system.

Bahasa pemrograman yang dipakai untuk tahap implementasi dari software agent, sangat menentukan keberhasilan dalam implementasi agent sesuai dengan yang diharapkan. Beberapa peneliti memberikan petunjuk tentang bagaimana karakteristik bahasa pemrorgaman yang sebaiknya di pakai. Diantaranya yaitu :

1. Object-Orientedness
Karena agent adalah berhubungan dengan obyek, bahkan beberapa penelitimenganggap agent adalah obyek yang aktif, maka juga agent harusdiimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-orientedprogramming language).

2. Platform Independence
Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup danberjalan diberbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakaiuntuk implementasi adalah yang terlepas dari platform, atau dengan kata lain programtersebut harus bisa dijalankan di platform apapun (platform independence).

3. Communication Capability
Pada saat berinteraksi dengan agent lain dalam suatu lingkungan jaringan(network environment), diperlukan kemampuan untuk melakukan komunikasi secarafisik. Sehingga diperlukan bahasa pemrograman yang dapat mensupportpemrograman yang berbasis network dan komunikasi.

4. Security
Faktor keamanan (security) adalah factor yang sangat penting dalam memilihbahasa pemrorgaman untuk implementasi software agent. Terutama untuk mobilagent, diperlukan bahasa pemrograman yang mensupport level-level keamanan yangbisa membuat agent bergerak dengan aman.

5. Code Manipulation
Beberapa aplikasi software agent memerlukan manipulasi kode programsecara runtime, sehingga diperlikan bahasa pemrograman untuk software agent yangdapat menangani masalah runtime tersebut.Dari karakteristik di atas dapat disimpulkan bahwa bahasa pemrograman yang layak untuk mengimplementasikan software agent adalah sebagai berikut :
• Java
• Telescript
• Tcl/Tk, Safe-Tcl, Agent-Tcl



Referensi : 
http://romisatriawahono.net