Latest Entries »

ObjectInputStream
 
ObjectServer.java
 
 
Aplikasi berikut adalah aplikasi untuk mengirim data dimana terdapat server , client, & data. Pertama ketik script ObjectServer.java diatas untuk server sebagai penerima data dari client.
 

 

ObjectClient.java
 
 
Kemudian ketikan script ObjectClient.java yang mempunyai objek stream untuk pengiriman data Staff Pegawai ke computer Server.
 
Staff.java
 
 
Script diatas merupakan script untuk pencetakan Data Staff yang berisi Nama, Divisi, & Umur. Pencetakan data staff sesuai dengan new Staff yang ada pada script ObjectClient.java
 
Output Server Awal
 
 
Output Client Awal
 
 
Output Client Kirim
 
 
Output Server Terima
smtpClient.java
 

 
Tugas yang ke 7 adalah juga mengenai telnet. telnet adalah program sederhana untuk membuka koneksi ke suatu soket. telnet membutuhkan akses jaringan internet. Jadi yang pertama disiapkan adalah koneksi internet terlebih dahulu. Sebelumnya ketikan script diatas dahulu kemudian save dengan nama smtpClient.java .kemudian baru jalankan program telnet & buka koneksi soket ke computer.
 
pertama jalankan perintah telnet seperti output diatas. Setelah terkoneksi, maka compile script smtpClient. Kemudian RUN maka akan menampilkan hasil seperti output diatas.
TelnetServer
 
 
Tugas yang ke 6 adalah mengenai telnet. telnet adalah program sederhana untuk membuka koneksi ke suatu soket. telnet membutuhkan akses jaringan internet. Jadi yang pertama disiapkan adalah koneksi internet terlebih dahulu. Setelah internet terhubung, baru jalankan program telnet & buka koneksi soket ke computer. Untuk melakukan membuka koneksi ketikan script seperti listing diatas.

 

 
 
Setelah koneksi soket tersambung, ketikan script diatas yang pertama HELO. Kemudian ketikan alamat email pribadi seperti contoh diatas. Jika koneksi soket berhasil maka tuliskan script SUBJECT yang berisi pesan percobaan kirim email. Jika sudah selesai jangan lupa beri tanda titik setelah pesan bye.
 
Setelah selesai, kita bisa cek email masing-masing apakah ada email yang masuk atau tidak.
Demo D1-5
Server
 
            Listing diatas merupakan listing untuk server dimana server sebagai pusat dari semua client. saat program server dijalankan maka akan muncul pesan “Aplikasi Server Hidup…” saat server telah hidup.Tampilan output akan terlihat seperti dibawah ini.
 

 

 Output
 
 
Client
 
            listing diatas merupakan listing untuk client,  dimana aplikasi client akan mengirimkan pesan ke server & server akan membalas pesan dari client. output dari program tersebut seperti dibawah ini.
 
Output
 
 
        Client akan memasukan kata kunci “salam” ke Server, dan server langsung membalas “salam” dari Client terlihat pada output di server.
Demo D1-4
 

Pada aplikasi ini akan menampilkan NsLookup yaitu menampilkan host name dan ip address yang ada pada laptop saya. Untuk menjalankan programnya dengan menggunakan command prompt

Ketik javac [namafile].java (untuk mengkompilasi program)
-> javac NsLookup.java

Kemudian ketik java [namafile] (untuk merunning program tersebut)
-> java NsLookup

 
Sehingga pada output akan mencetak host name yaitu litbangkes-pc dan ip address yaitu 127.0.0.1. Tampilan Outputnya seperti dibawah ini :
 
Output
 
IPtoName
 
 
Pada aplikasi akan menampilkan IP lokal dengan IP komputer yang lain untuk menjalankan programnya dengan menggunakan command prompt.

Ketik javac [namafile].java (untuk mengkompilasi program)
-> javac IPtoName.java

Kemudian ketik java [namafile] (untuk merunning program tersebut)
-> java IPtoName

 
Sehingga pada output akan mencetak IP lokal yaitu 127.0.0.1 dengan host name litbangkes-PC. Dan akan mencetak IP komputer yang lain yaitu 127.0.0.2 dengan host name 127.0.0.2. Tampilan Output seperti dibawah ini : 
 
output
 
getName.java
 
           
          Pada program ini akan ditampilkan host name yang ada pada laptop saya. Untuk menjalankan programnya dengan menggunakan command prompt 

Ketik javac [namafile].java (untuk mengkompilasi program)
-> javac getName.java

Kemudian ketik java [namafile] (untuk merunning program tersebut)
-> java getName

 

 

Dan pada output nya akan mencetak getName adalah litbangkes-PC. Tampilan Output seperti dibawah ini:
 
Output
 
getIP.java
 
 
Pada program ini akan ditampilkan ip address yang ada pada laptop saya. Untuk menjalankan programnya dengan menggunakan command prompt
 

ketik javac [namafile].java (untuk mengkompilasi program)

>> javac getIP.java
kemudian ketik java [namafile] (untuk me-running program tersebut)
>> java getIP

Dan pada output nya akan mencetak getIP yaitu 127.0.0.1 tampilan output seperti di bawah ini.

 
Output 
 
 
 
 
 
 
 

Demo D1-1
 
 
Pada program ini akan ditampilkan ip address yang ada pada laptop saya. Untuk menjalankan programnya dengan menggunakan command prompt
 

ketik javac [namafile].java (untuk mengkompilasi program)

>> javac getIP.java
kemudian ketik java [namafile] (untuk me-running program tersebut)
>> java getIP

Dan pada output nya akan mencetak getIP yaitu 127.0.0.1 tampilan output seperti di bawah ini.

 
Output 
 
 
 
 
 
 
 
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.
Paradigma pemrosesan parallel bergantung pada model SIMD (single instruction multiple data), dan paradigma functional dataflow yang memperkenalkan konsep model MIMD (Multiple Instrution Multiple Data). Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam bentuk koordinasi pada komputer parallel : asynchronous dan synchronous. Bentuk synchronous merupakan koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu yang bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu dengan yang lainnya. Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus berjalan bersamaan.
 
Kesimpulan :
Banyak perkembangan-perkembangan baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel. Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian dalam interval waktu yang sama, dalam waktu yang bersamaan atau dalam rentang waktu yang saling tumpang tindih.
Sekalipun didukung oleh teknologi prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain.
Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat tinggi.

Sumber : ianspace.wordpress.com

Bioinformatika (bahasa Inggris: bioinformatics) adalah (ilmu yang mempelajari) penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran

sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

 
Sejarah
 
Istilah bioinformatics mulai dikemukakan pada pertengahan era 1980-an untuk mengacu pada penerapan komputer dalam biologi. Namun demikian, penerapan bidang-bidang dalam bioinformatika (seperti pembuatan basis data dan pengembangan algoritma untuk analisis sekuens biologis) sudah dilakukan sejak tahun 1960-an.
Kemajuan teknik biologi molekular dalam mengungkap sekuens biologis dari protein (sejak awal 1950-an) dan asam nukleat (sejak 1960-an) mengawali perkembangan basis data dan teknik analisis sekuens biologis. Basis data sekuens protein mulai dikembangkan pada tahun 1960-an di Amerika Serikat, sementara basis data sekuens DNA dikembangkan pada akhir 1970-an di Amerika Serikat dan Jerman (pada European Molecular Biology Laboratory, Laboratorium Biologi Molekular Eropa). Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970-an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang berhasil diungkapkan pada 1980-an dan 1990-an, menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.
Perkembangan Internet juga mendukung berkembangnya bioinformatika. Basis data bioinformatika yang terhubung melalui Internet memudahkan ilmuwan mengumpulkan hasil sekuensing ke dalam basis data tersebut maupun memperoleh sekuens biologis sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui Internet memudahkan ilmuwan mengakses program-program tersebut dan kemudian memudahkan pengembangannya.
 
Penerapan utama bioinformatika
 
Basis data sekuens biologis
 
Sesuai dengan jenis informasi biologis yang disimpannya, basis data sekuens biologis dapat berupa basis data primer untuk menyimpan sekuens primer asam nukleat maupun protein, basis data sekunder untuk menyimpan motif sekuens protein, dan basis data struktur untuk menyimpan data struktur protein maupun asam nukleat.
Basis data utama untuk sekuens asam nukleat saat ini adalah GenBank (Amerika Serikat), EMBL (Eropa), dan DDBJ (Inggris) (DNA Data Bank of Japan, Jepang). Ketiga basis data tersebut bekerja sama dan bertukar data secara harian untuk menjaga keluasan cakupan masing-masing basis data. Sumber utama data sekuens asam nukleat adalah submisi langsung dari periset individual, proyek sekuensing genom, dan pendaftaran paten. Selain berisi sekuens asam nukleat, entri dalam basis data sekuens asam nukleat umumnya mengandung informasi tentang jenis asam nukleat (DNA atau RNA), nama organisme sumber asam nukleat tersebut, dan pustaka yang berkaitan dengan sekuens asam nukleat tersebut.
Sementara itu, contoh beberapa basis data penting yang menyimpan sekuens primer protein adalah PIR (Protein Information Resource, Amerika Serikat), Swiss-Prot (Eropa), danTrEMBL (Eropa). Ketiga basis data tersebut telah digabungkan dalam UniProt (yang didanai terutama oleh Amerika Serikat). Entri dalam UniProt mengandung informasi tentang sekuens protein, nama organisme sumber protein, pustaka yang berkaitan, dan komentar yang umumnya berisi penjelasan mengenai fungsi protein tersebut.
BLAST (Basic Local Alignment Search Tool) merupakan perkakas bioinformatika yang berkaitan erat dengan penggunaan basis data sekuens biologis. Penelusuran BLAST (BLAST search) pada basis data sekuens memungkinkan ilmuwan untuk mencari sekuens asam nukleat maupun protein yang mirip dengan sekuens tertentu yang dimilikinya. Hal ini berguna misalnya untuk menemukan gen sejenis pada beberapa organisme atau untuk memeriksa keabsahan hasil sekuensing maupun untuk memeriksa fungsi gen hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens.
PDB (Protein Data Bank, Bank Data Protein) adalah basis data tunggal yang menyimpan model struktural tiga dimensi protein dan asam nukleat hasil penentuan eksperimental (dengan kristalografi sinar-X, spektroskopi NMR dan mikroskopi elektron). PDB menyimpan data struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam protein ataupun asam nukleat.
 
Penyejajaran sekuens
 
Penyejajaran sekuens (sequence alignment) adalah proses penyusunan/pengaturan dua atau lebih sekuens sehingga persamaan sekuens-sekuens tersebut tampak nyata. Hasil dari proses tersebut juga disebut sebagai sequence alignment atau alignment saja. Baris sekuens dalam suatu alignment diberi sisipan (umumnya dengan tanda “–”) sedemikian rupa sehingga kolom-kolomnya memuat karakter yang identik atau sama di antara sekuens-sekuens tersebut. Berikut adalah contoh alignment DNA dari dua sekuens pendek DNA yang berbeda, “ccatcaac” dan “caatgggcaac” (tanda “|” menunjukkan kecocokan atau match di antara kedua sekuens).
 
 
Sequence alignment merupakan metode dasar dalam analisis sekuens. Metode ini digunakan untuk mempelajari evolusi sekuens-sekuens dari leluhur yang sama (common ancestor). Ketidakcocokan (mismatch) dalam alignment diasosiasikan dengan proses mutasi, sedangkan kesenjangan (gap, tanda “–”) diasosiasikan dengan proses insersi atau delesi.Sequence alignment memberikan hipotesis atas proses evolusi yang terjadi dalam sekuens-sekuens tersebut. Misalnya, kedua sekuens dalam contoh alignment di atas bisa jadi berevolusi dari sekuens yang sama “ccatgggcaac”. Dalam kaitannya dengan hal ini, alignment juga dapat menunjukkan posisi-posisi yang dipertahankan (conserved) selama evolusi dalam sekuens-sekuens protein, yang menunjukkan bahwa posisi-posisi tersebut bisa jadi penting bagi struktur atau fungsi protein tersebut.
Selain itu, sequence alignment juga digunakan untuk mencari sekuens yang mirip atau sama dalam basis data sekuens. BLAST adalah salah satu metode alignment yang sering digunakan dalam penelusuran basis data sekuens. BLAST menggunakan algoritma heuristikdalam penyusunan alignment.
Beberapa metode alignment lain yang merupakan pendahulu BLAST adalah metode “Needleman-Wunsch” dan “Smith-Waterman”. Metode Needleman-Wunsch digunakan untuk menyusun alignment global di antara dua atau lebih sekuens, yaitu alignment atas keseluruhan panjang sekuens tersebut. Metode Smith-Waterman menghasilkan alignment lokal, yaitu alignment atas bagian-bagian dalam sekuens. Kedua metode tersebut menerapkan pemrograman dinamik (dynamic programming) dan hanya efektif untuk alignment dua sekuens (pairwise alignment).
Clustal adalah program bioinformatika untuk alignment multipel (multiple alignment), yaitu alignment beberapa sekuens sekaligus. Dua varian utama Clustal adalah ClustalW danClustalX.
Metode lain yang dapat diterapkan untuk alignment sekuens adalah metode yang berhubungan dengan Hidden Markov Model (“Model Markov Tersembunyi”, HMM). HMM merupakan model statistika yang mulanya digunakan dalam ilmu komputer untuk mengenali pembicaraan manusia (speech recognition). Selain digunakan untuk alignment, HMM juga digunakan dalam metode-metode analisis sekuens lainnya, seperti prediksi daerah pengkode protein dalam genom dan prediksi struktur sekunder protein.
 
Prediksi struktur protein
 
 
 
 Model protein hemaglutinin dari virus influensa
 
Secara kimia/fisika, bentuk struktur protein diungkap dengan kristalografi sinar-X ataupunspektroskopi NMR, namun kedua metode tersebut sangat memakan waktu dan relatif mahal. Sementara itu, metode sekuensing protein relatif lebih mudah mengungkapkan sekuens asam amino protein. Prediksi struktur protein berusaha meramalkan struktur tiga dimensi protein berdasarkan sekuens asam aminonya (dengan kata lain, meramalkan struktur tersier dan struktur sekunder berdasarkan struktur primer protein). Secara umum, metode prediksi struktur protein yang ada saat ini dapat dikategorikan ke dalam dua kelompok, yaitu metode pemodelan protein komparatif dan metode pemodelan de novo.
Pemodelan protein komparatif (comparative protein modelling) meramalkan struktur suatu protein berdasarkan struktur protein lain yang sudah diketahui. Salah satu penerapan metode ini adalah pemodelan homologi (homology modelling), yaitu prediksi struktur tersier protein berdasarkan kesamaan struktur primer protein. Pemodelan homologi didasarkan padateori bahwa dua protein yang homolog memiliki struktur yang sangat mirip satu sama lain. Pada metode ini, struktur suatu protein (disebut protein target) ditentukan berdasarkan struktur protein lain (protein templat) yang sudah diketahui dan memiliki kemiripan sekuens dengan protein target tersebut. Selain itu, penerapan lain pemodelan komparatif adalah protein threading yang didasarkan pada kemiripan struktur tanpa kemiripan sekuens primer. Latar belakang protein threading adalah bahwa struktur protein lebih dikonservasi daripada sekuens protein selama evolusi; daerah-daerah yang penting bagi fungsi protein dipertahankan strukturnya. Pada pendekatan ini, struktur yang paling kompatibel untuk suatu sekuens asam amino dipilih dari semua jenis struktur tiga dimensi protein yang ada. Metode-metode yang tergolong dalam protein threading berusaha menentukan tingkat kompatibilitas tersebut.
Dalam pendekatan de novo atau ab initio, struktur protein ditentukan dari sekuens primernya tanpa membandingkan dengan struktur protein lain. Terdapat banyak kemungkinan dalam pendekatan ini, misalnya dengan menirukan proses pelipatan (folding) protein dari sekuens primernya menjadi struktur tersiernya (misalnya dengan simulasi dinamika molekular), atau dengan optimisasi global fungsi energi protein. Prosedur-prosedur ini cenderung membutuhkan proses komputasi yang intens, sehingga saat ini hanya digunakan dalam menentukan struktur protein-protein kecil. Beberapa usaha telah dilakukan untuk mengatasi kekurangan sumber daya komputasi tersebut, misalnya dengan superkomputer (misalnya superkomputer Blue Gene [1] dariIBM) atau komputasi terdistribusi (distributed computing, misalnya proyek Folding@home) maupun komputasi grid.
 
Analisis ekspresi gen
 
 
 Analisis klastering ekspresi gen pada kanker payudara
 
Ekspresi gen dapat ditentukan dengan mengukur kadar mRNA dengan berbagai macam teknik (misalnya dengan microarray ataupun Serial Analysis of Gene Expression [“Analisis Serial Ekspresi Gen”, SAGE]). Teknik-teknik tersebut umumnya diterapkan pada analisis ekspresi gen skala besar yang mengukur ekspresi banyak gen (bahkan genom) dan menghasilkan data skala besar. Metode-metode penggalian data (data mining) diterapkan pada data tersebut untuk memperoleh pola-pola informatif. Sebagai contoh, metode-metode komparasi digunakan untuk membandingkan ekspresi di antara gen-gen, sementara metode-metode klastering (clustering) digunakan untuk mempartisi data tersebut berdasarkan kesamaan ekspresi gen.
 
Bioinformatika di Indonesia
 
Saat ini mata ajaran bioinformatika maupun mata ajaran dengan muatan bioinformatika sudah diajarkan di beberapa perguruan tinggi di Indonesia. Sekolah Ilmu dan Teknologi HayatiITB 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 bioteknologiUniversitas 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.
Riset bioinformatika protein dilaksanakan sebagai bagian dari aktivitas riset rekayasa protein pada Laboratorium Rekayasa Protein, Pusat Penelitian Bioteknologi Lembaga Ilmu Pengetahuan Indonesia (LIPI), Cibinong, Bogor. Lembaga Biologi Molekul Eijkman, Jakarta, secara khusus memiliki laboratorium bioinformatika sebagai fasilitas penunjang kegiatan risetnya. Selain itu, basis data sekuens DNA mikroorganisme asli Indonesia sedang dikembangkan di UI.

Sumber : id.wikipedia.org