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.

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

Minggu, 27 April 2014

Algoritma Paralel

Nama: Danny Novan hernawan
Kelas: 4ia19
Npm: 51410681

Algoritma Paralel

Pendahuluan
Sebelum membahas mengenai perancangan ataupun analisis algoritma, tentunya kita terlebih dahulu harus mendefinisikan arti dari “Algoritma”. Apa itu algoritma? Algoritma merupakan langkah-langkah (prosedur) yang harus dilakukan untuk menyelesaikan sebuah masalah.Program komputer umumnya dibangun dengan menggunakan beberapa algoritma untuk menyelesaikan sebuah permasalahan. Misalnya sebuah program pencarian teks seperti grep akan memerlukan algoritma khusus untuk membaca dan menelusuri file, algoritma lain untuk mencari teks yang tepat di dalam file, dan satu algoritma lagi untuk menampilkan hasil pencarian ke pengguna. Dalam ilmu komputer, sebuah algoritma paralel atau algoritma bersamaan, sebagai lawan berurutan (atau serial) algoritma tradisional, merupakan algoritma yang dapat dieksekusi sepotong pada waktu pada banyak perangkat pengolahan yang berbeda, dan kemudian digabungkan bersama-sama lagi pada akhir untuk mendapatkan hasil yang benar.
Teori
Mengadaptasi suatu algoritma sekuensial ke dalam algoritma paralel. Mempelajari mengenai konsep pemrosesan paralel dan bagaimana proses-proses dapat berlangsung secara paralel. Algoritma paralel cenderung digunakan untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat tinggi. Untuk dapat mengadaptasi suatu algoritma sekuensial ke dalam algoritma paralel, terlebih dahulu harus dipelajari mengenai konsep pemrosesan paralel dan bagaimana proses-proses dapat berlangsung secara paralel.

Dalam merancang suatu algoritma paralel kita harus mempertimbangkan pula hal-hal yang dapat mengurangi kinerja program paralel. Hal-hal tersebut adalah :
1. Memory Contention
Eksekusi prosesor tertunda ketika prosesor menunggu hak ases ke sel memori yang sedang dipergunakan oleh  prosesor lain. Problem ini muncul pada arsitektur multiprosesor dengan memori bersama.
2. Excessive Sequential Code
Pada beberapa algoritma paralel, akan terdapat kode sekuensial murni dimana tipe tertentu dari operasi pusat dibentuk, seperti misalnya pada proses inisialisasi. Dalam beberapa algoritma, kode sekuensial ini dapat mengurangi keseluruhan speedup yang dapat dicapai.
3. Process Creation Time
Pembentukan proses paralel akan membutuhkan waktu eksekusi. Jika proses yang dibentuk relative berjalan dalam waktu yang relatif lebih singkat dibandingkan dengan waktu pembentukan proses itu sendiri, maka overhead pembuatan akan lebih besar dibandingkan dengan waktu eksekusi paralel algoritma.
4. Communication Delay
Overhead ini muncul hanya pada multikomputer. Hal ini disebabkan karena interaksi antar prosesor melalui jaringan komunikasi. Dalam beberapa kasus, komunikasi antar dua prosesor mungkin melibatkan beberapa prosesor antara dalam jaringan komunikasi. Jumlah waktu tunda komunikasi dapat menurunkan kinerja beberapa algoritma paralel.
5. Synchronization Delay
Ketika proses paralel disinkronkan, berarti bahwa suatu proses akan harus menunggu proses lainnya. Dalam beberapa program paralel, jumlah waktu tunda ini dapat menyebabkan bottleneck dan mengurangi speedup keseluruhan.
6. Load Imbalance
Dalam beberapa program paralel, tugas komputasi dibangun secara dinamis dan tidak dapat diperkirakan sebelumnya. Karena itu harus selalu ditugaskan ke prosesor-prosesor sejalan dengan pembangunan tugas tersebut. Hal ini dapat menyebabkan suatu prosesor tidak bekerja (idle), sementara prosesor lainnya tidak dapat mengerjakan task yang ditugaskannya.
Terdapat beberapa penelitian mengenai perancangan algoritma paralel untuk problem-problem praktis seperti pengurutan, pemrosesan geraf, solusi untuk persamaan lanjar, solusi untuk persamaan diferensial, dan untuk simulasi. Teknik pembangunan algoritma paralel dapat dibedakan sebagai berikut :

