Tes

Tes

Jumat, 11 Mei 2018

PEMBAHASAN MATERI PEMROGRAMAN JARINGAN

LATIHAN GET IP

  • Listing Program
  • Logika Program
Bagian awal adalah mengimport fungsi yang terdapat pada bagian library java.net, lalu menamai class dengan nama getIP dan lalu mendeklarasikan variable hostnya yang selanjutnya akan memberikan nilai kepada variable host dengan fungsi getLocalHost() dan nanti akan menghasilkan ip host dari komputer yang digunakan untuk program ini.
Untuk mendapatkan ip dari host yang sudah tersedia, bisa dipanggil dengan getAddress yang berfungsi menghasilkan alamat ip berdasar nama host dan alamat ip akan disimpan dalam byte array ip. Agar dapat memunculkan alamat ip dengan benar maka perlu loop. Setiap looping akan mencetak 1 element dari variable ip berdasarkan indeks yang diberikan sekaligus menjadi value.
  • Output Program


LATIHAN GET NAME
  • Listing Program
  • Logika Program
Selanjutnya adalah untuk mendapatkan nama host dari program, awal adalah mengimport fungsi pada bagian libraray java.net, lalu mendeklarasikan variabel host dengan InetAddress yang akan memberikan nilai kepada variable host dengan fungsi getLocalHost() dan nanti akan menghasilkan ip host dari komputer yang digunakan untuk program ini. Lalu mencetak “ Nama komputer anda : “ dan hasil dari pemanggilan fungsi getHostName().
  • Output Program

LATIHAN IP TO NAME
  • Listing Program
  • Logika Program
Selanjutnya adalah untuk mengambil nama host berdasarkan dapat ip yang diberikan sebagai argumen pada program. Awal program akan melakukan pengecekan apabila program tidak menerima apapun, maka akan mencetak “ Pemakaian: java IPtoName ” dan program akan berhenti. apabila kondisi tidak terpenuhi maka program akan mendeklaraskan variabel host yang bertipe String dan memberikan valuenya yakni argumen pertama yang diterima program, dan juga program akan mendeklarasikann variabel address, dimana variabel address akan digunakan untuk memperoleh nama host. 
Selanjutnya program akan mencoba untuk mengambil data ip dari String host yang hasilnya akan disimpan dalam variabel address, apabila value dari String host tidak memberikan hasil bagi variabel address, maka program akan mencetak “invalid IP – malformed IP” dan kemudian program akan berhenti. Apabila variabel address berhasil menerima hasi dari pemanggilan fungsi getByName(), maka program akan mencetak nama host berdasarkan ip yang tersimpan dalam variabel address.
  • Output Program

LATIHAN NSLOOKUP
  • Listing Program
  • Logika Program
Selanjutnya adalah program mengambil data ip berdasarkan nama host yang diberikan sebagai argumen pada program. Awal program akan melakukan pengecekan apabila program tidak menerima apapun, maka akan mencetak “ Pemakaian: java IPtoName ” dan program akan berhenti. apabila kondisi tidak terpenuhi maka program akan mendeklaraskan variabel host yang bertipe String dan memberikan valuenya yakni argumen pertama yang diterima program, dan juga program akan mendeklarasikann variabel address, dimana variabel address akan digunakan untuk memperoleh nama host. 
Selanjutnya program akan mencoba untuk mengambil data ip dari String host yang hasilnya akan disimpan dalam variabel address, apabila value dari String host tidak memberikan hasil bagi variabel address, maka program akan mencetak “Unknown Host” dan kemudian program akan berhenti. Agar dapat memunculkan alamat ip dengan benar maka perlu loop. Setiap looping akan mencetak 1 element dari variable ip berdasarkan indeks yang diberikan sekaligus menjadi value.

  • Output Program

MEMBANGUN APLIKASI CLIENT-SERVER TCP SEDERHANA
  • Listing Program
Server
Client
  • Logika Program
Server
Selanjutnya membuat program client-server yang bisa mengirim pesan. Awal program akan mengimport seluruh fungsi yang terdapata dalam librari java.net dan java.io, kemudian program akan mendeklarasikan variabel TESTPORT yang bertipe data integer sebagai alamat port yang akan digunakan program, dan juga program akan mendeklarasikan variabel checkServer, line, is, os, dan cliensocket.
Selanjutnya program akan menguji port yang diberikan dengan menginisialisasi objek ServerSocket dengan argumen TESTPORT kemudian program akan mencetak “Aplikasi Server hidup …”, apabila terjadi kesalahan maka akan dilakukan eksepsi IOException, kemudian program akan mencoba menerima data yang dikirimkan dari client dengan menggunakan fungsi accept(). lalu program akan menciptakan inputan dan aliran output untuk client berdasarkan value yang diperoleh dari client.
Selanjutnya program akan mengecek isi dari inputan yang diberikan oleh client, apabila data tersebut berisikan “salam” maka program akan mengirimkan output “salam juga” kepada client, slain dari itu program akan mengirimkan “Maaf, saya tidak mengerti”.

Client
Awal program akan mengimport seluruh fungsi yang terdapata dalam librari java.net dan java.io, kemudian program akan mendeklarasikan variabel TESTPORT yang bertipe data integer sebagai alamat port yang akan digunakan program, dan juga program akan mendeklarasikan variabel cl, stdin, is, os, userInput, dan output. selanjutnya program akan mengecek apakah ip yang diberikan sebagai argumen merupakan host yang sedang menjalankan program server. kemudian program akan meminta user untuk memberikan inputan sebagai data yang akan dikirimkan ke server, setelah data dikirimkan program client akan langsung menerima hasil yang dikirimkan oleh server.
  • Output Program
Client
Server










Sabtu, 14 April 2018

Review Paper "Kajian Tentang Komputer Kuantum Sebagai Pengganti Komputer Konvensional Di Masa Depan"

Judul Kajian “Kajian Tentang Komputer Kuantum Sebagai Pengganti Komputer Konvensional Di Masa Depan”
Nama Peneliti : Herlambang Saputra

Saya akan mereview paper dari sebuah kajian dengan Tema “Kajian Tentang Komputer Kuantum Sebagai Pengganti Komputer Konvensional Di Masa Depan” untuk menunjang salah tugas mata kuliah Pengantar Komputasi Modern (Softskill) semester 8 ATA 2017/2018, Jurusan Teknik Informatika, Universitas Gunadarma.
  • Tahun Penelitian
2009
  • Tujuan Penelitian
Mengkaji sejauh mana teori-teori yang berkembang tentang komputer kuantum yang berkembang akhir-akhir ini.
  • Metode Penilitian
Metode yang kaji adalah Konvensional, Qubit, Gate pada computer kuantum.
  • Hasil penelitian
    Pada memory komputer digital menggunakan sistem binary atau sistem angka basis 2 (0 dan 1) yang dikenal sebagai BIT (singkatan dari Binary digIT). Konversi dari angka decimal yang biasa kita gunakan (angka berbasis 10 yang memiliki nilai 0 sampai 9) adalah sebagai berikut:
0 = 0         5 = 101              10 = 1010
1 = 1         6 = 110              11 = 1011
2 = 10       7 = 111              12 = 1100
3 = 11       8 = 1000            13 = 1101
4 = 100     9 = 1001

Untuk menghitung angka apa yang dilambangkan oleh 101001 caranya sebagai berikut :
(1 x 32) + (0 x 16) + (1 x 8) + (0 x 4) + (0 x 2) + (1 x 1) = 32 + 0 + 8 + 0 + 0 +1 = 41.
Contoh perhitungan penjumlahan matematika menggunakan sistem binary :

10         1010
23 +     10111 +
33       100001

Sistem inilah yang selama ini kita gunakan saat kita mengolah informasi menggunakan komputer digital atau komputer konvensional yang ada saat ini.

    Komputer Kuantum memanfaatkan fenomena yaitu keadaan superposisi. Ketika Atom memiliki konfigurasi spin, atom dapat keatas maupun kebawah. Komunikasi menggunakan komputer kuantum bisa mencapai kecepatan yang begitu luar biasa karena informasi dari satu tempat ke tempat lain dapat ditransfer secara instant. Begitu cepatnya sehingga terlihat seakan-akan mengalahkan kecepatan cahaya.
    Qubit pada system quantum yang ditulis Boolean dengan angka 0 dan 1 dengan tipikal system mikroskopik.
    Gate logika kuantum merupakan alat yang melakukan operasi gabungan yang benar pada qubit yang terpilih dan pada waktu yang juga tepat. Jaringan kuantum adalah sebuah alat yang terdiri dari gate logika kuantum yang langkah komputasionalnya disingkronisasikan dengan waktu. Output dari sejumlah gate dihubungkan oleh sejumlah kabel mengarah ke input lainnya. Ukuran jaringan adalah jumlah gate didalamnya.
  • Kesimpulan
    Berdasarkan uraian diatas dapat disimpulkan bahwa system pada komputer konvensional (komputer digital) sangat berbeda. Untuk komputer konvensional menggunakan bit 0 dan 1. Untuk computer kuantum menggunakan qubit 0 , 1 dan superposisi 0 dan 1.
      Kecepatan komputer quantum lebih cepat dari pada komputer konvensional (komputer digital) karena melakukan proses secara simultan tidak secara linear seperti computer konvensional.
       Saat ini perkembangan teknologi sudah menghasilkan komputer kuantum sampai 7 qubit, tetapi menurut penelitian dan analisa yang ada, dalam beberapa tahun mendatang teknologi komputer kuantum bisa mencapai 100 qubit. Kita bisa membayangkan betapa cepatnya komputer masa depan nanti. Semua perhitungan yang biasanya butuh waktu berbulan-bulan, bertahun-tahun, bahkan berabad-abad pada akhirnya bisa dilaksanakan hanya dalam hitungan menit.


Sumber :


Jumat, 16 Maret 2018

PENGANTAR QUANTUM COMPUTATION

PENDAHULUAN

Quantum Computation sendiri adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum, yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat.
Ada juga Quantum Computer. Lalu apa bedanya dengan Quantum Computer?
Quantum Computer adalah alat untuk perhitungan yang menggunakan sebuah fenomena mekanika kuantum, seperti superposisi dan keterkaitan, untuk melakukan operasi pada data. Cara kerja quantum computer sendiri berbeda dengann komputer biasanya. Dalam komputasi klasik, jumlah data dihitung dengan bit dalam komputer kuantum hal ini dilakukan dengan qubit (quantum bit) yang berarti jika di komputer biasa hanya mengenal 0 atau 1, dengan qubit sebuah komputer quantum dapat mengenal keduanya secara bersamaan dan itu membuat kerja dari komputer quantum itu lebih cepat dari pada komputer biasa.
Quantum Computer dapat jauh lebih cepat dari komputer konvensional pada banyak masalah, salah satunya yaitu masalah yang memiliki sifat berikut: 
  1. Satu-satunya cara adalah menebak dan mengecek jawabannya berkali-kali 
  2. Terdapat n jumlah jawaban yang mungkin 
  3. Setiap kemungkinan jawaban membutuhkan waktu yang sama untuk mengeceknya
  4. Tidak ada petunjuk jawaban mana yang kemungkinan benarnya lebih besar: memberi jawaban dengan asal tidak berbeda dengan mengeceknya dengan urutan tertentu. 

Contoh dari masalah itu misalnya password cracker yang mencoba menebak password dari file terenkripsi (dengan asumsi passwordnya memiliki panjang maksimal). Untuk masalah seperti di atas, waktu yang dibutuhkan oleh komputer quantum untuk menyelesaikannya proporsional dengan akar dari n. Hal ini dapat membuat waktu yang dibutuhkan dari tahunan menjadi hitungan menit.

ENTANGLEMENT

Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Contoh dari quantum entanglement: kaitan antara penentuan jam sholat dan quantum entanglement. Mohon maaf bagi yang beragama lain saya hanya bermaksud memberi contoh saja. Mengapa jam sholat dibuat seragam? Karena dengan demikian secara massal banyak manusia di beberapa wilayah secara serentak masuk ke zona entanglement bersamaan.
Pengertian Lain
Quantum entanglement adalah bagian dari fenomena quantum mechanical yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan dengan objek lainnya walaupun objek tersebut berdiri sendiri dan terpisah dengan objek lainnya. Quantum entanglement merupakan salah satu konsep yang membuat Einstein mengkritisi teori Quantum mechanical. Einstein menunjukkan kelemahan teori Quantum Mechanical yang menggunakan entanglement merupakan sesuatu yang “spooky action at a distance” karena Einstein tidak mempercayai bahwa Quantum particles dapat mempengaruhi partikel lainnya melebihi kecepatan cahaya. Namun, beberapa tahun kemudian, ilmuwan John Bell membuktikan bahwa “spooky action at a distance” dapat dibuktikan bahwa entanglement dapat terjadi pada partikel-partikel yang sangat kecil.
Penggunaan quantum entanglement saat ini diimplementasikan dalam berbagai bidang salah satunya adalah pengiriman pesan-pesan rahasia yang sulit untuk di-enkripsi dan pembuatan komputer yang mempunyai performa yang sangat cepat.

PENGOPERASIAN DATA QUBIT

Proses komputasi dilakukan pada partikel ukuran nano yang memiliki sifat mekanika quantum, maka satuan unit informasi pada Komputer Quantum disebut quantum bit, atau qubit. Berbeda dengan bit biasa, nilai sebuah qubit bisa 0, 1, atau superposisi dari keduanya. State dimana qubit diukur adalah sebagai vektor atau bilangan kompleks. Sesuai tradisi dengan quantum states lain, digunakan notasi bra-ket untuk merepresentasikannya.
Pure qubit state adalah superposisi liner dari kedua state tersebut. Lebih jelasnya, sebuah pure qubit state dapat direpresentasikan oleh kombinasi linear dari state|0> dan state |1> : Dengan α dan β adalah amplitudo probabilitas yan dapat berupa angka kompleks. State space dari sebuah qubit secara geometri dapat direpresentasikan Bloch sphere
Bloch sphere adalah ruang 2 dimensi yang merupakan geometri untuk permukaan bola. Dibandingkan bit konvensional yang hanya dapat beradai di salah satu kutub, Qubit dapat berada dimana saja dalam permukaan bola. Untuk penerapan fisiknya, semua sistem 2 level, selama ukurannya cukup kecil untuk hukum mekanika quantum berlaku. Berbagai jenis implementasi fisik telah dikemukakan, contohnya antara lain: polarisasi cahaya, spin elektron, muatan listrik, dll.
Superposisi quantum adalah inti perbedaan antara qubit dengan bit biasa. Dalam keadaan superposisi, sebuah qubit akan bernilai |0> dan |1> pada saat bersamaan. Menurut interpretasi Copenhagen, bila dilakukan pengukuran terhadap qubit, maka hanya akan muncul satu state saja. State lainnya “kolaps” dalam arti hancur dan tidak mungkin diambil kembali.

Pemanfaatan sifat superposisi qubit ini adalah Paralellisme Quantum. Paralelisme Quantum muncul dari kemampuan quantum register untuk menyimpan superposisi dari base state. Maka setiap operasi pada register berjalan pada semua kemungkinan dari superposisi secara simultan. Karena jumlah state yang mungkin adalah 2n, dengn n adalah jumlah qubit pada quantum register, kita dapat melakukan pada komputer quantum satu kali operasi yang membutuh kan waktu eksponensial pada komputer konvensional. Kelemahan dari metode ini adalah, semakin besar base state yang bersuperposisi, semakin kecil kemungkinan hasil pengukuran dari nilai hasil pengukuran tersebut benar. Kelemahan ini membuat pararellisme quantum tidak berguna bila operasi dilakukan pada nilai yang spesifik. Namun kelemahan ini tidak begitu berpengaruh pada fungsi yang memperhitungkan nilai dari semua input, bukan hanya satu. Sebagaimana ditunjukkan pada Algoritma Shor.

QUANTUM GATES

Gate sendiri dalam bahasa Indonesia adalah Gerbang.jadi Quantum Gates adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum gates mempercepat banyaknya perhitungan bit pada waktu bersamaan.
Gerbang kuantum biasanya direpresentasikan sebagai matriks. Sebuah gerbang yang bekerja pada k qubit diwakili oleh 2 x 2 k k matriks kesatuan. Jumlah qubit dalam input dan output dari gerbang harus sama. Tindakan dari gerbang kuantum ditemukan dengan mengalikan matriks mewakili gerbang dengan vektor yang mewakili keadaan kuantum. Tidak seperti banyak gerbang logika klasik, gerbang logika kuantum yang reversibel (model komputasi dimana proses komputasi sampai batas tertentu adalah reversibel, yaitu waktu-dibalik).
Pada saat ini, model sirkuit komputer adalah abstraksi paling berguna dari proses komputasi dan secara luas digunakan dalam industri komputer desain dan konstruksi hardware komputasi praktis. Dalam model sirkuit, ilmuwan komputer menganggap perhitungan apapun setara dengan aksi dari sirkuit yang dibangun dari beberapa jenis gerbang logika Boolean bekerja pada beberapa biner (yaitu, bit string) masukan. Setiap gerbang logika mengubah bit masukan ke dalam satu atau lebih bit keluaran dalam beberapa mode deterministik menurut definisi dari gerbang. dengan menyusun gerbang dalam grafik sedemikian rupa sehingga output dari gerbang awal akan menjadi input gerbang kemudian, ilmuwan komputer dapat membuktikan bahwa setiap perhitungan layak dapat dilakukan. Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan yang besar dalam jumlah ancillae yang digunakan.
–  Pertama mensimulasikan gerbang di babak pertama tingkat.
–  Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
–  Bersihkan bit ancillae.
–  Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
–  Setelah menghitung output, membersihkan bit ancillae.
–  Bersihkan hasil tingkat d / 2.
Sekarang kita telah melihat gerbang reversibel ireversibel klasik dan klasik, memiliki konteks yang lebih baik untuk menghargai fungsi dari gerbang kuantum. Sama seperti setiap perhitungan klasik dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada bit klasik pada satu waktu, sehingga juga bisa setiap kuantum perhitungan dapat dipecah menjadi urutan gerbang logika kuantum yang bekerja pada hanya beberapa qubit pada suatu waktu. Perbedaan utama adalah bahwa gerbang logika klasik memanipulasi nilai bit klasik, 0 atau 1, gerbang kuantum dapat sewenang-wenang memanipulasi nilai kuantum multi-partite termasuk superposisi dari komputasi dasar yang juga dilibatkan. Jadi gerbang logika kuantum perhitungannya jauh lebih bervariasi daripada gerbang logika perhitungan klasik.

ALGORITMA SHOR

Salah satu algoritma yang digunakan dalam quantum computing yaitu Algoritma shor. Algoritma shor itu sebuah teori algoritma yang mewakili sistem keamanan komputer dalam komputer quantum, dapat merancang dan memecahkan kode rahasia atau untuk mengamankan pengiriman data dari serangan yang tidak punya hak akses.
Algoritma yang ditemukan oleh matematikawan Peter Shor pada tahun 1995 ini adalah algoritma kuantum yang berjalan pada komputer kuantum untuk memecahkan permasalahan kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. Jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu juga pemecahan kode RSA membutuhkan kerja dari ribuan komputer secara paralel, jadi kerja pemecahan tersebut tidaklah efektif.
Efisiensi algoritma Shor adalah karena efisiensi kuantum Transformasi Fourier , dan modular eksponensial. Jika sebuah komputer kuantum dengan jumlah yang memadai qubit dapat beroperasi tanpa mengalah kebisingan dan fenomena interferensi kuantum lainnya, algoritma Shor dapat digunakan untuk memecahkan kriptografi kunci publik skema seperti banyak digunakan skema RSA. Algoritma Shor terdiri dari dua bagian:
  • 1.  Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban-temuan.
  • 2.    Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.

Hambatan runtime dari algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional dengan gerbang reversibel , dimulai dengan penambah ripple-carry. Sirkuit Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit. Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan kuantum transformasi Fourier , tetapi tidak kompetitif dengan kurang dari 600 qubit karena konstanta tinggi.



Sumber :