This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Rabu, 02 Juli 2014

Bioinformatika

NAMA : Danny Novan Hernawan


KELAS : 4IA19


NPM : 51410681


DOSEN : KUWAT S.






BIOINFORMATIKA


PENDAHULUAN


Bioinformatika merupakan ilmu terapan yang lahir dari perkembangan teknologi informasi dibidang  molekular.  Pembahasan  dibidang  bioinformatik  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).

Perkembangan teknologi DNA rekombinan memainkan peranan penting dalam lahirnya bioinformatika. Teknologi DNA rekombinan memunculkan suatu pengetahuan baru dalam rekayasa genetika organisme yang dikenala bioteknologi. Perkembangan bioteknologi dari bioteknologi   tradisional   ke   bioteknologi   modren   salah   satunya   ditandainya   dengan kemampuan manusia dalam melakukan analisis DNA organisme, sekuensing DNA dan manipulasi DNA.

Sekuensing DNA satu organisme, misalnya suatu virus memiliki kurang lebih 5.000 nukleotida  atau  molekul  DNA  atau  sekitar  11  gen,  yang  telah berhasil  dibaca  secara menyeluruh pada tahun 1977. Kemudia Sekuen seluruh DNA manusia terdiri dari 3 milyar

nukleotida yang menyusun 100.000 gen dapat dipetakan dalam waktu 3 tahun, walaupun semua ini belum terlalu lengkap. Saat ini terdapat milyaran data nukleotida yang tersimpan dalam database DNA, GenBank di AS yang didirikan tahun 1982.




TEORI


Bioinformatika  ialah ilmu yang  mempelajari  penerapan  teknik komputasi untuk mengelola dan    menganalisis    informasi    hayati.    Bidang    ini    mencakup    penerapan    metode- metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologi, terutama  yang  terkait  dengan  penggunaan  sekuens DNA dan asam  amino.  Contoh  topik utama bidang ini meliputi pangkalan datauntuk mengelola informasi  hayati,  penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan struktur protein atau pun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresigen.

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


bioinformatika melalui internet memudahkan ilmuwan dalam mengakses program-program tersebut dan kemudian memudahkan pengembangannya.

Pangkalan  Data sekuens  biologi  dapat  berupa  pangkalan  data  primer  untuk  menyimpan sekuens primer asam nukleat dan protein, pangkalan data sekunder untuk menyimpan motif sekuens protein, dan pangkalan data struktur untuk menyimpan data struktur protein dan asam nukleat.

Pangkalan  data  utama  untuk  sekuens  asam  nukleat  saat  ini  adalah GenBank (Amerika Serikat), EMBL (the  European  Molecular  Biology  Laboratory,  Eropa),  dan DDBJ (DNA Data Bank of Japan, Jepang). Ketiga pangkalan data tersebut bekerja sama dan bertukar data secara  harian  untuk  menjaga  keluasan  cakupan  masing-masing  pangkalan  data.  Sumber utama data sekuens asam nukleat adalah submisi (pengumpulan) langsung dari peneliti individual,  proyek  sekuensing genom,  dan  pendaftaran paten.  Selain  berisi  sekuens  asam nukleat, entri dalam pangkalan data sekuens asam nukleat pada umumnya mengandung informasi tentang jenis asam nukleat (DNA atau RNA), namaorganisme sumber asam nukleat tersebut, dan segala sesuatu yang berkaitan dengan sekuens asam nukleat tersebut.

Selain asam nukleat, beberapa contoh pangkalan data penting yang menyimpan sekuens primer   protein   adalah PIR (Protein   Information   Resource,   Amerika   Serikat), Swiss- Prot (Eropa),   danTrEMBL (Eropa). Ketiga   pangkalan   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 pada umumnya berisi penjelasan mengenai fungsi protein tersebut.

Perangkat bioinformatika yang berkaitan erat dengan penggunaan pangkalan data sekuens Biologi ialah BLAST (Basic Local Alignment Search Tool). Penelusuran BLAST (BLAST search) pada pangkalan data sekuens memungkinkan ilmuwan untuk mencari sekuens baik 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 sekuensingatau    untuk    memeriksa    fungsi    gen    hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens.