Paralelisme Data
Teknik paralelisme data merupakan teknik yang paling banyak digunakan dalam program paralel. Teknik ini lahir dari penelitian bahwa aplikasi utama komputasi paralel adalah dalam bidang sain dan engineer, yang umumnya melibatkan array multi-dimensi yang sangat besar. Dalam program sekuensial biasa, array ini dimanipulasi dengan mempergunakan perulangan bersarang untuk mendapatkan hasil. Kebanyakan program paralel dibentuk dengan mengatur ulang algoritma sekuensial agar perulangan bersarang tersebut dapat dilaksanakan secara paralel. Paralelisme data menunjukkan bahwa basis data dipergunakan sebagai dasar untuk membentuk aktifitas paralel, dimana bagian yang berbeda dari basis data akan diproses secara paralel. Dengan kata lain paralelisme dalam program ini dibentuk dari penerapan operasi-operasi yang sama ke bagian array data yang berbeda. Prinsip paralelisme data ini berlaku untuk pemrograman multiprosesor dan multikomputer.

Partisi Data
Merupakan teknik khusus dari Paralelisme Data, dimana data disebar ke dalam memori-memori lokal multikomputer. Sebuah proses paralel kemudian ditugaskan untuk mengoperasikan masingmasing bagian data. Proses tersebut harus terdapat dalam lokal memori yang sama dengan bagian data, karena itu proses dapat mengakses data tersebut secara lokal. Untuk memperoleh kinerja yang baik, setiap proses harus memperhatikan variabel-variabel dan data-data lokalnya masing-masing. Jika suatu proses membutuhkan akses data yang terdapat dalam remote memori, maka hal ini dapat dilakukan melalui jaringan message passing yang menghubungkan prosesor-prosesor. Karena komunikasi antar prosesor ini menyebabkan terjadinya waktu tunda, maka messsage passing ini sebaiknya dilakukan dalam frekuensi yang relatif kecil. Dapat disimpulkan bahwa tujuan dari partisi data adalah untuk mereduksi waktu tunda yang diakibatkan komunikasi messsage passing antar prosesor. Algoritma paralel mengatur agar setiap proses dapat melakukan komputasi dengan lokal data masing-masing.

Algoritma Relaksasi
Pada algoritma ini, setiap proses tidak membutuhkan sinkronisasi dan komunikasi antar proses. Meskipun prosesor mengakses data yang sama, setiap prosesor dapat melakukan komputasi sendiri tanpa tergantung pada data antara yang dihasilkan oleh proses lain. Contoh algoritma relaksasi adalah algoritma perkalian matrik, pengurutan dengan mengunakan metode ranksort dan lain sebagainya.

Paralelisme Sinkron
Aplikasi praktis dari komputasi paralel adalah untuk problem yang melibatkan array multi-dimensi yang sangat besar. Problem tersebut mempunyai peluang yang baik untuk paralelisme data karena elemen yang berbeda dalam array dapat diproses secara paralel. Teknik komputasi numerik pada array ini biasanya iteratif, dan setiap iterasi akan mempengaruhi iterasi berikutnya untuk menuju solusi akhir. Misalnya saja untuk solusi persamaan numerik pada sistem yang besar. Umumnya, setiap iterasi mempergunakan data yang dihasilkan oleh iterasi sebelumnya dan program akhirnya menuju suatu solusi dengan akurasi yang dibutuhkan. Algoritma iterasi ini mempunyai peluang paralelisme pada setiap iterasinya. Beberapa proses parallel dapat dibentuk untuk bekerja pada array bagian yang berbeda. Namun setelah setiap iterasi, prosesproses harus disinkronkan, karena hasil yang diproduksi oleh satu proses dipergunakan oleh prosesproses lain pada iterasi berikutnya. Teknik pemrograman paralel seperti ini disebut paralelisme sinkron. Contohnya adalah perhitungan numerik pada Metode Eliminasi Gauss. Pada paralelisme sinkron ini, struktur umum programnya biasanya terdiri dari perulangan FORALL yang akan membentuk sejumlah besar proses paralel untuk dioperasikan pada bagian array data yang berbeda. Setiap proses diulang dan disinkronkan pada akhir iterasi. Tujuan dari sinkronisasi ini adalah untuk meyakinkan bahwa seluruh proses telah menyelesaikan iterasi yang sedang berlangsung, sebelum terdapat suatu proses yang memulai iterasi berikutnya.

Komputasi Pipeline
Pada komputasi pipeline, data dialirkan melalui seluruh struktur proses, dimana masing-masing proses membentuk tahap-tahap tertentu dari keseluruhan komputasi . Algoritma ini dapat berjalan dengan baik pada multikomputer, karena adanya aliran data dan tidak banyak memerlukan akses ke data bersama. Contoh komputasi pipeline adalah teknik penyulihan mundur yang merupakan bagian dari metoda Eliminasi.
Dalam merancang suatu algoritma paralel kita harus mempertimbangkan pula hal-hal yang dapat mengurangi kinerja program paralel. Hal-hal tersebut adalah :
1. Memory Contention
Eksekusi prosesor tertunda ketika prosesor menunggu hak ases ke sel memori yang sedang dipergunakan oleh prosesor lain. Problem ini muncul pada arsitektur multiprosesor dengan memori bersama.
2. Excessive Sequential Code
Pada beberapa algoritma paralel, akan terdapat kode sekuensial murni dimana tipe tertentu dari operasi pusat dibentuk, seperti misalnya pada proses inisialisasi. Dalam beberapa algoritma, kode sekuensial ini dapat mengurangi keseluruhan speedup yang dapat dicapai. Process Creation Time Pembentukan proses paralel akan membutuhkan waktu eksekusi. Jika proses yang dibentuk relative berjalan dalam waktu yang relatif lebih singkat dibandingkan dengan waktu pembentukan proses itu sendiri, maka overhead pembuatan akan lebih besar dibandingkan dengan waktu eksekusi paralel algoritma. Communication Delay Overhead ini muncul hanya pada multikomputer. Hal ini disebabkan karena interaksi antar prosesor melalui jaringan komunikasi. Dalam beberapa kasus, komunikasi antar dua prosesor mungkin melibatkan beberapa prosesor antara dalam jaringan komunikasi. Jumlah waktu tunda komunikasi dapat menurunkan kinerja beberapa algoritma paralel.
Synchronization Delay
Ketika proses paralel disinkronkan, berarti bahwa suatu proses akan harus menunggu proses lainnya. Dalam beberapa program paralel, jumlah waktu tunda ini dapat menyebabkan bottleneck dan mengurangi speedup keseluruhan. Load Imbalance Dalam beberapa program paralel, tugas komputasi dibangun secara dinamis dan tidak dapat diperkirakan sebelumnya. Karena itu harus selalu ditugaskan ke prosesor-prosesor sejalan dengan pembangunan tugas tersebut. Hal ini dapat menyebabkan suatu prosesor tidak bekerja (idle), sementara prosesor lainnya tidak dapat mengerjakan task yang ditugaskannya.

