This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Minggu, 11 Juni 2017

DHCP Server Pada Debian 5 Menggunakan VirtualBox

DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti default gateway dan DNS server.

Langkah langkahnya :

  • Buka iso debian
  • Login dengan root
  • Ketikkan apt-get install dhcp3-server , lalu enter 
  • Jika terdapat tulisan failed setelah menekan enter (seperti gambar dibawah), itu biarkan saja. Karena kita akan memperbaikinya di langkah selanjutnya.
  • Ketikkan cd /etc/dhcp3/ , lalu tekan enter. 
  • Ketikkan nano dhcpd.conf , lalu tekan enter.
  • Cari tulisan A slightly different configuration for an internetnal subnet,(seperti gambar dibawah). 
  • Setting alamat IP address seperti contoh diatas.
    subnet = 192.168.1.0 (isikan dengan network)
    netmask = 255.255.255.0 (gunakan netmask yang sudah dibuat sebelumnya)
    range = 192.168.1.100 192.168.1.200 (ip untuk klien dimulai dari 100 s/d 200)
    option domain-name-servers = 192.168.1.5 (ip dns server sobat)
    option domain-name = www.jafits.com (isi dengan domain sobat)
    option router = 192.168.1.1 (gunakan gateway)
    option broadcast-address = 192.168.1.255
  • Jika sobat ada yang lupa, sobat bisa lihat network, netmask, dll di nano /etc/network/interfaces
  • Ketikkan /etc/init.d/dhcp3-server restart agar konfigurasi yang tadi sobat lakukan bisa digunakan
  • Buka Network Connections.
    Klik kanan pada Local Area connection, lalu klik properties.
  • Pada Local Area connection, pilih internet protocol (TCP/IP) lalu klik properties. 
  • Ubah Use the following IP address menjadi Obtain an IP Address automatically dan yang asalnya Use the following DNS Server address, ubah menjadi Obtain DNS Server automatically.
  • Untuk pengujiannya sobat buka cmd, lalu ketikkan ipconfig. 
  • Lalu lihat paling bawah pada Ethernet adapter Local Area Connection (seperti gambar di diatas). Jika Domain, IPv4, Subnet, dan Default Gateway sesuai dengan konfigurasi sebelumnya maka sobat berhasil.
  • Berikut hasil ping ke  ip address Server oleh PC Client 



Kamis, 01 Juni 2017

Parallel Computation

Definisi Parallel computation
Parallel computation adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun banyak prosesor di dalam sebuah CPU. Parallel computation sendiri berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjakan secara bersamaan maka akan makin cepat.


Komputasi paralel biasanya diperlukan pada saat terjadinya pengolahan data dalam jumlah besar ( di industri keuangan, bioinformatika, dll ) atau dalam memenuhi proses komputasi yang sangat banyak. Selanjutnya, komputasi paralel ini juga dapat ditemui dalam kasus kalkulasi numerik dalam penyelesaian persamaan matematis di bidang fisika ( fisika komputasi ), kimia ( kimia komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel. Konsep paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan satu ataupun banyak tugas dalam satu waktu. 

Pemrograman paralel
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah / operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).

Tujuan pemrograman paralel
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial).

Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.


Distributed Processing 
Pemrosesan terdistribusi merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat. Menurut Gustafson proses terdistribusi adalah sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan. Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat. Contoh dari proses terdistribusi adalah ketika terdapat macam masalah diberikan pada satu master, maka dengan menggunakan komputer paralel masalah terseut akan terpecah menjadi beberapa bagian secara terdistribusi.


Architectural Parallel Computer
Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 bagian, yaitu :


1. SISD  (Single Instruction, Single Data) 
Satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor.


2. SIMD (Single Instruction, Multiple Data) 
Menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).


3. MISD (Multiple Instruction, Single Data) 
Menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.

4. MIMD (Multiple Instruction, Multiple Data) 
Menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.


Pengantar Thread Programming
Sebuah thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program secara bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya.

Pengantar Massage Passing
Message Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOP (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses.

OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel  dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

MPI (Message Passing Interface)

MPI (Message Passing Interface) adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.

PVM (Parallel Virtual Machine)

PVM (Parallel Virtual Machine) adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.
Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesin virtual masing-masing komputer. Mesin virtual akan dibuat,  ketika User mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.

Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan slave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses dan Kode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4  semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.


Sumber : 




Rabu, 19 April 2017

Quantum Computation


1. Definisi Komputer Kuantum
Dalam bahasa Indonesia yaitu komputer kuantum, merupakan komputer yang memanfaatkan fenomena-fenomena dari mekanika quantum, seperti quantum superposition dan quantum entanglement, yang digunakan untuk pengoperasian data.

Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Komputer kuantum dapat jauh lebih cepat dari komputer konvensional pada banyak masalah, salah satunya yaitu masalah yang memiliki sifat berikut :
  • Satu-satunya cara adalah menebak dan mengecek jawabannya berkali-kali
  • Terdapat n jumlah jawaban yang mungkin
  • Setiap kemungkinan jawaban membutuhkan waktu yang sama untuk mengeceknya
  • Tidak ada petunjuk jawaban mana yang kemungkinan benarnya lebih besar: memberi jawaban dengan asal tidak berbeda dengan mengeceknya dengan urutan tertentu. 

2. Sejarah singkat
Ide mengenai komputer kuantum pertama kali muncul pada tahun 1970-an oleh para fisikawan dan ilmuwan komputer, seperti Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech). Di antara para ilmuwan tersebut, Feynmanlah yang pertama kali mengajukan model yang menunjukkan bahwa sebuah sistem kuantum dapat digunakan untuk melakukan komputasi. Lebih jauh, Feynman juga menunjukkan bagaimana sistem tersebut dapat menjadi simulator bagi fisika kuantum. Dengan kata lain, fisikawan dapat melakukan eksperimen fisika kuantum melalui komputer kuantum. Pada tahun 1985, Deutsch menyadari esensi dari komputasi oleh sebuah komputer kuantum dan menunjukkan bahwa semua proses fisika, secara prinsipil, dapat dimodelkan melalui komputer kuantum. Dengan demikian, komputer kuantum memiliki kemampuan yang melebihi komputer klasik. 
Setelah Deutsch mengeluarkan tulisannya mengenai komputer kuantum, para ilmuwan mulai melakukan riset di bidang ini. Mereka mulai mencari kemungkinan penggunaan dari sebuah komputer kuantum. Pada tahun 1995, Peter Shor merumuskan sebuah algoritma yang memungkinkan penggunaan komputer kuantum untuk memecahkan masalah faktorisasi dalam teori bilangan.Hingga saat ini, riset di bidang komputer kuantum terus dijalankan di seluruh dunia. Beberapa kendala terus dicari pernyelesaiannya. Berbagai metode dikembangkan untuk memungkinkan terwujudnya sebuah komputer yang memilki kemampuan yang luar biasa ini. Sejauh ini, sebuah komputer kuantum yang telah dibangun hanya dapat mencapai kemampuan untuk memfaktorkan dua digit bilangan. Komputer kuantum ini dibangun pada tahun 1998 di Los Alamos, Amerika Serikat, menggunakan NMR (Nuclear Magnetic Resonance).
Saat ini pihak google sudah melakukan percobaan dan pembuatan tentang computer kuantum ini. Google meneraplan Algoritma yang sama telah diterapkan pada produk lab Google yakni Google Image Swirl dimana secara cerdas komputer bisa menentukan dan mengelompokkan mana gambar mobil Jaguar dengan nama gambar binatang Jaguar. Atau misalnya mana kelompok gambar buah Apel dengan kelompok gambar komputer apple. Ini adalah salah satu contoh pengembangan computer kuantum yang dibuat google.

3. Entanglement
Quantum entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Entanglement juga merupakan esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik.

Quantum entanglement terjadi ketika partikel seperti foton, elektron, molekul besar seperti buckyballs, dan bahkan berlian kecil berinteraksi secara fisik dan kemudian terpisahkan; jenis interaksi adalah sedemikian rupa sehingga setiap anggota yang dihasilkan dari pasangan benar dijelaskan oleh kuantum mekanik deskripsi yang sama (keadaan yang sama), yang terbatas dalam hal faktor penting seperti posisi, momentum, perputaran, polarisasi.

4. Perbedaan Komputer Kuantum Dengan Komputer Klasik

Memori komputer klasik merupakan string dari 0s dan 1s, dan ia mampu melakukan perhitungan hanya pada sekumpulan bilangan secara simultan. Memori komputer kuantum merupakan sebuah keadaan kuantum yang merupakan superposisi dari bilangan-bilangan yang berbeda. Sebuah komputer kuantum dapat melakukan perhitungan klasik reversible secara bebas pada semua bilangan secara bersamaan. Pelaksanaan sebuah komputasi pada bilangan yang berbeda pada saat yang sama dan kemudian penginterferesian semua hasil untuk mendapatkan satu jawaban, menjadikan sebuah komputer kuantum jauh lebih kuat daripada komputer klasik (West, 2000).
Sepanjang sejarah komputasi, bit tetap merupakan unit komputasi dasar informasi. Mekanika kuantum memungkinkan pengkodean informasi dalam bit kuantum (qubit). Tidak seperti bit klasik, yang hanya bisa menyimpan nilai tunggal - baik 0 atau 1 - qubit dapat menyimpan baik 0 dan 1 pada saat yang sama. Selanjutnya, register kuantum 64 qubit dapat menyimpan nilai 264 sekaligus. Komputer Kuantum dapat melakukan perhitungan pada semua nilai-nilai ini pada saat yang sama. Namun, penggalian hasil dari perhitungan paralel masif telah terbukti sulit, membatasi jumlah aplikasi yang telah menunjukkan peningkatan kecepatan yang signifikan dibandingkan komputasi klasik. Paralelisme klasik juga dapat meningkatkan jumlah nilai yang ditangani secara bersamaan, tapi lama sebelum mencapai jumlah paralelisme yang dicapai oleh sebuah komputer kuantum, sebuah sistem klasik kehabisan ruang. Untuk sistem klasik, jumlah paralelisme meningkat dalam proporsi langsung dengan ukuran sistem.

5. Pengoperasian Data Qubit

Komputer kuantum memelihara urutan qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau, penting, setiap superposisi quantum ini, apalagi sepasang qubit dapat dalam superposisi kuantum dari 4 negara, dan tiga qubit dalam superposisi dari 8. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2 pada satu waktu). Komputer kuantum yang beroperasi dengan memanipulasi qubit dengan urutan tetap gerbang logika quantum. Urutan gerbang untuk diterapkan disebut algoritma quantum.

Sebuah contoh dari implementasi qubit untuk komputer kuantum bisa mulai dengan menggunakan partikel dengan dua putaran menyatakan: “down” dan “up”. Namun pada kenyataannya sistem yang memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu evolusi dan seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi berturut-turut eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah qubit. Hal ini benar karena setiap sistem tersebut dapat dipetakan ke yang efektif spin -1/2 sistem.

5. Algoritma pada Quantum Computing
Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

Algoritma Shor

Algoritma Shor merupakan sebuah algoritma kuantum yang efisien bisa menguraikan pada pengali jumlah besar. Algortima ini merupakan pusat pada sistem yang menggunakan teori bilangan untuk memperkirakan periodisitas dari urutan nomor. Ditemukan oleh Peter Shor. Algortima ini di perbaharui oleh Lov Grover dari Bell Labs pada tahun 1996, dengan algoritma yang sangat cepat dan terbukti menjadi yang tercepat mungkin untuk mencari melalui database tidak terstruktur.

Algoritma ini sangat efisien sehingga hanya membutuhkan rata-rata, sekitar akar N persegi  pencarian untuk menemukan hasil yang diinginkan, sebagai lawan pencarian dalam komputasi klasik, yang pada kebutuhan rata-rata N / 2 pencarian. N adalah jumlah total elemen.

Algoritma Shor didasarkan dari sebuah teori bilangan: fungsi F(a) = xamod n adalah feungsi periodik jika x adalah bilangan bulat yang relatif prima dengan n. Dalam Algoritma Shor, n akan menjadi bilangan bulat yang hendak difaktorkan. Pada masalah ini algoritma quantum shor memanfaatkan pararellisme quantum untuk melakukannya hanya dengan satu langkah. Karena F(A) adalah fungsi periodik, maka fungsi ini memiliki sebuah periode r. Diketahui x0mod n = 1, maka xr mod n =1, begitu juga x2r mod n dan seterusnya. 

Algoritma Grover

Algoritma Grover adalah sebuah algoritma kuantum untuk mencari database disortir dengan entri N di O ( N1 / 2 ) waktu dan menggunakan O ( log N ) ruang penyimpanan (lihat notasi O besar ) . Lov Grover dirumuskan itu pada tahun 1996 . Dalam model komputasi klasik , mencari database unsorted tidak dapat dilakukan dalam waktu kurang dari waktu linier (jadi hanya mencari melalui setiap item optimal ) .

Algoritma Grover menggambarkan bahwa dalam model kuantum pencarian dapat dilakukan lebih cepat dari ini ; sebenarnya waktu kompleksitas O ( N1 / 2 ) adalah asimtotik tercepat mungkin untuk mencari database unsorted dalam model kuantum linear . Ini menyediakan percepatan kuadrat , seperti algoritma kuantum lainnya , yang dapat memberikan percepatan eksponensial atas rekan-rekan mereka klasik . Namun, bahkan percepatan kuadrat cukup besar ketika N besar .

Seperti banyak algoritma kuantum , algoritma Grover adalah probabilistik dalam arti bahwa ia memberikan jawaban yang benar dengan probabilitas tinggi . Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. (Sebuah Contoh Bahasa dari algoritma kuantum deterministik adalah algoritma Deutsch - Jozsa , Yang Selalu menghasilkan jawaban Yang BENAR).

6. Implementasi Quantum Computing
Pada 19 Nov 2013 Lockheed Martin, NASA dan Google semua memiliki satu misi yang sama yaitu mereka semua membuat komputer kuantum sendiri. Komputer kuantum ini adalah superkonduktor chip yang dirancang oleh sistem D – gelombang dan yang dibuat di NASA Jet Propulsion Laboratories.
NASA dan Google berbagi sebuah komputer kuantum untuk digunakan di Quantum Artificial Intelligence Lab menggunakan 512 qubit D -Wave Two yang akan digunakan untuk penelitian pembelajaran mesin yang membantu dalam menggunakan jaringan syaraf tiruan untuk mencari set data astronomi planet ekstrasurya dan untuk meningkatkan efisiensi searchs internet dengan menggunakan AI metaheuristik di search engine heuristical. 
A.I. seperti metaheuristik dapat menyerupai masalah optimisasi global mirip dengan masalah klasik seperti pedagang keliling, koloni semut atau optimasi swarm, yang dapat menavigasi melalui database seperti labirin. Menggunakan partikel terjerat sebagai qubit, algoritma ini bisa dinavigasi jauh lebih cepat daripada komputer konvensional dan dengan lebih banyak variabel. 
Penggunaan metaheuristik canggih pada fungsi heuristical lebih rendah dapat melihat simulasi komputer yang dapat memilih sub rutinitas tertentu pada komputer sendiri untuk memecahkan masalah dengan cara yang benar-benar cerdas . Dengan cara ini mesin akan jauh lebih mudah beradaptasi terhadap perubahan data indrawi dan akan mampu berfungsi dengan jauh lebih otomatisasi daripada yang mungkin dengan komputer normal.
Selain itu, dimungkinkan untuk menggunakan metaheuristik untuk melakukan koreksi kesalahan pada perangkat lunak menggunakan jaringan syaraf tiruan dengan membandingkan pemecahan sebuah komputer kuantum dengan perangkat lunak program reguler dari komputer biasa masalah dioptimalkan. Karena komputer biasa tidak kuantum mekanik, mereka harus diprogram klasik. Namun, dengan menggunakan metaheuristik kuantum dimungkinkan untuk melakukan optimasi masalah menggunakan kecerdasan buatan pada sebuah komputer kuantum dan kemudian dibandingkan dengan arsitektur baris perintah dalam software konvensional pada komputer klasik , yang mungkin terlalu rumit untuk memodifikasi atau untuk memeriksa untuk kesalahan menggunakan perangkat lunak insinyur manusia.

Berikut merupakan vidio penjelasan tentang Quantum Computing :







Mobile Computing



Mobile Computing adalah teknologi yang memungkinkan transmisi data, suara dan video melalui komputer atau perangkat diaktifkan nirkabel lainnya tanpa harus terhubung ke link fisik tetap.

1. Definisi
adalah kemampuan teknologi untuk menghadapi perpindahan/pergerakan manusia dalam penggunaan komputer secara praktis. Dari pengertian ini kita dapat menyimpulkan bahwa Mobile Computing saat ini memang sangat dibutuhkan, mengingat kebutuhan penggunaan komputer saat ini pun sangat tinggi, sehingga penggunaan Mobile Computing dapat memudahkan para pemakai komputer dalam melakukan segala aktifitasnya dengan menggunakan komputer.

2. Sejarah & Perkembangan
Perkembangan mobile computer hingga kini sangatlah luar biasa. Hal ini tidak lepas dari perkembangan-perkembangan mobile computer dari waktu ke waktu. Berikut dibahas sedikit mengenai sejarah perkembangan mobile computer, yakni :

·  Dynabook (1968)
Alan kay mengembangkan sebuah komputer portabel yang nantinya menawarkan sebuah media elektronik yang modern yang diperuntukan untuk anak anak. Graphical control interface dengan icon pada Komputer ini merupakan cikal bakal dari system operasi yang ada saat ini.

· Gir Compass 1100(1982)
Teknologi ini di rancang dan di kembangkan oleh gird sangat terdepan . cover nya dapat dilipat dan teringrasi sebauh flatscreen serta casing dari magnesium yang ultralight. Namun ini di teruskan dan dikembangkan oleh bil moggridge ini terlalu mahal dengan harga mencapai dengan US$ 10.000. hanya kalangan militer AS dan NASA saja yang dapat membelinya.

· Oseborne 1 (1981)
IBM 1311 diperkenalkan pada tanggal 11 oktober 1962 hardisk ini bisa menyipan sampai dengan 2 juta karakter pada diskpack yang dapat di ganti (1316). Ketebalan hardisk ini mencapai 4 inci dan berat 4,5 kg dan memiliki 6 disk yang berukuran 6 disk yang berukuran 14 inci dan permukaan yang dapat ditulis.

· Compaq Portable (1983)
Laptop pertama yang kompetibel dengan IBM ditawarkan oleh Compaq. Berat dan tanpa batrai lantaran masih menggunakan system operasi MS DOS laptop ini tidak popular.

· Gavilan SC (1984)
Touchpad pertama ini ditawarkan oleh laptop Gavilan dan berada di atas keyboard. Model komputer ini sudah dilipat dan menyediakan laya LCD serta processor intel 80168 yang kompetibel dengan harga MS DOS.

· Bondwell 2 (1985)
Walaupun era CP /M yang sudah lewat tetapi kehadiran ini tetap sukses dengan RAM sebesar 64 Kb floppy drive 3.5 inci dan layer LCD laptop ini menjadi jawara di eranya.

· COMPAQ SLT 286 (1988)
Laptop pertama yan sudah dilengkapi dengan batrai hardisk dan LCD. Layarnya menawarkan resolusi VGA penuh.notebook ini ditujukan untuk kalangan bisnis. Tidak heran harganya mencapai harga mobil pada saat itu.

· Sharp Multicolor 386 PC 8041(1990)
Dengan spec :
-Prosesor : Intel 80386
-Frekuensi clock 20 mhz
-Ram 2MB
-Harddrive 40 mb
-Harga US$23.00

· USB interface (1997)
Setelah penganalan port interface USB hamper semua perangkat terhubung dengan notebook computer portable mendadak menjadi universal.

· WLAN untuk semua (1999)
Berkat penggunaan WLAN notebook kini tidak lagi statis hotspot menghubungkan perangkat ini ke internet dan jaringan kantor serta dapat diakses dimana saja.


3. Jenis Mobile Computing
  • Laptop merupakan komputer portabel, kecil dan dapat dibawa kemana saja dengan sangat mudah yang terintegrasi pada sebuah casing. Berat laptop berkisar dari 1 sampai 6 kilogram tergantung ukurannya, bahan dan spesifikasi. Sumber listrik berasal dari baterai atau A/C adaptor yang dapat digunakan untuk mengisi ulang baterai dan untuk menyalakan laptop itu sendiri. Laptop kegunaannya sama dengan Komputer desktop, yang membedakannya hanya ukuran sehingga memudahkan pemakai untuk membawanya kemana-mana.
  • Wearable Computer atau komputer yang dipakaikan di tubuh manusia. Contohnya adalah Computer Gletser Ridgeline W200. W200 ini terbuat dari paduan magnesium bertulang yang memaksimalkan kekuatan dan meminimalkan berat keseluruhan. Pada hanya 10,2 ons dan dibentuk pada kontur lengan, W200 yang mengkombinasikan fitur yang sama dari sebuah komputer standar dengan sebuah perangkat yang memberikan kenyamanan dan ergonomis pergelangan tangan instrumen aus. W200 ini memiliki sebuah 3.5 “layar warna dengan layar sentuh, keyboard backlit dan baterai hot swappable. Fungsi nirkabel dari W200 memastikan konektivitas berkelanjutan terlepas dari lokasi pengguna dengan plug and play Wi-Fi, Bluetooth dan modul GPS. Menggunakan CE Windows atau sistem operasi Linux, unit cepat dapat dikonfigurasi untuk mengakses sistem host remote melalui kabel terintegrasi atau antarmuka nirkabel. Operasi bebas dari tangan-W200 yang mengatasi keterbatasan fisik yang terkait dengan komputer genggam normal. Hal ini memungkinkan pengguna kebebasan penuh untuk melanjutkan kegiatan sehari-hari dengan menggunakan kedua tangan sedangkan komputer memiliki akses penuh pada setiap saat. Selain kompas elektronik, sistem juga mengintegrasikan fitur terbaru dan paling inovatif, seperti tilt dan perhitungan diam, yang memungkinkan penghematan baterai kritis ketika unit tidak digunakan. Kegunaan tangan-bebas dari W200 membuatnya kepentingan khusus untuk Layanan Darurat, Keamanan, Pertahanan, Gudang, Lapangan Logistik dan setiap wilayah di mana akses ke sejumlah besar informasi yang diperlukan. W200 punggung bukit itu bergabung baris gletser saat komputer kasar dikembangkan untuk pengumpulan data.
  • PDA(Personal Digital Assistants) adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana.  Menurut sepengetahuan saya PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat menggunakan buku alamat dan menyimpan alamat, membaca buku-e, menggunakan GPS dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih dapat digunakan sebagai telepon genggam, akses internet, intranet, atau extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang paling utama adalah fasilitas layar sentuh
  • SmartPhone adalah ponsel yang menawarkan kemampuan canggih, boleh dikata kemampuannya menyerupai kemampuan PC (komputer). Umumnya suatu ponsel dikatakan sebagai smartphone bila dapat berjalan pada software operating system yang lengkap dan memiliki interface dan platform standar bagi pengembang aplikasi. Sementara itu ada yang mengatakan smartphone adalah ponsel sederhana dengan fitur canggih seperti kemampuan mengirim dan menerima email, menjelajah internet dan membaca e-book, built in full keyboard atau external USB keyboard, atau memiliki konektor VGA. Dengan kata lain, smartphone adalah miniatur komputer dengan kemampuan ponsel .
4. Tool untuk Mobile Computing
  • GPS (Global Positioning System)
  • Wireless (Acess)
  • GIS (Location)
Hardware & Software
Dengan dukungan Mobile Computing, seseorang dimanapun berada, tetap dapat bekerja dan melakukan aktifitas business dengan konsep Mobile Computing
  • Mobile/Migrasi
  • Security
  • Authentication
  • Privacy
Hardware Computing :
  • Laptop (Computing Unit)
  • LCD (Display Unit)
  • Wireless (Comunication Unit)
Sofware Computing :
  • Operating System
  • GUI
  • Application, Cell phone application, Calendar dll
  • Java ME, Popular untuk game
  • Mobile Operation System
Mobile Operation System :
  • Java Mobile
  • Symbian for Nokia
  • Android berbasis Linux
  • I phone mac OSX
  • Palm OS (PDA)
  • Blackberry System
  • Dll
5. Kelebihan & kekurangan

Kelebihan Mobile Computing
  • Lokasi Fleksibilitas Hal ini memungkinkan pengguna untuk bekerja dari mana saja selama ada koneksi didirikan. Seorang pengguna dapat bekerja tanpa di posisi tetap. mobilitas mereka memastikan bahwa mereka mampu melaksanakan berbagai tugas pada waktu yang sama dan melakukan pekerjaan lain mereka.
  • Menghemat Waktu Waktu dikonsumsi atau terbuang saat bepergian dari lokasi yang berbeda atau ke kantor dan kembali, telah memangkas. Satu sekarang dapat mengakses semua dokumen penting dan file melalui saluran aman atau portal dan bekerja seolah-olah mereka berada di komputer mereka. Ini telah meningkatkan telecommuting di banyak perusahaan. Hal ini juga mengurangi biaya yang dikeluarkan tidak perlu.
  • Peningkatan Produktivitas Pengguna dapat bekerja secara efisien dan efektif dari mana lokasi mereka menemukan nyaman. Hal ini pada gilirannya meningkatkan tingkat produktivitas mereka.
  • Kemudahan Penelitian Penelitian telah dibuat lebih mudah, karena pengguna sebelumnya diminta untuk pergi ke lapangan dan mencari fakta dan memberi makan mereka kembali ke dalam sistem. Hal ini juga membuat lebih mudah bagi petugas lapangan dan peneliti untuk mengumpulkan dan memberi makan data dari mana pun mereka berada tanpa membuat perjalanan yang tidak perlu ke dan dari kantor ke lapangan.
  • Hiburan Video dan audio rekaman sekarang dapat dialirkan on-the-go menggunakan komputasi mobile. Sangat mudah untuk mengakses berbagai film, materi pendidikan dan informatif. Dengan perbaikan dan ketersediaan koneksi data kecepatan tinggi dengan biaya yang cukup, seseorang mampu untuk mendapatkan semua hiburan yang mereka inginkan karena mereka browsing internet untuk data stream. Salah satunya adalah dapat menonton berita, film, dan dokumenter antara penawaran hiburan lainnya melalui internet. Ini tidak mungkin dilakukan sebelumnya komputasi mobile sadar dunia komputasi.
  • Memperlancar Proses Bisnis Proses bisnis sekarang mudah tersedia melalui koneksi aman. Melihat ke masalah keamanan, langkah-langkah yang memadai telah dimasukkan ke dalam tempat untuk memastikan otentikasi dan otorisasi pengguna mengakses layanan.Beberapa fungsi bisnis dapat dijalankan melalui link aman dan berbagi informasi antara mitra bisnis juga dapat terjadi.
    Pertemuan, seminar dan jasa informatif lainnya dapat dilakukan dengan menggunakan video dan voice conferencing. waktu perjalanan dan pengeluaran juga jauh berkurang.

Kekurangan Mobile Computing

  • Kurangnya Bandwith Akses internet pada peralatan ini umumnya lebih lambat dibandingkan dengan koneksi kabel, dengan menggunakan teknologi seperti GPRS, EDGE dan jaringan 3G/HSDPA yang baru-baru ini  keluar. LAN nirkabel berkecepatan tinggi tidak mahal, tetapi memiliki rentang yang sangat terbatas.
  • Konsumsi Tenaga Ketika sebuah stopcontact listrik atau generator portabel tidak tersedia, komputer mobile  harus bergantung sepenuhnya pada daya baterai. Ini berarti konsumsi baterai memerlukan tenaga ekstra.
  • Gangguan Transmisi Banyak faktor yang bisa menyebabkan gangguan sinyal pada mobile computing seperti cuaca, medan dan jarak alat mobile computing dengan titik pemancar sinyal terdekat. Selain itu penerimaan sinyal di dalam terowongan, di beberapa gedung dan daerah pedesaan seringkali buruk.

  • Antarmuka Pengguna Dengan Alat Layar dan keyboard yang cenderung kecil terkadang membuat peralatan tersebut sulit untuk digunakan. Metode input alternatif seperti input suara atau pengenalan tulisan tangan membutuhkan pelatihan untuk menggunakannya.

Sumber:

Minggu, 26 Maret 2017

Pemrograman Jaringan: 5. Membangun Aplikasi Client-Server TCP Sederhana

SimpleServer.java 
Pada listing program diatas merupakan program client server. Program yang diatas merupakan program server yang digunakan untuk melayani yang diminta oleh client. Saat program dijalankan dan berhasil maka akan tampil “Aplikasi Server Hidup” Server pertama dengan mengimport java. io merupakan singkatan dari Input Output. Input melibatkan masukan data dari peralatan input, sedangkan output akan menampilkan data kepada pengguna dan program mengimport java. net paket ini berisi kelas yang memperbolehkan program untuk berkomunikasi melalui jaringan pada sisi server.
SimpleClient.java 
Pada listing program diatas merupakan program client untuk mengirim pesan atau meminta data ke server. Program akan meminta masukan kunci dan kunci disini telah di deklarasikan dengan kata “salam” maka ketika mengetikan kata salam maka client akan mendapatkan data dari server yaitu salam. Namun jika mengetikan kata yang lain selain salam maka client akan mendapatkan data dari server yaitu “maaf, saya tidak mengerti.”


Output

Sumber :

Pemrograman Jaringan: 4. NsLookup.java

Penjelasan

Nslookup pada java Program ini memiliki kode program dengan perintah yang berlawanan dengan program ketiga. Jika pada program yang lalu menggunakan IP Address untuk mendapatkan nama dari personal computer, maka untuk program keempat ini menggunakan nama dari personal computer untuk mendapatkan IP Address.

Program di atas adalah NsLookup.java untuk mengetahui IP Address dengan cara menginput nama host pada saat menjalankan program.

Pada saat user menginput nama host, maka program akan langsung menampilkan IP Address yang dimaksud dengan method getAddress(). Namun apabila host salah atau tidak ada, maka akan mencetak "Unknown Host".

Output


Sumber:
http://achsan.staff.gunadarma.ac.id/Downloads/files/42647/Nslookup.txt

Pemrograman Jaringan: 3. IPtoName.java

Penjelasan

Pada program di atas akan menampilkan nama komputer dari suatu IP Address yang dimasukkan. IP Address yang dimasukkan akan di cek dengan method getHostName() lalu program akan mencetak nama host dari pemilik IP Address tersebut.
Apabila IP Address yang dimasukkan salah atau tidak tersedia, maka komputer akan mencetak "invalid IP - malformed IP".

import java.net.*; berfungsi untuk mengimport library yang berisi class yang mengizinkan program connect dengan jaringan.
public class getName adalah untuk membuat class bernama getName
public static void main(String args[]) throws Exception untuk mendeklarasikan method dan melemparkan exception ke method tersebut agar didefinisikan.
InetAddress host = null; untuk membentuk variable host yang awalnya bernilai null (kosong).
InetAddress.getLocalHost(); memanggil fungsi untuk menyimpan hostname dan local address.
System.out.println(“Nama komputer Anda: ” +  host.getHostName()); berfungsi untuk mencetak hostname yang sudah diambil dengan fungsi host.getHostName.

Output


Sumber:
http://achsan.staff.gunadarma.ac.id/Downloads/files/42646/IPtoName.txt