model   struktur   tiga   dimensi protein dan asam   nukleat hasil   penentuan   eksperimental (dengankristalografi sinar-X, spektroskopi NMR, dan mikroskopi elektron). PDB menyimpan data struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam protein atau pun asam nukleat.




ANALISA DAN KESIMPULAN


Analisa pada Bioinformatika diantaranya adalah Ekspresi gen. 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.

Dengan Bioinformatika, data-data yang dihasilkan dari proyek     genom     dapat     disimpan dengan   teratur   dalam   waktu   yang   singkat   dengan   tingkat  ketepatan   yang   tinggi serta sekaligus  dianalisa  dengan  program-program  yang       dibuat  untuk  tujuan  tertentu. Dalam dunia kedokteran, keberhasilan proyek genom ini    membuka    kemungkinan    luas untuk  menangani  berbagai  penyakit  genetik  serta memprediksi  resiko terkena penyakit genetic itu sendiri. Juga dapat  digunakan untuk mengetahui respon tubuh terhadap obat sehingga keefektivitasan pengobatan dapat ditingkatkan. Karena Bioinformatika merupakan suatu bidang interdisipliner,  maka Bioinformatika  harus didukung oleh disiplin ilmu lain untuk  dapat  saling menunjang  sehingga  bermanfaat  untuk kepentingan  manusia.  Bidang yang terkait   dengan   Bioinformatika   diantaranya   adalah   Biophysics,    Computational Biology,Medical In.




REFERENSI


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



http://indraaris.blogspot.com/2014/05/kesimpulan-dari-bioinformatika.html

Rabu, 11 Juni 2014

CLOUD COMPUTING

Danny Novan Hernawan
4IA19
51410681
SOFTKILL CLOUD COMPUTING
DOSEN : KUWAT SETIYANTO
ALAMAT BLOG :
MATERI : CLOUD COMPUTING

1.PENDAHULUAN
Tentu kita semua adalah para pemakai listrik dalam kehidupan sehari-hari. Untuk bisa menikmati listrik, kita tidak perlu mendirikan infrastruktur pembangkit listrik sendiri kan? yang perlu kita lakukan adalah mendaftar ke PLN, dan kita tinggal bayar biaya listrik berdasarkan jumlah penggunaan kita tiap bulan. Analogi PLN diatas, adalah sedikit gambaran Cloud Computing, dimana Cloud Computing ini bertugas untuk memberikan layanan dan kita adalah user/pemakai dari layanan tersebut. Kita tidak perlu pusing memikirkan bagaimana mereka (penyedia layananan Cloud Computing) menyedikan layanan tersebut, yang penting mereka bisa memberikan standar layanan sesuai dengan apa yang kita butuhkan. Untuk biaya layanan kita tinggal bayar berdasarkan pemakaian. Saat kita butuh tambahan layanan, kita bisa meminta segera penambahan layanan tersebut, dan juga sebalik-nya (ELASTIS).

2.PEMBAHASAN DAN ANALISA
Pengertian cloud computing
Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud)dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.





Sejarah Cloud Computing