Analisis
Seperti yang telah dibahas diatas, bahwa algoritma paralel adalah algoritma yang mengeksekusi suatu proses secara terbagi-bagi dan hasilnya akan disatukan sehingga akan mendapatkan hasil yang maksimal. Namun pada penggunaannya algoritm aparalel tersebut membutuhkan memory ya ng cukup besar dalam beroperasi dan kecepatan prosesor yang tinggi karena bila memakai prosesosr dan memory yang dipakai rendah maka penerapan algoritma paralel akan memakan waktu yang lama dan menjadi tidak efisien waktu. Keuntungannya adalah hasil yang dikerjakan jadi lebih cepat karena dikerjakan dalam waktu yang bersamaan jika prosessor yang dipakai memadai dan memaksimal hasil pekerjaan yang kita lakukan.

Refrensi




Kamis, 27 Maret 2014

Komputasi Modern

Nama: Danny Novan hernawan
Kelas: 4ia19
Npm: 51410681
Url Blog: http://animexanime-animelovers.blogspot.com/2014/03/komputasi-modern.html

Komputasi Modern

Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memori, memori disini bisa juga dari memori komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, teori game, 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.
Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:
·         Akurasi (Big, Floating point)
·         Kecepatan (dalam satuan Hz)
·         Problem Volume Besar (Down Sizzing atau pararel)
·         Modeling (NN & GA)
·         Kompleksitas (Menggunakan Teori Big O)

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:              

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. Contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smartphone, dan lain sebagainya.                              


Grid Computing 
Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar. Ada beberapa daftar yang dapat digunakan untuk mengenali sistem komputasi grid, adalah:                           

·         Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
·         Sistem menggunakan standard dan protocol yang terbuka.
·         Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

Cloud Computing              
Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.              
Adapun perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud, dapat dilihat penjelasannya di bawah ini:             

·         Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer.
·         Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud.
·         Komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
·         Untuk komputasi mobile proses tergantung si pengguna, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.

Analisis
Seperti yang telah dibahas diatas, bahwa komputasi modern adalah perkembangan teknologi yang mampu membuat pekerjaan menjadi lebih efisien bagi manusia. Komputasi modern mampu melakukan transaksi bahkan dengan skala besar tanpa memberi banyak masalah pada pelaku transaksi. Dengan didukung teknologi yang sudah berkembang saat ini komputasi modern bisa dilakukan tidak hanya di daerah pusat kota namun juga daerah pinggiran kota.

Refrensi



Kamis, 02 Januari 2014

Cyber Crime


Kejahatan dunia maya (Inggris: cybercrime) adalah istilah yang mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer menjadi alat, sasaran atau tempat terjadinya kejahatan. Termasuk ke dalam kejahatan dunia maya antara lain adalah penipuan lelang secara online, pemalsuan cek, penipuan kartu kredit/carding, confidence fraud, penipuan identitas,pornografi anak, dll.
Walaupun kejahatan dunia maya atau cybercrime umumnya mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer sebagai unsur utamanya, istilah ini juga digunakan untuk kegiatan kejahatan tradisional di mana komputer atau jaringan komputer digunakan untuk mempermudah atau memungkinkan kejahatan itu terjadi.
Contoh kejahatan dunia maya di mana komputer sebagai alat adalah spamming dan kejahatan terhadap hak cipta dan kekayaan intelektual. Contoh kejahatan dunia maya di mana komputer sebagai sasarannya adalah akses ilegal (mengelabui kontrol akses), malware dan serangan DoS. Contoh kejahatan dunia maya di mana komputer sebagai tempatnya adalah penipuan identitas. Sedangkan contoh kejahatan tradisional dengan komputer sebagai alatnya adalah pornografi anak dan judi online. Beberapa situs-situs penipuan berkedok judi online termasuk dalam sebuah situs yang merupakan situs kejahatan di dunia maya yang sedang dipantau oleh pihak kepolisian dengan pelanggaran pasal 303 KUHP tentang perjudian dan pasal 378 KUHP tentang penipuan berkedok permainan online dengan cara memaksa pemilik website tersebut untuk menutup website melalui metode DDOS website yang bersangkutan, begitupun penipuan identitas di game online hanya mengisi alamat identitas palsu game online tersebut bingung dengan alamat identitas palsu karena mereka sadar akan berjalannya cybercrime jika hal tersebut terus terus terjadi maka game online tersebut akan rugi/bangkrut.


Kamis, 14 November 2013

Bioinformatika


Bioinformatika (bahasa Inggrisbioinformatics) adalah (ilmu yang mempelajari) penerapan teknik komputasionaluntuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika,statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuensDNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis datauntuk mengelola informasi biologis, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.


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.

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 JapanJepang). 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), dan TrEMBL(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 (dengankristalografi sinar-Xspektroskopi 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).

Kamis, 17 Oktober 2013

E-Business

E-Business
Electronic business dapat didefinisikan sebagai aktivitas yang berkaitan secara langsung maupun tidak langsung dengan proses pertukaran barang dan/atau jasa dengan memanfaatkan internet sebagai medium komunikasi dan transaksi,dan salah satu aplikasi teknologi internet yang merambah dunia bisnis internal, melingkupi sistem, pendidikan pelanggan, pengembangan produk, dan pengembangan usaha. Secara luas sebagai proses bisnis yang bergantung pada sebuah sistem terotomasi. Pada masa sekarang, hal ini dilakukan sebagian besar melalui teknologi berbasis web memanfaatkan jasa internet. Terminologi ini pertama kali dikemukakan oleh Lou Gerstner, CEO dari IBM.
Marketspace adalah arena di internet, tempat bertemunya calon penjual dan calon pembeli secara bebas seperti layaknya di dunia nyata (marketplace). Mekanisme yang terjadi di marketspace pada hakekatnya merupakan adopsi dari konsep “pasar bebas” dan “pasar terbuka”, dalam arti kata siapa saja terbuka untuk masuk ke arena tersebut dan bebas melakukan berbagai inisiatif bisnis yang mengarah pada transaksi pertukaran barang atau jasa.
Seluruh perusahaan, tanpa perduli ukuran dan jenisnya, dapat menerapkan konsep e-Business, karena dalam proses penciptaan produk maupun jasanya, setiap perusahaan pasti membutuhkan sumber daya informasi.
7 strategi taktis untuk sukses dalam e-Business [1]
Fokus. Produk-produk yang dijual di internet harus menjadi bagian yang fokus dari masing-masing manajer produk.
Banner berupa teks, karena respons yang diperoleh dari banner berupa teks jauh lebih tinggi dari banner berupa gambar.
Ciptakan 2 level afiliasi. Memiliki distributor penjualan utama dan agen penjualan kedua yang membantu penjualan produk/bisnis.
Manfaatkan kekuatan e-mail. E-mail adalah aktivitas pertama yang paling banyak digunakan di Internet, maka pemasaran dapat dilakukan melalui e-mail atas dasar persetujuan.
Menulis artikel. Kebanyakan penjualan adalah hasil dari proses edukasi atau sosialisasi, sehingga produk dapat dipasarkan melalui tulisan-tulisan yang informatif.
Lakukan e-Marketing. Sediakan sebagian waktu untuk pemasaran secara online.
Komunikasi instan. Terus mengikuti perkembangan dari calon pembeli atau pelanggan tetap untuk menjaga kepercayaan dengan cara komunikasi langsung.


Senin, 14 Oktober 2013

E-commerce

E-commerce (Electronic Commerce) merupakan teknologi komeersial yang digunakan untuk menghubungkan konsumen dan produsen. dengan menggunakan E-commerce maka memudahkan komunikasi dan traksaksi yang dilakukan. 

Definisi E-Commerce menurut Laudon & Laudon (1998), E-Commerce adalah suatu proses membeli dan menjual produk-produk secara elektronik oleh konsumen dan dari perusahaan ke perusahaan dengan computer sebagai perantara transaksi bisnis.

E-Commerce atau yang biasa disebut juga dengan istilah Ecom atau Emmerce atau EC merupakan pertukaran bisnis yang rutin dengan menggunakan transmisi Electronic Data Interchange (EDI), email, electronic bulletin boards, mesin faksimili, dan Electronic Funds Transfer yang berkenaan dengan transaksi-transaksi belanja di Internet shopping,
Stock online dan surat 
obligasi, download dan penjualan software, dokumen, grafik, musik, dan lain-lainnya, serta transaksi Business to Business (B2B). (Wahana Komputer Semarang 2002).
Sedangkan definisi E-Commerce menurut David Baum (1999, pp. 36-34) yaitu: E-Commerce is a dynamic set of technologies, applications, and bussines process that link enterprises, consumers, and communities through electronics transactions and the electronic exchange of goods, services, and informations.
Diterjemahkan oleh Onno. W. Purbo: E-Commerce merupakan satu set dinamis teknologi, aplikasi, dan proses bisnis yang menghubungkan perusahaan, konsumen, dan komunitas tertentu melalui transaksi elektronik dan perdagangan barang, pelavanan, dan informasi yang dilakukan secara elektronik.

Definisi dari E-Commerce menurut Kalakota dan Whinston (1997) dapat ditinjau dalam 3 perspektif berikut:
1. Dari perspektif komunikasi, E-Commerce adalah pengiriman barang, layanan, informasi, atau pembayaran melalui jaringan komputer atau melalui peralatan elektronik lainnya.
2. Dari perspektif proses bisnis, E-Commerce adalah aplikasi dari teknologi yang
menuju otomatisasi dari transaksi bisnis dan aliran kerja.
3. Dari perspektif layanan, E-Commerce merupakan suatu alat yang memenuhi keinginan perusahaan, konsumen, dan manajemen untuk memangkas biaya layanan (service cost) ketika meningkatkan kualitas barang dan meningkatkan kecepatan layanan pengiriman.
4. Dari perspektif online, E-Commerce menyediakan kemampuan untuk membeli dan menjual barang ataupun informasi melalui internet dan sarana online lainnya.

Jenis-jenis E-Commerce
Kegiatan E-Commerce mencakup banyak hal, untuk membedakannya E-Commerce dibedakan menjadi 2 berdasarkan karakteristiknya:
1. Business to Business, karakteristiknya:
• Trading partners yang sudah saling mengetahui dan antara mereka sudah terjalin hubungan yang berlangsung cukup lama.
• Pertukaran data dilakukan secara berulang-ulang dan berkala dengan format data yang telah disepakati bersama.
• Salah satu pelaku tidak harus menunggu rekan mereka lainnya untuk mengirimkan data.
• Model yang umum digunakan adalah peer to peer, di mana processing intelligence dapat didistribusikan di kedua pelaku bisnis.

2. Business to Consumer, karakteristiknya:
• Terbuka untuk umum, di mana informasi disebarkan secra umum pula.
• Servis yang digunakan juga bersifat umum, sehingga dapat digunakan oleh orang banyak.
• Servis yang digunakan berdasarkan permintaan.
• Sering dilakukan sistim pendekatan client-server. (Onno W. Purbo & Aang Arif. W; Mengenal E-Commerce, hal 4-5)

Tujuan Menggunakan E-Commerce dalam Dunia Bisnis
Tujuan suatu perusahaan menggunakan sistim E-Commerce adalah dengan menggunakan E-Commerce maka perusahaan dapat lebih efisien dan efektif dalam meningkatkan keuntungannya.

Mantaat Menggunakan E-Commerce dalam Dunia Bisnis
Manfaat dalam menggunakan E-Commerce dalam suatu perusahaan sebagai sistem transaksi adalah:
a. Dapat meningkatkan market exposure (pangsa pasar).
Transaksi on-line yang membuat semua orang di seluruh dunia dapat memesan dan membeli produk yang dijual hanya dengan melalui media computer dan tidak terbatas jarak dan waktu.
b. Menurunkan biaya operasional (operating cost).
Transaksi E-Commerce adalah transaksi yang sebagian besar operasionalnya diprogram di dalam komputer sehingga biaya-biaya seperti showroom, beban gajiyang berlebihan, dan lain-lain tidak perlu terjadi
c. Melebarkan jangkauan (global reach).
Transaksi on-line yang dapat diakses oleh semua orang di dunia tidak terbatas tempat dan waktu karena semua orang dapat mengaksesnya hanya dengan menggunakan media perantara komputer.
d. Meningkatkan customer loyalty.
Ini disebabkan karena sistem transaksi E-Commerce menyediakan informasi secara lengkap dan informasi tersebut dapat diakses setiap waktu selain itu dalam hal pembelian juga dapat dilakukan setiap waktu bahkan konsumen dapat memilih sendiri produk yang dia inginkan.
e. Meningkatkan supply management.
Transaksi E-Commerce menyebabkan pengefisienan biaya operasional pada perusahaan terutama pada jumlah karyawan dan jumlah stok barang yang tersedia sehingga untuk lebih menyempurnakan pengefisienan biaya tersebut maka sistem supply management yang baik harus ditingkatkan.
f Memperpendek waktu produksi.
Pada suatu perusahaan yang terdiri dari berbagai divisi atau sebuah distributor di mana dalam pemesanan bahan baku atau produk yang akan dijual apabila kehabisan barang dapat memesannya setiap waktu karena on-line serta akan lebih cepat dan teratur karena semuanya secara langsung terprogram dalam komputer.
Pernyataan-pernyataan Onno W. Purbo di atas juga didukung oleh permyataan Laura Mannisto (International Telecommunication Union, Asia and the Future of the World Economic System, 18 March 1999, London), yaitu:
a. Ketersediaan informasi yang lebih banyak dan mudah diakses Ketersediaan informasi produksi dan harga dapat diakses oleh pembeli, penjual, produsen dan distributor.
b. Globalisasi Produksi, distribusi dan layanan konsumen : jarak dan waktu relatif lebih pendek, sehingga perusahaan dapat berhubungan dengan rekan bisnis di lain negara dan melayani konsumen lebih cepat. Produsen dapat memilih tempat untuk memproduksi dan melayani konsumen tidak tergantung dimana konsumen itu berada. Perusahaan yang berada di negara berpendapatan rendah dapat mengakses informasi dan membuat kontak bisnis tanpa harus mengeluarkan biaya tinggi.
c. Mengurangi biaya transaksi dengan adanya system order, pembayaran dan logistik secara online dan otomatis.

Ancaman Menggunakan E-Commerce (Threats)
Threats merupakan kemungkinan-kemungkinan munculnya kejadian yang dapat membahayakan asset-aset yang berharga.
Ada beberapa bentuk ancaman yang mungkin terjadi:
• System Penetration
Orang-orang yang tidak berhak melakukan akses ke system computer dapat dan diperbolehkan melakukan segala sesuatu sesuai dengan keinginannya.
• Authorization Violation
Pelanggaran atau penyalahgunaan wewenang legal yang dimiliki seseorang yang berhak mengakses sebuah sistim.
• Planting
Memasukan sesuatu ke dalam sebuah system yang dianggap legal tetapi belum tentu legal di masa yang akan datang.
• Communications Monitoring
Seseorang dapat mernantau semua infonnasi rahasia dengan melakukan monitoring komunikasi sederhana di sebuah tempat pada jaringan komunikasi.
• Communications Tampering
Segala hal yang membahayakan kerahasiaan informasi seseorang tanpa melakukan penetrasi, seperti mengubah infonnasi transaksi di tengah jalan atau membuat sistim server palsu yang dapat menipu banyak orang untuk memberikan infonnasi rahasia mereka secara sukarela.
• Denial of service
Menghalangi seseorang dalam mengakses informasi, sumber, dan fasilitas-fasilitas lainnya.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites