Minggu, 29 April 2012

Tugas Softskill : Pertemuan Ke-4

Tugas Softskill : Pertemuan Ke-4, Tri Willy Antoro-4IA06-50408837


Pertanyaan:

1. Buatlah/Carilah Artikel tentang Bioinformatika.
2. Bidang-bidang apa saja yang terkait dengan Bioinformatika.

Jawaban:

1. Istilah Bioinformatika ini berasal dari bahasa Inggris yaitu bioinformatics, yang artinya ilmu yang mempelajari tentang penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis (kalau kata wikipedia ^^). 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”.
Jadi, Bioinformatika ini merupakan ilmu terapan yang lahir dari perkembangan teknologi informasi dibidang molekular. Pembahasan dibidang bioinformatika ini tidak terlepas dari perkembangan biologi molekular modern, salah satunya peningkatan pemahaman manusia dalam bidang genomic yang terdapat dalam molekul DNA.
Kemampuan untuk memahami dan memanipulasi kode genetik DNA ini sangat didukung oleh teknologi informasi melalui perkembangan hardware dan soffware. Baik pihak pabrikan sofware dan harware maupun pihak ketiga dalam produksi perangkat lunak. Salah satu contohnya dapat dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan teknologi informasi sehingga bisa melakukan pekerjaannya dalam waktu yang singkat (hanya beberapa tahun).

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.

Contoh-contoh Penggunaan Bioinformatika :

1. 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.

2. 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.

3. 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).

4. 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.

Trend Bioinformatika Dunia
Ledakan data/informasi biologi itu yang mendorong lahirnya Bioinformatika. Karena Bioinformatika adalah bidang yang relatif baru, masih banyak kesalahpahaman mengenai definisinya. Komputer sudah lama digunakan untuk menganalisa data biologi, misalnya terhadap data-data kristalografi sinar X dan NMR (Nuclear Magnetic Resonance) dalam melakukan penghitungan transformasi Fourier, dsb. Bidang ini disebut sebagai Biologi Komputasi. Bioinformatika muncul atas desakan kebutuhan untuk mengumpulkan, menyimpan dan menganalisa data-data biologis dari database DNA, RNAmaupun protein tadi. Untuk mewadahinya beberapa jurnal baru bermunculan (misalnya Applied Bioinformatics), atau berubah nama seperti Computer Applications in the Biosciences (CABIOS) menjadi BIOInformatic yang menjadi official journal dari International Society for Computational Biology (ICSB) (nama himpunan tidak ikut berubah). Beberapa topik utama dalam Bioinformatika dijelaskan di bawah ini.


Keberadaan database adalah syarat utama dalam analisa Bioinformatika. Database informasi dasar telah tersedia saat ini. Untuk database DNA yang utama adalah GenBank di AS. Sementara itu bagi protein, databasenya dapat ditemukan di Swiss-Prot (Swiss) untuk sekuen asam aminonya dan di Protein Data Bank (PDB) (AS) untuk struktur 3D-nya. Data yang berada dalam database itu hanya kumpulan/arsip data yang biasanya dikoleksi secara sukarela oleh para peneliti, namun saat ini banyak jurnal atau lembaga pemberi dana penelitian mewajibkan penyimpanan dalam database. Trend yang ada dalam pembuatan database saat ini adalah isinya yang makin spesialis.


Setelah informasi terkumpul dalam database, langkah berikutnya adalah menganalisa data. Pencarian database umumnya berdasar hasil alignment/pensejajaran sekuen, baik sekuen DNA maupun protein. Metode ini digunakan berdasar kenyataan bahwa sekuen DNA/protein bisa berbeda sedikit tetapi memiliki fungsi yang sama. Misalnya protein hemoglobin dari manusia hanya sedikit berbeda dengan yang berasal dari ikan paus. Kegunaan dari pencarian ini adalah ketika mendapatkan suatu sekuen DNA/protein yang belum diketahui fungsinya maka dengan membandingkannya dengan yang ada dalam database bisa diperkirakan fungsi daripadanya. Algoritma untuk pattern recognition seperti Neural Network, Genetic Algorithm dll telah dipakai dengan sukses untuk pencarian database ini. Salah satu perangkat lunak pencari database yang paling berhasil dan bisa dikatakan menjadi standar sekarang adalah BLAST (Basic Local Alignment Search Tool).

Bioinformatika di Indonesia

Di Indonesia Bioinformatika masih belum dikenal oleh masyarakat luas. Di kalangan peneliti sendiri, mungkin hanya para peneliti biologi molekuler yang sedikit banyak mengikuti perkembangannya karena keharusan menggunakan perangkat-perangkat Bioinformatika untuk analisa data. Sementara itu di kalangan TI masih kurang mendapat perhatian.
Saat ini mata ajaran bioinformatika maupun mata ajaran dengan muatan bioinformatika sudah diajarkan di beberapa perguruan tinggi di Indonesia. Sekolah Ilmu dan Teknologi Hayati (http://www.sith.itb.ac.id) ITB menawarkan mata kuliah "Pengantar Bioinformatika" untuk program Sarjana dan mata kuliah "Bioinformatika" untuk program Pascasarjana. Fakultas Teknobiologi Universitas Atma Jaya, Jakarta menawarkan mata kuliah "Pengantar Bioinformatika". Mata kuliah "Bioinformatika" diajarkan pada Program Pascasarjana Kimia Fakultas MIPA Universitas Indonesia (UI), Jakarta. Mata kuliah "Proteomik dan Bioinformatika" termasuk dalam kurikulum program S3 bioteknologi Universitas Gadjah Mada (UGM), Yogyakarta. Materi bioinformatika termasuk di dalam silabus beberapa mata kuliah untuk program sarjana maupun pascasarjana biokimia,biologi, dan bioteknologi pada Institut Pertanian Bogor (IPB). Selain itu, riset-riset yang mengarah pada bioinformatika juga telah dilaksanakan oleh mahasiswa program S1 Ilmu Komputer maupun program pascasarjana biologi serta bioteknologi IPB.

2. Dari pengertian Bioinformatika yang telah dijelaskan, kita dapat menemukan banyak terdapat banyak cabang-cabang disiplin ilmu yang terkait dengan Bioinformatika, terutama karena bioinformatika itu sendiri merupakan suatu bidang interdisipliner. Hal tersebut menimbulkan banyak pilihan bagi orang yang ingin mendalami Bioinformatika.

Biophysics
Adalah sebuah bidang interdisipliner yang mengalikasikan teknik-teknik dari ilmu Fisika untuk memahami struktur dan fungsi biologi (British Biophysical Society). Disiplin ilmu ini terkait dengan Bioinformatika karena penggunaan teknik-teknik dari ilmu Fisika untuk memahami struktur membutuhkan penggunaan TI.

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.

Medical Informatics
Menurut Aamir Zakaria [ZAKARIA2004] Pengertian dari medical informatics adalah “sebuah disiplin ilmu yang baru yang didefinisikan sebagai pembelajaran, penemuan, dan implementasi dari struktur dan algoritma untuk meningkatkan komunikasi, pengertian dan manajemen informasi medis.” Medical informatics lebih memperhatikan struktur dan algoritma untuk pengolahan data medis, dibandingkan dengan data itu sendiri. Disiplin ilmu ini, untuk alasan praktis, kemungkinan besar berkaitan dengan data-data yang didapatkan pada level biologi yang lebih “rumit”.

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.

Proteomics
Istilah proteomics pertama kali digunakan untuk menggambarkan himpunan dari protein-protein yang tersusun (encoded) oleh genom. Michael J. Dunn [DUNN2004], mendefiniskan kata “proteome” sebagai: “The PROTEin complement of the genOME“. Dan mendefinisikan proteomics berkaitan dengan: “studi kuantitatif dan kualitatif dari ekspresi gen di level dari protein-protein fungsional itu sendiri”. Yaitu: “sebuah antarmuka antara biokimia protein dengan biologi molekul”.

Pharmacogenomics
Pharmacogenomics adalah aplikasi dari pendekatan genomik dan teknologi pada identifikasi dari target-target obat. Contohnya meliputi menjaring semua genom untuk penerima yang potensial dengan menggunakan cara Bioinformatika, atau dengan menyelidiki bentuk pola dari ekspresi gen di dalam baik patogen maupun induk selama terjadinya infeksi, atau maupun dengan memeriksa karakteristik pola-pola ekspresi yang ditemukan dalam tumor atau contoh dari pasien untuk kepentingan diagnosa (kemungkinan untuk mengejar target potensial terapi kanker). Istilah pharmacogenomics digunakan lebih untuk urusan yang lebih “trivial” — tetapi dapat diargumentasikan lebih berguna– dari aplikasi pendekatan Bioinformatika pada pengkatalogan dan pemrosesan informasi yang berkaitan dengan ilmu Farmasi dan Genetika, untuk contohnya adalah pengumpulan informasi pasien dalam database.

Pharmacogenetics
Pharmacogenetics adalah bagian dari pharmacogenomics yang menggunakan metode genomik/Bioinformatika untuk mengidentifikasi hubungan-hubungan genomik, contohnya SNP (Single Nucleotide Polymorphisms), karakteristik dari profil respons pasien tertentu dan menggunakan informasi-informasi tersebut untuk memberitahu administrasi dan pengembangan terapi pengobatan. Gambaran dari sebagian bidang-bidang yang terkait dengan Bioinformatika di atas memperlihatkan bahwa 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.

Tugas Softskill : Pertemuan Ke-3

Tugas Softskill : Pertemuan Ke-3, Tri Willy Antoro-4IA06-50408837

Soal:
1. Buatlah/ Carilah Artikel tentang Komputasi dan Paralel Processing.
2. Jelaskan hubungan antara Komputasi Modern dan Paralel Processing.

Jawaban:

1. Komputasi itu bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma yang berhubungan dengan sub-bidang ilmu computer dan matematika. Hal ini juga disebut dengan teori komputasi. Secara umum iIlmu komputasi ini merupakan bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Seperti yang sudah diberi tahu sebelumnya, komputasi berasal dari bahasa inggris computing dan computation. COMPUTING artinya suatu aktifitas yang menggunakan atau memperbaiki hardware dan software, sedangkan COMPUTATION artinya suatu cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Jadi kesimulannya KOMPUTASI adalah suatu aktifitas untuk menemukan pemecahan permasalahan dengan suatu algoritma dengan menggunakan hardware dan software yang ada. Dan sekarang sudah tidak mungkin dipungkiri lagi, komputasi sudah dilakukan dengan menggunakan bantuan computer. Jadi jika kita berbicara tentang kinerja komputasi, berarti kita bebrbicara tentang kekuatan/kualitas sikomputasi tadi dalam menemuan suatu pemecahan masalah dengan suatu algoritma menggunakan hardware dan software yang telah ada.

Parallel Processing atau lebih dikenal dengan bahasa Indonesia Pemrosesan Parallel adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Jadi dapat dibayangkan bagaimana hasil kerjaan kita jika menggunaan pemrosessan parallel. Sudah pasti kerjaan tersebut cepat terselesaikan karena CPU yang bekerjapun banyak. Berarti parallel processing ini membuat program berjalan lebih cepat karena CPU yang digunakan semakin banyak. Tetapi kenyataannya, pada saat dilakukan pemrosesan parallel, program sering kali sulit dibagi sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa adanya saling keterkaitan antara satu dan yang lainnya.

2. Terlebih dahulu kita mengerti konsep dari pemrosesan paralel (parallel processing), yaitu penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.

Sedangkan komputasi paralel adalah salah satu teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan 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.

Komputasi Paralel merupakan salah satu teknologi paling menarik sejak ditemukannya komputer pada tahun 1940-an. Terobosan dalam pemorosesan parallel selalu berkembang dan mendapatkan tempat disamping teknologi-teknologi lainnya sejak Era Kebangkitan (1950-an), Era Mainframe (1960-an), Era Minis (1970-an), Era PC (1980-an), dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer, dapat dimengerti betapa pentingnya komputasi parallel itu.

Inti dari komputasi parallel yaitu hardware, software, dan aplikasinya. Paralel prosesing merupakan suatu pemrosesan informasi yang lebih mendekatkan pada manipulasi rata-rata dari elemen data terhadap satu atau lebih penyelesaian proses dari sebuah masalah. Dengan kata lain komputasi parallel adalah komputer dengan banyak processor dapat melakukan parallel processing dengan cara membagi-bagi proses ke source-source yang dimiliki.

Selanjutnya setelah kita sudah mengetahui arti dari "komputasi parallel processing" setelah itu kita membahas kinerjanya:

Kinerja Parallel komputasi digunakan untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu software yang betugas untuk mengatur komputasi. Terdapat dua jenis kinerja parallel processing yaitu Multi-core dan PC Clustering.

Tugas Softskill : Pertemuan Ke-2

Tugas Softskill : Pertemuan Ke-2, Tri Willy Antoro-4IA06-50408837

Soal:
1. Buatlah / Carilah Artikel tentang Komputasi Modern.
2. Buatlah / Carilah Artikel tentang Sejarah Komputasi Modern.
3. Sebutkan Macam-macam Komputasi Modern

Jawaban:

1. Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Komputasi merupakan subbagian dari matematika. Selama ribuan tahun, perhitungan dan komputasi menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental dan kadang-kadang menggunakan tabel. Karena perkembangan jaman makan komputasi sekarang menggunakan komputer. Komputasi yang menggunakan komputer inilah maka disebut dengan Komputasi Modern. Komputasi modern digunakan untuk memecahkan masalah yang ada, perhitungan komputasi modern yaitu seperti :

  • Akurasi (bit, floating point)
  • Kecepatan (dalam satuanHz)
  • Problem volume besar (paralel)
  • Modeling (NN dan GA)
  • Kompleksitas (menggunakan Teori Bog O)
Secara umum 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). 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. 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.

Karakteristik komputasi modern ada 3 macam, yaitu :

  1. Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
  2. Komputer-komputer terhubung ke jarinagn yang luas dengan kapasitas bandwidth yang beragam.
  3. Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.
Model Komputasi
Komputasi memiliki 3 model, yaitu

1. Mesin Mealy
2. Mesin Moore
3. Petri net

Mesin Mealy
Diagram fasa dari mesin Mealy sederhana
Dalam teori komputasi sebagai konsep dasar sebuah komputer, mesin Mealy adalah otomasi fasa berhingga (finite state automaton atau finite state tranducer) yang menghasilkan keluaran berdasarkan fasa saat itu dan bagian masukan/input. Dalam hal ini, diagram fasa (state diagram) dari mesin Mealy memiliki sinyal masukan dan sinyal keluaran untuk tiap transisi. Prinsip ini berbeda dengan mesin Moore yang hanya menghasilkan keluaran/output pada tiap fasa.
Nama Mealy diambil dari “G. H. Mealy” seorang perintis mesin-fasa (state-machine) yang menulis karangan “A Method for Synthesizing Sequential Circuits” pada tahun 1955.

Mesin Moore
Dalam teori komputasi sebagai prinsip dasar komputer, mesin Moore adalah otomasi fasa berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fasa saat itu (dan tidak terpengaruh oleh bagian masukan/input). Diagram fasa (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing fasa. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi.

Nama Moore diambil dari “Edward F. Moore” seorang ilmuwan komputer dan perintis mesin-fasa (state-machine) yang menulis karangan “Gedanken-experiments on Sequential Machines”.

Petri Net
Contoh transisi token pada Petri net
Petri net adalah salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place, transition, dan tanda panah yang menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, token diletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah.

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. 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. Sebelumnya jenis -jenis komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :


  1. 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.
  2. 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.

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.

Tugas Softskill : Pertemuan Ke-1

Tugas Softskill : Pertemuan Ke-1, Tri Willy Antoro-4IA06-50408837

Soal :
Komputasi Modern
1. Apa yang kamu ketahui tentang komputasi modern ?
2. Jelaskan sejarah komputasi modern !
3. Sebutkan macam-macam komputasi modern !

Paralel Processing
1. Apa yang kamu ketahui tentang komputasi ?
2. Apa yang kamu ketahui tentang paralel processing ?
3. Jelaskan hubungan antara komputasi modern dengan paralel processing !

BioInformatika
1. Apa yang dimaksud dengan BioInformatika ?
2. Sebutkan bidang-bidang yang terkait dengan BioInformatika !

Jawaban :

Komputasi Modern
1. Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. 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.

2. Komputasi Modern pertama kali digagasi oleh John Von Neumann. Beliau 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.

Komputasi modern menghitung dan mencari solusi dari masalah yang ada, yang menjadi perhitungan dari komputasi modern adalah :

  • Akurasi (bit, Floating poin)
  • Kecepatan (Dalam satuan Hz)
  • Problem volume besar (Down sizing atau paralel)
  • Modeling (NN dan GA)
  • Kompleksitas (Menggunakan teori Big O)

3. Berikut ini macam-macam dan contoh dari komputasi modern :

1. 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.

2. 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.

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.

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.

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).

Minggu, 15 April 2012

Konsep dasar Name Service itu pa ya???

Konsep dasar Name Service


Name Service dalam Sistem Terdistribusi merupakan layanan penamaan yang berfungsi untuk menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk me-resolve nama.
Pengaksesan resource pada sistem terdistribusi yang memerlukan:
- Nama resource (untuk pemanggilan),
- Alamat (lokasi resource tsb),
- Rute (bagaimana mencapai lokasi tsb).
Name Service memiliki konsentrasi pada aspek penamaan dan pemetaan antara nama & alamat, bukan pada masalah rute, yang dibahas di Jaringan Komputer. Resource yang dipakai dalam Name Service adalah: komputer, layanan, remote object, berkas, pemakai.
Contoh penamaan pada aplikasi sistem terdistribusi:
  • URL untuk mengakses suatu halaman web.
  • Alamat e-mail utk komunikasi antar pemakai.
Name Resolution, Binding, Attributes
  • Name resolution:  Nama ditranslasikan ke data ttg resource/object tsb.
  • Binding: Asosiasi antara nama & obyek, dan biasanya nama diikat (bound) ke
  attributes dr suatu obyek.
  •  Address: atribut kunci dari sebuah entitas dalam sistem terdistribusi.
  • Attribute: nilai suatu object property.
Tujuan atau manfaat penamaan antara lain adalah:
• Identifikasi:
   Seorang pemakai menginginkan obyek/layanan A, bukan obyek/layanan B.
• Memungkinkan terjadinya sharing
   Lebih dari satu pemakai dapat mengindentifikasikan resource dengan nama yang sesuai
  (tidak harus nama yang sama).
• Memungkinkan location independence:
   Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian
  dari nama resource tsb.
• Memberikan kemampuan keamanan (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.
Jenis nama
User names:
• Dibuat oleh pemakai (user).
• Merujuk pada suatu obyek atau layanan.
• Terdiri dari strings of characters.
Contoh: hp201 untuk pencetak, ~bettyp/tmp/test.c untuk berkas.
System names:
- Terdiri dari bit string.
- Internal untuk sistem, tidak ditujukan untuk manusia.
- Lebih compact dari user names, shg dapat dibandingkan dengan lebih efisien.
• 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).
Kebutuhan terhadap name service
• penamaan unik yang standard
• scalability
• Consistency
• performance dan availability
• mudah menyesuaikan terhadap perubahan perlindungan kegagalan
Struktur nama
Primitive/‡at names (Unique Identi…ers = UIDs)
a. Tanpa struktur internal, hanya string of bits.
b. Digunakan utk perbandingan dengan UID lain.
c. Tidak membawa informasi lain -> pure names.
d. Sangat berguna & banyak digunakan karena:
• Location & application independent, shg tidak menjadi masalah bagi mobilitas obyek.
• Seragam, fixed size.
• Compact: mudah disimpan, di-pass, & jika cukup besar menjadi sulit ditebak. 
  • Partitioned Names (PN)     - Komposisi dari beberapa nama primitif, biasanya disusun secara hirarkis. Contoh:
       www.gunadarma.ac.id/cs/docs/akademik/SisDis/naming.ppt.
    1. Membawa informasi -> impure names.
    2.Biasanya tidak secara unik mengidenti…kasikan obyek, beberapa nama bisa
      dipetakan ke satu obyek (e.g. UNIX file links).
  • Descriptive names (DN)
    1. Daftar atribut yang secara bersama-sama mengidentifikasikan obyek secara unik.
    2. Membawa informasi -> impure names.
    3. DN adalah superset dari PN.
Tujuan fasilitas Penamaan
a. Efisien, karena fasilitas penamaan merupakan dasar pada sisdis & digunakan secara terus menerus.
b. Terdistribusi. Renungkan jika UIDs dibangkitkan oleh centralized generator.
• Bottleneck.
• Node tempat generator tsb mengalami kegagalan.
c. Tampak seperti global space, tidak tergantung konekti…tas, topologi, dan lokasi  
     obyek.
d. Mendukung pemetaan 1:many antara nama & obyek, untuk memungkinkan multicast.
e. Mendukung dynamic relocation of objects, jika obyek/proses potensial untuk mobile  
    (berpindah-pindah). Jadi diperlukan dynamic binding antara nama & alamat, juga
    antara alamat & rute.
f. Memungkinkan local aliases, shg pemakai dapat mengekspresikan interpretasi  
    semantik mereka thdp suatu obyek. Tentu saja diperlukan pemetaan antara aliases dan
    full names.

referensi :
  • http://www.igi-global.com/book/distributed-artificial.html
  • http://muhal.wordpress.com/2007/03/26/mobile-agent-aglets-berbasis-java
  • http://amaryllisprojets.blogspot.com/2010/06/aglat.html

Selasa, 10 April 2012

Ingin tahu Proses dan Thread dalam OS???

Proses dan Thread dalam OS

Proses adalah program sedang dieksekusi. Menurut Silberschatz proses tidak hanya sekedar suatu kode program (text section), melainkan meliputi beberapa aktivitas yang bersangkutan seperti program counter dan stack. Sebuah proses juga melibatkan stack yang berisi data sementara (parameter fungsi/metode, return address, dan variabel lokal) dan data section yang menyimpan variabel-variabel global. Tanenbaum juga berpendapat bahwa proses adalah sebuah program yang dieksekusi yang mencakup program counter, register, dan variabel di dalamnya (MDGR2006). Perbedaan antara program dengan proses adalah program merupakan entitas yang pasif, yaitu suatu file yang berisi kumpulan instruksi-instruksi yang disimpan di dalam disk (file executable), sedangkan proses merupakan entitas yang aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan agar sebuah proses dapat dieksekusi. Sedangkan SO sebagai Manager Proses.



Status Proses

Proses yang dieksekusi mempunyai lima status yang terdiri dari: 
  • new              : Pembentukan suatu proses 
  • running       : Instruksi-instruksi yang sedang dieksekusi 
  • waiting         : Proses menunggu untuk beberapa event yang terjadi 
  • ready           : Proses menunggu untuk dialirkan ke pemroses (processor) 
  • terminated  : Proses telah selesai dieksekusi. 
Proses : model, kreasi, terminasi, hierarchies, states dan implementasi
Thread : model, penggunaan, implementasi, scheduler activation, pop-up


KONSEP PROSES

  1. Definisi Proses menurut Stalling adalah meliputi hal-hal berikut: 
  2. Suatu program yang sedang dieksekusi 
  3. Instansiasi suatu program yang berjalan pada komputer 
  4. Entitas yang diassign ke prosesor dan dieksekusi oleh prosesor 
  5. Unit aktifitas yang dicirikan oleh pengksekusian sederatan instruksi pada state yang sama dan berkaitan dg resource sistem. 


Tanggung jawab Sistem operasi terhadap aktifitas yang berhubungan dengan manager proses: 
  • Pembuatan dan penghapusan proses 
  • Penundaan dan pelanjutan proses 
  • Penyedia mekanisme untuk Sinkronisasi antar proses 
  • Penyedia mekanisme Komunikasi antar proses 
  • Penyedia mekanisme Penanganan Deadlock 

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 main program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda walaupun bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja. Dalam komputer modern, banyak proses yang dapat dilakukan dalam satu waktu (Proses Paralel) Contoh ketika kita sedang mengetik kata dg MS-Word, Proses-proses yang terjadi (proses paralel) meliputi: 
  • Komputer terus-menerus menampilkan kata yg kita tulis di monitor. 
  • Komputer terus-menerus memeriksa spelling/bahasa 
  • Komputer terus-menerus menampilkan info ttg page, word number dll 
Kasus yang berbeda terjadi untuk multiple-programming, dimana program/proses akan berpindah-pindah dari suatu program/proses ke program/proses lainnya. Atau untuk multiprocessor, dimana suatu proses yang dikerjakan beberapa prosesor dengan menggunakan satu memori yang bisa dishare. Kasus kedua adalah contoh untuk Proses Serial .


THREAD
Proses memiliki 2 karakteristik:
  1. Resource Ownership dari waktu ke waktu suatu proses dialokasikan memiliki resource2 spt main memory, I/O device dan File. SO membentuk fungsi khusus utk melindungi hal ini thd interfensi luar Schedulling/execution eksekusi dari proses melalui program.
  2. Thread: Bagian proses memiliki karakteristik execution, disebut juga proses ringan (lightweight).
Konsep Dasar   

1. Thread memiliki : 
  • ID : identitas unik suatu thread 
  • Program counter yang menjaga track dg instruksi-instruksi berikutnya. 
  • Register yang mengendalikan variable2 yg sedang bekerja 
  • Stack berisi history dari eksekusi-eksekusi yg telah dilakukan 
2. Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. 


Konsep MULTI THREADING 
Didefinisikan sebagai.beberapa thread yang berada dalam satu proses 
Multithread bekerja dengan prinsip yang mirip dg multiprogramming, tetapi berbeda dlm hal independensinya. Dalam multiprogramming, sistem memberi ilusi beberapa proses bekerja secara serial terlihat seperti paralel. 


Beberapa state dalam Thread (stall 165) 
  • Spawn/new : ketika sebuah proses baru dibentuk, maka thread baru yg terkait dg proses tsb juga dibentuk. 
  • Block : terjadi ketika thread menunggu suatu event, CPU mungkin menjalankan thread lainya(ready) dlm proses yg sama/berbeda. semua info disimpan dlm user register, program pointer, stack 
  • Unblock/ready : bila thread tdk di blok 
  • Finish : stack selesai dijalankan, isi register dan stack (dealokasi) 


referensi : 
  • http://www.igi-global.com/book/distributed-artificial.html 
  • http://www.akademik.unsri.ac.id/download/journal/files/gdr/Pendahuluan%20SisTer.pptwww.akademik.unsri.ac.id/download/.../Pendahuluan%20SisTer.ppt 
  • http://www.g-excess.com

Senin, 02 April 2012

ingin tahu software, teknologi dan bahasa komunikasi agent???


Software, Teknologi dan Bahasa Komunikasi Agent

Dapat ditarik suatu definisi agen yang merupakan rangkuman dari beberapa definisi yang telah dikembangkan para pakar agen. Definisi agen yang akan dipakai dalam penelitian ini yaitu dapat dilihat dalam dua perspektif, yaitu perspektif user dan perspektif sistem. Dalam perspektif user agen merupakan sebuahsoftware yang bertindak selaku perantara/agen atau broker bagi useryang memungkinkan user untuk mendelegasikan tugas kepadanya serta melakukan pekerjaan seperti yang diperintahkannya. Sedangkan dalam perspektif sistem, agen dapat mengenali lingkungan kerjanya dan memiliki sifat-sifat keagenan. Sifat-sifat yang harus dimiliki agen adalah sebagai berikut (Lange, 1998) :

1. Menyatu dengan lingkungannya 

2. Memiliki sifat-sifat yang dimandatkan antara lain: 



  • Reactive – dapat merasakan perubahan pada lingkungannya dan bertindak sesuai dengan perubahan lingkungan tersebut. 
  • Autonomous – memiliki sistem kontrol terhadap tindakannya sendiri. 
  • Goal-driven – bersifat pro-active untuk mencapai tujuan 
  • Temporally continuous – dapat melanjutkan proses eksekusi di tempat lain. 

3. Memiliki salah satu atau lebih sifat-sifat berikut 
  • Communicative – dapat berkomunikasi dengan agen lain 
  • Mobile – dapat berpindah dari satu host ke host lain 
  • Learning – beradaptasi sesuai dengan pengalaman sebelumnya 
  • Believable – dapat dipercaya pada tingkatend-user, agen tidak akan merusak datauser. 


Teknologi


Adalah metode ilmiah untuk mencapai tujuan praktis; ilmu pengetahuan terapan atau dapat pula diterjemahkan sebagai keseluruhan sarana untuk menyediakan barang-barang yg diperlukan bagi kelangsungan dan kenyamanan hidup manusia. Ada tiga klasifikasi data dari kemajuan teknologi yaitu:

  • Kemajuan teknologi yang bersifat netral (neutral technological progress) Terjadi bila tingkat pengeluaran (output) lebih tinggi dicapai dengan kuantitas dan kombinasi faktor-faktor pemasukan (input) yang sama.
  • Kemajuan teknologi yang hemat tenaga kerja (labor-saving technological progress) Kemajuan teknologi yang terjadi sejak akhir abad kesembilan belas banyak ditandai oleh meningkatnya secara cepat teknologi yang hemat tenaga kerja dalam memproduksi sesuatu mulai dari kacang-kacangan sampai sepeda hingga jembatan.
  • Kemajuan teknologi yang hemat modal (capital-saving technological progress) Fenomena yang relatif langka. Hal ini terutama disebabkan karena hampir semua riset teknologi dan ilmu pengetahuan di dunia dilakukan di negara-negara maju, yang lebih ditujukan untuk menghemat tenaga kerja, bukan modalnya.

Mobile Agent

Mobile agent ialah agen yang mempunyai kemampuan berpindah-pindah dalam jaringan (contohnya pada jaringan World Wide Web), berinteraksi dengan host-host asing, mengumpulkan informasi berdasarkan pengguna, dan mengembalikannya ke pengirim setelah melakukan tugasnya. Mobile agent ini diimplementasikan oleh remote program. Hal-hal yang berkenaan dengan pemrograman remote juga dapat diterapkan pada mobile agent seperti : 
Penamaan Program – memberikan nama kepada agen untuk membedakannya dengan agen yang lain 
  • Autentifikasi program – autentifikasi implementor dari program agen. 
  • Migrasi Program – memindahkan program dari satu mesin ke mesin lainnya 
  • Keamanan Program – memastikan program tidak merusak mesin pengeksekusinya. 
Salah satu contoh mobile agent ialah agen monitoring data stok dan penjualan yaitu agen yang secara mandiri bertugas untuk memonitor perubahan data, melaporkan kepada pengirimnya jika terjadi perubahan data pada basis data yang dimonitor. Agenmonitoring sangat berguna bagi sistem yang mengalami perubahan secara dinamis, dimana perubahan data tersebut mempunyai pengaruh yang besar pada sistem secara keseluruhan. Dalam implementasinya agen jenis ini dapat menggunakan protokol HTTP (Hypertext Transfer Protocol) maupun ATP (Aglets Transfer Protocol) untuk mengakses informasi di dalam basis data yang terhubung dalam jaringan web. Sedangkan untuk mengakses ke basis data dapat digunakan KQML atau bahasa komunikasi agen lainnya untuk komunikasi antar agen.

Bahasa Komunikasi Agent

        Komunikasi antar agent terjadi ketika mereka akan menyampaikan pesan atau informasi tertentu. Dalam berkomunikasi, agent memiliki cara tersendiri yang simulasinya dapat kita lihat pada pemakaian netlogo. Komunikasi bisa di definisikan sebagai proses bertukar informasi antar agent. Agent memperlihatkan cara berkomunikasinya ketika akan menyampaikan informasi pada agent lainnya.
        Bahasa di definisikan sebagai satu set simbol yang dikomunikasikan oleh agent untuk menyampaikan informasi. Dalam artificial intelligent bahasa manusia sering disebut bahasa alami sebagai pembeda dengan bahaa pemrograman komputer. Bahasa juga didefinisikan sebagai satu set aturan sosial bersama yang diterima dan dibatasi oleh aturan tata bahasa.

Referensi :

  • http://www.igi-global.com/book/distributed-artificial.html
  • http://muhal.wordpress.com/2007/03/26/mobile-agent-aglets-berbasis-java
  • http://amaryllisprojets.blogspot.com/2010/06/aglat.html