Tahun 1960
John McCarthy, Pakar Komputasi dan kecerdasan buatan dari MIT. “Suatu hari anti, komputasi akan menjadi Infrastruktur publik seperti halnya listrik dan telepon.” Ini adalah sebuah ide yang mengawali suatu bentuk komputasi yang kita kenal dengan istilah Komputasi awan.
Tahun 1995
Larry Ellison, pendiri perusahaan Oracle. “Network Computing” Ide ini sebenarnya cukup unik dan sedikit menyindir perusahaan Microsoft pada saat itu. Intinya, kita tidak harus "menanam" berbagai perangkat lunak kedalam PC pengguna, mulai dari sistem operasi hingga perangkat lunak lainya. Cukup dengan koneksi dengan server dimana akan disediakan sebuah environment yang mencakup berbagai kebutuhan PC pengguna.
Pada era ini juga wacana “Network Computing” cukup populer. Banyak perusahaan yang menggalang sistem ini contohnya Sun Mycrosystem dan Novell Netware. Disayangkan kualitas jaringan komputer saat itu masih belum memadai, penggunapun cenderung memilih PC karena cenderung lebih cepat.
Akhir Era -90
Lahir konsep ASP (Application Service Provider) yang ditandai dengan kemunculan perusahaan pusat pengolahan data. Ini merupakan sebuah perkembangan pada kualitas jaringan komputer. Akses untuk pengguna menjadi lebih cepat.
Tahun 2000
Marc Benioff, mantan wakil presiden perusahaan Oracle. “salesforce.com” ini merupakan sebuah perangkat lunak CRM dengan basis SaaS (Software as a Service). Tak disangka gebrakan ini mendapat tanggapan hebat. Sebagai suksesor dari visi Larry Ellison, boss-nya. Dia memiliki sebuah misi yaitu “The End of Software”.
2005 - Sekarang
Cloud Computing sudah semakin meningkat popularitasnya, dari mulai penerapan sistem, pengunaan nama, dll. Amazon.com dengan EC2 (Elastic Computer Cloud); Google dengan Google App. Engine; IBM dengan Blue Cord Initiative; dsb. Perhelatan cloud computing meroket sebagaimana berjalanya waktu. Sekarang, sudah banyak sekali pemakaian sistem komputasi itu, ditambah lagi dengan sudah meningkatnya kualitas jaringan komputer dan beragamnya gadget yang ada. Contoh dari pengaplikasianya adalah Evernote, Dropbox, Google Drive, Sky Drive, Youtube, Scribd, dll.





Manfaat Komputasi Awan
Dari penjelasan tentang cloud computing diatas, ada banyak manfaat yang bisa kita ambil dari cloud computing, yaitu :
·        Skalabilitas, yaitu dengan cloud computing kita bisa menambah kapasitas penyimpanan data kita tanpa harus membeli peralatan tambahan, misalnya hardisk dll. Kita cukup menambah kapasitas yang disediakan oleh penyedia layanan cloud computing.
·        Aksesibilitas, yaitu kita bisa mengakses data kapanpun dan dimanapun kita berada, asal kita terkoneksi dengan internet, sehingga memudahkan kita mengakses data disaat yang penting.
·        Keamanan, yaitu data kita bisa terjamin keamanan nya oleh penyedia layanan cloud computing, sehingga bagi perusahaan yang berbasis IT, data bisa disimpan secara aman di penyedia cloud computing. Itu juga mengurangi biaya yang diperlukan untuk mengamankan data perusahaan.
·        Kreasi, yaitu para user bisa melakukan/mengembangkan kreasi atau project mereka tanpa harus mengirimkan project mereka secara langsung ke perusahaan, tapi user bisa mengirimkan nya lewat penyedia layanan cloud computing.
·        Kecemasan, ketika terjadi bencana alam data milik kita tersimpan aman di cloud meskipun hardisk atau gadget kita rusak

Layanan Komputasi Awan
Infrastructure as a Service (IaaS)
Infrastructure as a Service adalah layanan komputasi awan yang menyediakan infrastruktur IT berupa CPU, RAM, storage, bandwith dan konfigurasi lain. Komponen-komponen tersebut digunakan untuk membangun komputer virtual. Komputer virtual dapat diinstal sistem operasi dan aplikasi sesuai kebutuhan. Keuntungan layanan IaaS ini adalah tidak perlu membeli komputer fisik sehingga lebih menghemat biaya. Konfigurasi komputer virtual juga bisa diubah sesuai kebutuhan. Misalkan saat storage hampir penuh, storage bisa ditambah dengan segera. Perusahaan yang menyediakan IaaS adalah Amazon EC2, TelkomCloud dan BizNetCloud.

Platform as a Service (PaaS)
Platform as a Service adalah layanan yang menyediakan computing platform. Biasanya sudah terdapat sistem operasi, database, web server dan framework aplikasi agar dapat menjalankan aplikasi yang telah dibuat. Perusahaan yang menyediakan layanan tersebutlah yang bertanggung jawab dalam pemeliharaan computing platform ini. Keuntungan layanan PaaS ini bagi pengembang adalah mereka bisa fokus pada aplikasi yang mereka buat tanpa memikirkan tentang pemeliharaan dari computing platform. Contoh penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure.
Software as a Service (SaaS)
Software as a Service adalah layanan komputasi awan dimana kita bisa langsung menggunakan aplikasi yang telah disediakan. Penyedia layanan mengelola infrastruktur dan platform yang menjalankan aplikasi tersebut. Contoh layanan aplikasi email yaitu gmail, yahoo dan outlook sedangkan contoh aplikasi media sosial adalah twitter, facebook dan google+. Keuntungan dari layanan ini adalah pengguna tidak perlu membeli lisensi untuk mengakses aplikasi tersebut. Pengguna hanya membutuhkan perangkat klien komputasi awan yang terhubung ke internet. Ada juga aplikasi yang mengharuskan pengguna untuk berlangganan agar bisa mengakses aplikasi yaitu Office 365 dan Adobe Creative Cloud.

3. PENUTUP

KEUNGGULAN CLOUD COMPUTING SISTEM

Uraian mengenai keuntungan (sisi potensial) yang didapat dalam penggunaan Cloud Computing. Namun, secara spesifik, merujuk kepada (Thia, 2008) keuntungan Cloud Computing antara lain:
(1) Keuntungan bagi para pelaku bisnis adalah minimalisasi biaya investasi infrastruktur publik sehingga bisnis bisa lebih terfokus pada aspek fungsionalitasnya,
(2) Bagi application developer, layanan PaaS memungkinkan pengembangan dan implementasi aplikasi dengan cepat sehingga meningkatkan produktivitas,
 (3) Bagi para praktisi yang bergerak di industri TI, hal ini berarti terbukanya pasar baru bagi industri jasa pengembangan teknologi informasi,
(4) Bagi pebisnis di bidang infrastruktur, hal ini merupakan peluang yang besar karena dengan meningkatnya penggunaan layanan SaaS ini akan meningkatkan penggunaaan bandwidth internet,
(5) Integrasi aplikasi dengan berbagai perangkat

KEKURANGAN CLOUD COMPUTING

Merujuk kepada (Robbins, 2009), resiko yang harus dihadapi user dalam penggunaan Cloud Computing ini antara lain:
(1) service level, artinya kemungkinan service performance yang kurang konsisten dari provider. Inkonsistensi cloud provider ini meliputi, data protection dan data recovery,
(2) privacy, yang berarti adanya resiko data user akan diakses oleh orang lain karena hosting dilakukan secara bersama-sama,
(3) compliance, yang mengacu pada resiko adanya penyimpangan level compliance dari provider terhadap regulasi yang diterapkan oleh user,
(4) data ownership mengacu pada resiko kehilangan kepemilikan data begitu data disimpan dalam cloud,
(5) data mobility, yang mengacu pada kemungkinan share data antar cloud service dan cara memperoleh kembali data jika suatu saat user melakukan proses terminasi terhadap layanan cloud Computing.
Intinya kemampuan dari cloud computing itu sendiri masih harus disempurnakan agar dalam jangka panjang dapat dimanfaatkan dengan lebih maksimal lagi.


Sumber:


            

Sabtu, 31 Mei 2014

Pemrograman Jaringan : Stream Socket


Stream Socket

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix BSD yang terkenal dengan kepeloporannya pada bidang penanganan jaringan, sehingga sering disebut BSD Socket. Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2 tahun 1983 sebagai kelanjutan dari implementasi protokol TCP/IP yang muncul pertama kali pada sistem Unix BSD 4.1 pada akhir 1981. Hampir setiap variant Unix dan Linux mengadopsi BSD Socket. Pada lingkungan Unix, socket memberikan keleluasaan pemrograman gaya Unix yang terkenal dengan ideologinya, Semua di Unix/Linux adalah file. Komunikasi antar program dapat berlangsung lewat penggunaan deskriptor file standar Unix dengan bantuan socket.

Client



  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <errno.h>
  5. #include <string.h>
  6. #include <netdb.h>
  7. #include <sys/types.h>
  8. #include <netinet/in.h>
  9. #include <sys/socket.h>
  10. #define PORT 3333
  11. #define MAXDATASIZE 100
  12. int main(int argc, char const *argv[])
  13. {
  14.         int sockfd, numbytes;
  15.         char buf[MAXDATASIZE];
  16.         struct hostent *he;
  17.         struct sockaddr_in their_addr;
  18.         if (argc != 2)
  19.         {
  20.                 fprintf(stderr, "usage: client hostname\n");
  21.                 exit(1);
  22.         }
  23.         if ((he=gethostbyname(argv[1])) == NULL)
  24.         {
  25.                 perror("gethostbyname");
  26.                 exit(1);
  27.         }
  28.         if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  29.         {
  30.                 perror("socket");
  31.                 exit(1);
  32.         }
  33.         their_addr.sin_family = AF_INET;
  34.         their_addr.sin_port = htons(PORT);
  35.         their_addr.sin_addr = *((struct in_addr *)he->h_addr);
  36.         memset(&(their_addr.sin_zero), '\0', 8);
  37.         if (connect(sockfd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1)
  38.         {
  39.                 perror("connect");
  40.                 exit(1);
  41.         }
  42.         if ((numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
  43.         {
  44.                 perror("recv");
  45.                 exit(1);
  46.         }
  47.         buf[numbytes] = '\0';
  48.         printf("Received: %s", buf);
  49.         close(sockfd);
  50.         return 0;
  51. }

Server



  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <errno.h>
  5. #include <string.h>
  6. #include <sys/types.h>
  7. #include <sys/socket.h>
  8. #include <netinet/in.h>
  9. #include <arpa/inet.h>
  10. #include <sys/wait.h>
  11. #include <signal.h>
  12. #define MYPORT 3333
  13. #define BACKLOG 10
  14. void sigchld_handler(int s)
  15. {
  16.         while(wait(NULL) > 0);
  17. }
  18. int main(void)
  19. {
  20.         int sockfd, new_fd;
  21.         struct sockaddr_in my_addr;
  22.         struct sockaddr_in their_addr;
  23.         int sin_size;
  24.         struct sigaction sa;
  25.         int yes=1;
  26.         if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  27.         {
  28.                 perror("socket");
  29.                 exit(1);
  30.         }
  31.         if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1)
  32.         {
  33.                 perror("setsockopt");
  34.                 exit(1);
  35.         }
  36.         my_addr.sin_family = AF_INET;
  37.         my_addr.sin_port = htons(MYPORT);
  38.         my_addr.sin_addr.s_addr = INADDR_ANY;
  39.         memset(&(my_addr.sin_zero), '\0', 8);
  40.         if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)
  41.         {
  42.                 perror("bind");
  43.                 exit(1);
  44.         }
  45.         if (listen(sockfd, BACKLOG) == -1)
  46.         {
  47.                 perror("listen");
  48.                 exit(1);
  49.         }
  50.         sa.sa_handler = sigchld_handler;
  51.         sigemptyset(&sa.sa_mask);
  52.         sa.sa_flags = SA_RESTART;
  53.         if (sigaction(SIGCHLD, &sa, NULL) == -1)
  54.         {
  55.                 perror("sigaction");
  56.                 exit(1);
  57.         }
  58.         while(1)
  59.         {
  60.                 sin_size = sizeof(struct sockaddr_in);
  61.                 if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)) == -1)
  62.                 {
  63.                         perror("accept");
  64.                         continue;
  65.                 }
  66.                 printf("server: got connection from %s\n", inet_ntoa(their_addr.sin_addr));
  67.                 if (!fork())
  68.                 {
  69.                         close(sockfd);
  70.                         if (send(new_fd, "Pengiriman data dengan stream socket berhasil!\n", 14, 0) == -1)
  71.                         {
  72.                                 perror("send");
  73.                         }
  74.                         close(new_fd);
  75.                         exit(0);
  76.                 }
  77.                 close(new_fd);
  78.         }
  79.         return 0;
  80. }

langkah langkah menjalankan program


1. simpan program dengan nama client.c dan untuk server dengan nama server.c

2. lakukan instalasi compiler untuk c pada linux
3. #yum install gcc
4. lakukan kompilasi progaram
5. gcc client.c -o client
6. gcc server.c -o server
7. jalankan program server dan client
8 #./server
9. #.client <ip server>

output server






















output client





sumber : http://salmaann.blogspot.com/2014/05/program-stream-socket.html
http://dzikrylazuardy.blogspot.com/2014/05/program-stream-socket-socket-adalah.html

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites