Pages

Selasa, 03 Juli 2018

What is quantum computing a super easy explanation for anyone

Quantum computers are incredibly powerful machines that take a new approach to processing information. Built on the principles of quantum mechanics, they exploit complex and fascinating laws of nature that are always there, but usually remain hidden from view. By harnessing such natural behavior, quantum computing can run new types of algorithms to process information more holistically. They may one day lead to revolutionary breakthroughs in materials and drug discovery, the optimization of complex manmade systems, and artificial intelligence. We expect them to open doors that we once thought would remain locked indefinitely. Acquaint yourself with the strange and exciting world of quantum computing. Let’s have a discussion about the issues with this video below which have some section talk about What is quantum computing? How do quantum computers work? What can quantum computers do? What is entanglement, qubits, quantum gates, and algorithm we will use to.

Minggu, 06 Mei 2018

Analisa dan Hasil Pemrograman Jaringan


    Pada pembahasan kali ini, saya akan membahas mengenai hasil dan analisa dari beberapa program sederhana dalam pemrograman jaringan. Yaitu sebagai berikut:

1. Latihan Get IP

Listing Program :

Output Program :


    Pada program getIp, dimana pada program ini host bertindak sebagai Local Hostnya, sedang ip nya untuk mengambil ip address dari host yang digunakan. Pada komputer saya ini dapat dilihat pada output ip addressnya yaitu 192.168.100.7.

2. Latihan Get Name

Listing Program : 


Output Program :


    Pada program getName, dimana pada program ini host akan mengindetifikasi nama komputer kita, Pada komputer saya ini dapat dilihat pada output nama komputernya yaitu DESKTOP-IPN750K.

3. Latihan IP to Name

Listing Program :


Output Program :


    Pada program IPtoName, dimana pada program ini hanya akan mencetak pemakaian dengan menampilkan IP address yang dipakai.

4. Latihan NSLookup

Listing Program :


Output Program :


    Pada program NSLookup, dimana pada program ini hanya akan mencetak pemakain dengan mencetak hostname yang dipakai.

5. Aplikasi Sederhana Client- Server





    Hasil analisa dari aplikasi client server ini yaitu, dimana pada simpleServer.java bertindak sebagai servernya, lalu ada simpleClient.java yaitu sebagai client. Disini kita jalankan program server terlebih dahulu kemudian baru jalankan program client, pada program client kita jalankan dengan memasukkan ip address kita terlebih dahulu, kemudian kita diminta untuk menginput kata kunci yaitu "salam" lalu kita lihat pada program server akan menerima salam dan server akan mengirim pesan ke client yaitu "apa kabar". Sedangkan untuk kata kunci yang lain disini saya mencoba "apa kabar" server akan merespon dengan mengirimkan pesan ke client yaitu "Maaf, saya tidak mengerti".

6. Network Programming


    Pada bagian ini terdapat e-book dalam format chm, yaitu membahas mengenai UNIX Network Programming yang ditulis oleh W. Richard Stevens, Bill Fenner, Andrew M.Rudoff. Pada buku ini dibahas mengenai bagaimana kita bisa berkomunikasi dengan yang lain dengan menggunakan API(Application Program Interface) atau yang dikenal sebagai socket.

Senin, 09 April 2018

Review Jurnal


Algoritma Quantum Shor untuk Faktorisasi Bilangan Bulat
Andika Pratama
Jurusan Teknik Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung

A. QUANTUM COMPUTING
            Sebuah alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an 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.
Sejarah singkat
·         Pada tahun 1970-an pencetusan atau ide tentang komputer kuantum pertama kali muncul 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).
·         Feynman dari California Institute of Technology yang pertama kali mengajukan dan menunjukkan model bahwa sebuah sistem kuantum dapat digunakan untuk melakukan komputasi. Feynman juga menunjukkan bagaimana sistem tersebut dapat menjadi simulator bagi fisika 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.
·         Pada tahun 1995, Peter Shor merumuskan sebuah algoritma yang memungkinkan penggunaan komputer kuantum untuk memecahkan masalah faktorisasi dalam teori bilangan.
·         Sampai saat ini, riset dan eksperimen pada bidang komputer kuantum masih terus dilakukan di seluruh dunia. 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 R`Esonance).

B. PEMBAHASAN SINGKAT JURNAL
  1.         I.   Komputer Quantum

Komputer quantum 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).

     II.            Qubit
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.[6]

  III.          III.        Algoritma Shor
Algoritma Shor didasarkan dari sebuah teori bilangan: fungsi F(a) = xamod n adalah fungsi periodik jika x adalah bilangan bulat yang relatif prima dengan n. Dalam Algoritma Shor, n akan menjadi bilangan bulat yang hendak difaktorkan..

C. HASIL EKSPERIMEN
            Simulasi Algoritma Quantum telah banyak dibuat untuk komputer konvensional, tetapi patut diingat bahwa simulasi-simulasi tersebut tidak akan bisa benar-benarmeniru komputer quantum dengan sempurna, karena efek-efek eksklusif quantum seperti superposisi quantum dan quantum entanglement.
Program yang saya gunakan untuk simulasi dibawah adalah program shor yang dibuat olah Bernhard Oemer, ditulis dalam bahasa c++ dengan library QULIB untuk mensimulasikan komputer quantum abstrak.[7]
Disimulasikan proses Algoritma Shor dalam memfaktorkan bilangan bulat 15, karena 15 adalah bilangan bulat terkecil yang masih dapat difaktorkan oleh Algoritma Shor.
           Hasil output program:
factoring 15: random seed = 7, tries = 1. allocating 12 quBits with 256 terms.
RESET: reseting state to |0,0>
FFT: performing 1st Fourier transformation. EXPN: trying x = 2. |a,0> --> |a,2^a mod 15> MEASURE: 2nd register: |*,1>
FFT: performing 2nd Fourier transformation. MEASURE: 1st register: |0,1>
measured zero in 1st register. trying again ...
RESET: reseting state to |0,0>
FFT: performing 1st Fourier transformation. EXPN: trying x = 8. |a,0> --> |a,8^a mod 15> MEASURE: 2nd register: |*,4>
FFT: performing 2nd Fourier transformation. MEASURE: 1st register: |64,4>
rational approximation for 64/2^8 is 1/4, possible period: 4
8^2 mod 15 = 4. possible common factors of 15 with 5 and 3.
15 = 5 * 3.
program succeeded after 1 s and 2 iterations.
Pembahasan Simulasi:
Pada percobaan pertama, Algoritma Shor gagal karena hasil pengukuran 0 pada register pertama berarti q/r = 0 tidak memberikan informasi mengenai periode r. Pada percobaan kedua, hasil pengukuran menghasilkan nilai dari puncak spektrum |64>. Dengan 64/256 = ¼ = q/r, periode r =4 diketahui dan kemungkinan faktor dari 15 telah ditemukan. Setelah faktor teronfirmasi, simulasi ini selesai.
Dari hasil simulasi tersebut terlihat sifat algoritma quantum yang non-deterministik, yaitu jumlah operasi yang harus dilakukan untuk berhasil tidaklah tetap. Namun secara probabilistas statistik, jumlah opersi yang dibutuhkan maksimal akan selesai dalam waktu polinomial.

D. ANALISIS KELEBIHAN & KEKURANGAN
     KELEBIHAN :
  • Abstrak lebih jelas, sehingga dengan membaca abstraknya saja pembaca dapat mengetahui hasil dari penelitian tersebut
  • Prosedur penelitian disusun dengan teratur, sehingga mudah untuk dipahami.
  • kesimpulan yang dibuat sudah terperinci dan dipaparkan secara jelas

      KEKURANGAN :
  •   Penulis kurang lengkap dalam menyimpulkan keseluruhan isi dari jurnal ini.

E.  KESIMPULAN 
       Pada bagian kesimpulan ini penulis cukup baik dalam menjelaskan tentang quantum computing ini apa saja yang terdapat didalamnya. Namun penulis kurang lengkap dalam menyimpulkan keseluruhan isi dari jurnal ini dan menurut saya penulis kurang detail dalam memberikan hasil yang didapat dalam melakukan penelitiannya.  



Jumat, 16 Maret 2018

Pengantar Quantum Computation


  1. Pendahuluan



  2. Seiring perkembangan jaman, teknologi selalu mengalami peningkatan terutama pada kualitasnya. Salah satu teknologi yang paling terlihat peningkatannya adalah komputer. Sampai saat ini peningkatan kualitas komputer bisa dibilang sangatlah cepat, baik dalam hal penampilan maupun kecepatan memprosesnya. Komputer yang ada sekarang sudah mengalami peningkatan yang sangat mengagumkn dibandingkan dengan pertama kali muncul. Tetapi kedahsyatan komputer yang ada saat ini masih belum membut manusia puas berkimpi untuk menciptakan superkomputer dengan kecepatan yang sangat-sangat cepat. Komputer super ini nantinya akan dinamakan Komputer Kuantum.
    Teori tentang komputer kuantum ini pertama kali dicetuskan oleh fisikawan dari Argonne National Laboratory sekitar 20 tahun lalu. Paul Benioff merupakan orang pertama yang mengaplikasikan teori fisika kuantum pada dunia komputer di tahun 1981.
    Sebuah komputer kuantum mendapatkan kemampuannya dengan memanfaatkan sifat-sifat kuantum tertentu dari atom ataupun nukleus yang memungkinkan mereka bekerja bersama sebagai suatu bit kuantum, atau “qubit”, yang berfungsi sebagai prosesor sekaligus sebagai memori pada waktu yang sama. Dengan mengarahkan interaksi-interaksi di antara qubit-qubit, sementara mereka terus diisolasikan dari lingkungan eksternal. Para ilmuwan berhasil membuat sebuah komputer kuantum menjalankan kalkulasi-kalkulasi tertentu, seperti pemfaktoran, dengan kecepatan yang secara eksponensial lebih tinggi dibandingkan komputer digital.

    Penulis
    Andinita Nurul Hidayah
    (51414092)
    Sumber :
    > Saputra, Herlambang. 2009. Kajian Tentang Komputer Kuantum Sebagai Pengganti Komputer Konvensional Di Masa Depan. Jurnal Generic. Vol.4 No.2 (15).
    > Anonim. 2017. Mengenal Komputasi Kuantum dan Kegunaannya. Diambil dari: https://www.ikons.id/mengenal-komputer-quantum-dan-kegunaannya/.
    Diakses pada 12 Maret 2018.

  3. Entanglement
  4. Entanglement adalah istilah yang digunakan dalam teori kuantum untuk menggambarkan bagaimana partikel energi / materi dapat berkorelasi dengan kemungkinan saling berinteraksi satu sama lain meski dengan jarak yang jauh.
    Partikel, seperti foton, elektron, atau qubit yang berinteraksi satu sama lain mempertahankan jenis koneksi dan dapat saling terjalin satu sama lain secara berpasangan, dalam proses yang dikenal sebagai korelasi. Mengetahui keadaan spin dari satu partikel yang terjerat - apakah arah spin naik atau turun - memungkinkan seseorang mengetahui bahwa spin pasangannya berlawanan arah. Yang lebih menakjubkan lagi karena fenomena superposisi, partikel yang terukur tidak memiliki arah spin tunggal sebelum diukur, namun secara bersamaan berada dalam keadaan spin-up dan spin-down. Keadaan spin dari partikel yang diukur diputuskan pada saat pengukuran dan dikomunikasikan ke partikel berkorelasi, yang secara bersamaan mengasumsikan arah putaran berlawanan dengan partikel terukur.Kuantum entanglement memungkinkan qubit yang dipisahkan oleh jarak yang jauh untuk berinteraksi satu sama lain dalam komunikasi yang tidak terbatas. Tidak masalah  seberapa besar jarak antara partikel yang berkorelasi, mereka akan tetap terjerat selama mereka terisolasi.
    Superposisi pada dasarnya adalah kemampuan sistem  kuantum untuk berada di beberapa keadaan pada saat bersamaan - yaitu,"di sini" dan "di sana", atau "naik"  dan "turun" pada saat bersamaan.
    Berkat superposisi dan entanglement, komputer kuantum dapat  memproses banyak instruksi secara bersamaan. contohnya: komputer klasik bekerja dengan yang satu dan nol, sebuah komputer kuantum akan memiliki keuntungan menggunakan angka satu, nol, dan "superposisi" dari angka satu dan nol.  Beberapa tugas yang telah lama dianggap tidak mungkin atau sulit dicoba untuk  komputer klasik akan dicapai dengan cepat dan efisien oleh komputer kuantum.
    Entanglement adalah fenomena nyata yang telah ditunjukkan berulang kali melalui eksperimen. Mekanismenya belum bias sepenuhnya dijelaskan oleh teori apapun. Satu teori yang diajukan mengatakan bahwa semua partikel di bumi pernah dipadatkan secara erat dan, sebagai konsekuensinya, menjaga keterikatan antar partikel.
    Banyak penelitian saat ini berfokus pada bagaimana memanfaatkan potensi dari entanglement dalam mengembangkan sistem Kriptografi quantum dan Komputasi kuantum.

    Penulis
    Marcellus
    (56414355)
    Sumber :
    > Rouse, Margaret. 2006. What is entanglement?. http://whatis.techtarget.com/definition/entanglement.
    > Bub, Jeffrey. 2001. Quantum Entanglement Information. https://plato.stanford.edu/entries/qt-entangle/.
    > Institute for Quantum Computing University. Quantum Computing 101. https://uwaterloo.ca/institute-for-quantum-computing/quantum-computing-101.
    > Wikipedia. Quantum Entanglement. https://www.sciencedaily.com/terms/quantum_entanglement.htm.
    Diakses pada 13 Maret 2018

  5. Pengoperasian Data Qubit
  6. Qubit adalah unit dasar informasi dalam sebuah komputer kuantum. Jika bit dapat mewakili hanya satu dari dua kemungkinan seperti 0, atau 1 (ya atau tidak), qubit dapat mewakili lebih yaitu: 0 atau 1, 1 dan 0. Dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial lain atau disebut dengan superposisi. Bit dideskripsikan oleh status 0 atau 1. Begitu juga dengan qubit yang digambarkan oleh status quantum

    Sumber Gambar dari https://sainstory.wordpress.com/2012/08/11/aturan-sederhana-untuk-dunia-quantum-yang-kompleks/
    Perbedaan antara komputer biasa dan komputer kuantum bermuara pada bagaimana cara mereka mendekati suatu masalah, misalnya :
    Komputer biasa mencoba memecahkan masalah seperti melepaskan diri dari labirin, caranya dengan mencoba setiap koridor yang mungkin, kembali ke posisi awal jika menemukan jalan buntu, sampai akhirnya bisa menemukan jalan keluar. Tetapi superposisi dalam mekanika quantum memungkinkan komputer kuantum untuk mencoba semua jalan sekaligus.

    Komputer kuantum dapat menghitung nilai keseluruhannya sekaligus. Keadaan paralel ini memiliki istilah Paralelisme Kuantum. Setiap rangkaian yang tercipta selalu memiliki rangkaian kuantum yang sesuai.  Selain itu, sebuah n qubits sama-sama ber-superposisi dari 0 dan 1, dia berperan untuk mengkodekan 2n nilai.
    Jadi dapat disimpulkan bahwa teknologi yang diterapkan pada komputer kuantum mampu melakukan perhitungan pada semua nilai pada waktu yang bersamaan, dibandingan dengan komputer biasa hanya bisa melakukan perhitungan tunggal.
    Penulis
    Frisca Arianja
    (54414392)
    Sumber
    > Ardiati, Maya. 2014 . Artikel Quantum Computing Dan Quantum Crypto. http://maya-ardiati-fst12.web.unair.ac.id/artikel_detail-117049-Prokom-Artikel%20Quantum%20Computing%20Dan%20Quantum%20Crypto.html.
    > O'CONNELL, CATHAL. 2017.
    Quantum computing for the qubit curious . https://cosmosmagazine.com/physics/quantum-computing-for-the-qubit-curious.
    > Anisah. 2014. Definisi, Implementasi, dan Algoritma Dari Quantum Computing . https://anisahicha.wordpress.com/2014/05/17/definisi-implementasi-dan-algoritma-dari-quantum-computing/
    Diakses pada 13 Maret 2018

  7. Quantum Gates
  8. Sekarang 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.
    1. Pertama mensimulasikan gerbang di babak pertama tingkat.
    2. Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
    3. Bersihkan bit ancillae.
    4. Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
    5. Setelah menghitung output, membersihkan bit ancillae.
    6. 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.

    Penulis
    Nur Aeni
    (58414124)
    Sumber
    > amoexhunter. 2014. Pengertian Quantum Computing dan Implementasinya. https://amoekinspirasi.wordpress.com/2014/05/15/pengertian-quantum-computing-dan-implementasinya/
    > Wikipedia. Quantum entanglement . https://www.sciencedaily.com/terms/quantum_entanglement.htm.
    2013. Pengantar Quantum Computation.
    > bless in disguise. 2013. Pengantar Quantum Computation. http://task-campus.blogspot.co.id/2013/06/pengantar-quantum-computation.html.
    Diakses pada 13 Maret 2018

  9. Algoritma Shor
  10. Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.
    Algoritma shor disebut juga ‘quickly factors large numbers using a quantum computer’. 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.
    Berikut adalah prosedur algoritma shor :
    1. Pick a number a < N at random. Check to make sure it is not a factor of N.
      Pilih salah satu angka di bawah N dan pastikan angka tsb (a) bukan merupakan faktor N.
    1. Find r, the period of a mod N.
      Temukan r atau periode dari a mod N.
    1. Check that  r is even and a r/2 + 1 0 mod N.
      Pastikan bahwa r itu genap sehingga a r/2 + 1 0 mod N.
    1. Let p = gcd(a r/2 - 1, N).
      Let q = gcd(a r/2 + 1, N).
    Masukan ke dalam fungsi FPB (Faktor Persekutuan Terbesar).
    Contoh soal:
    1. Dik:
    N = 21
    X = 2 (step 1)
    R = ?
    2 0 = 1 mod 21
    2 1 = 2 mod 21
    2 2 =  4 mode 21
    2 3 = 8 mod 21
    2 4 = 16 mod 21
    2 5 = 11 mod 21
    2 6 = 1 mod 21

    R = 6 (step 2)

    R mod 2 = 0 &&  2 6/2 + 1 0 mod 21 (step 3)

    P = gcd(2 6/2 – 1, 21)= gcd(7, 21)= 7
    Q = gcd(2 6/2 + 1, 21)= gcd(9, 21)= 3 (step 4)
    Factor of 21 is 3 and 7.
    Fin.
    Kelemahan dan Kelebihan Algoritma Shor
    Komputer quantum bersifat nondeterministik dan probabilistik, berbeda dengan komputer konvensional yang deterministik, yang berarti nondeterministik disini ialah suatu algoritma kadang kala dapat berhasil dan kadang kala akan gagal walaupun untuk kondisi yang sama. Hal ini dikarena sifat pengukuran dalam mekanika quantum yang probabilistik. Akibatnya, Algoritma Shor bisa gagal menemukan faktor karena beberapa sebab, diantaranya:
    1. Hasil pengukuran dari transformasi quantum fourier dapat berupa 0, membuat langka ke 10 tak mungkin dilakukan.
    2. Kadang hasil faktorisasi algoritma akan menghasilkan 1 dan n, yang secara definisi benar tetapi tidak berguna.
    3. Bila hasil r ganjil, maka langkah ke 10 tidak dapat dilakukan
    Walaupun begitu, probabilitas sukses akan bertambah setiap kali algoritma mengalami pengulangan. Dalam Algoritma Shor yang dimodifikasi dengan penentuan order, probabilitas sukses setelah 2 kali jalan lebih dari 60%, dan probabilitas sukses setelah 4 kali jalan lebih dari 90%.

    Penulis
    Suyanwar
    (5A414550)
    Deni Nasrullah
    (52414695)
    Sumber
    > Blanda, Stephanie. 2014. Shor’s Algorithm – Breaking RSA Encryption. https://blogs.ams.org/mathgradblog/2014/04/30/shors-algorithm-breaking-rsa-encryption/.
    > Anggara, Risan. 2016. Pengoprasian Data Qubit, Quantum Gates, Algoritma Shor . https://risanputtra.wordpress.com/2016/04/26/774/.
    Diakses pada 14 Maret 2018
    > Dwiastuti Arianti. 2016. Quantum Computation. http://ariyantidwiastuti.blogspot.co.id/2016/05/quantum-computation.html.

Kamis, 25 Januari 2018

KONFIGURASI FIREWALL DI UBUNTU MENGGUNAKAN UFW

PENGERTIAN FIREWALL
Firewall adalah sistem keamanan jaringan komputer yang digunakan untuk melindungi komputer dari beberapa jenis serangan dari komputer luar.
Menurut Pengertian Firewall yang dimaksudkan diatas, firewall adalah sebuah sistem atau perangkat yang memberi otorisasi pada lalu lintas jaringan komputer yang dianggapnya aman untuk melaluinya dan melakukan pencegahan terhadapa jaringan yang dianggap tidak aman. Firewall dapat berupa perangkat lunak (program komputer atau aplikasi) atau perangkat keras (peralatan khusus untuk menjalankan program fire-wall) perangkat yang menyaring lalu lintas jaringan antara jaringan. Perlindungan dengn Firewall adalah mutlak diperlukan untuk komputasi perangkat seperti komputer yang diaktifkan dengan koneksi Internet. Meningkatkan tingkat keamanan jaringan komputer dengan memberikan informasi rinci tentang pola-pola lalu lintas jaringan. Perangkat ini penting dan sangat diperlukan karena bertindak sebagai gerbang keamanan antara jaring komputer internal dan jaringan komputer eksternal.
“Fungsi Firewall Adalah”
Sebelum memahami fungsi firewall mari kita fahami atribut pentingnya sbb:
§  Semua jaringan komunikasi melewati fire wall
§  Hanya lalu lintas resmi diperbolehkan oleh fire wall
§  Memiliki kemampuan untuk menahan serangan Internet
Fungsi firewall sebagai pengontrol, mengawasi arus paket data yang mengalir di jaringan. Fungsi Firewal mengatur, memfilter dan mengontrol lalu lintas data yang diizinkan untuk mengakses jaringan privat yang dilindungi, beberapa kriteria yang dilakukan fire-wall apakah memperbolehkan paket data lewati atau tidak, antara lain :
§  Alamat IP dari komputer sumber
§  Port TCP/UDP sumber dari sumber.
§  Alamat IP dari komputer tujuan.
§  Port TCP/UDP tujuan data pada komputer tujuan
§  Informasi dari header yang disimpan dalam paket data.
secara sfesifik Fungsi Firewall adalah melakukan autentifikasi terhadap akses kejaringan. Applikasi proxy Fire-wall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntutnya untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
PENGERTIAN UFW
UFW (Uncomplicated FireWall) merupakan frontend dari IPtables yang dibuat dengan tujuan untuk menyederhanakan proses konfigurasi firewall pada operating system berbasis GNU/LINUX.
Sesuai dengan namanya, Uncomplicated FireWall bila diterjemahkan kedalam Bahasa Indonesia berarti Firewall yang tidak rumit, dengan UFW kita bisa mengkonfigurasi firewall dengan lebih mudah.

CARA INSTALL UFW DI UBUNTU
Pertama kita akan membuka Ubuntu. Kemudian pastikan UFW kita sudah terinstall. Untuk distro Ubuntu sebenarnya sudah terinstal secara default, jika belum terinstall maka install dengan menggunakan perintah sudo apt-get install ufw , hasilnya akan seperti gambar dibawah ini :

Jika sudah diinstall, maka UFW sudah siap untuk dikonfigurasikan. Berikut langkah-langkah konfigurasi firewall dengan menggunakan UFW.

LANGKAH – LANGKAH KONFIGURASI UFW
Pertama, kita akan mengkonfigurasi UFW untuk IPV6, tujuannya tentu saja agar firewall dapat mengelola rule untuk IPV6. Ketikkan perintah sudo nano /etc/default/ufw dan kemudian tekan enter untuk masuk ke direktori /etc/default/ufw. Didalam text editor, ubah IPV6=no menjadi IPV6=yes kemudian tekan CTRL+X dan tekan Y, lalu tekan enter untuk menyimpan perubahan tersebut. Hasil konfigurasi nya seperti gambar dibawah ini.

Selanjutnya cek status UFW apakah sudah aktif atau belum. Ketikkan perintah sudo ufw status verbose lalu tekan enter. Jika status nya inactive seperti tampilan gambar dibawah ini, berarti UFW belum diaktifkan.

Aktifkan UFW dengan menggunakan perintah ufw enable, lalu tekan enter dan kemudian akan muncul seperti tampilan gambar dibawah ini..

Kemudian gunakan pengaturan default untuk firewall dengan perintah sudo ufw default deny incoming dan sudo ufw default allow outgoing seperti gambar dibawah ini.

Selanjutnya buat rule untuk mengatur segala koneksi. Rule yang kita digunakan bertujuan untuk mengizinkan service ssh dan telnet pada UFW, sehingga kedua service tersebut tidak akan di block. Untuk membuat rule, gunakan perintah seperti gambar dibawah ini.


ALLOW CONNECTION
Setelah itu, kita akan membuat allow koneksi untuk UFW. Berikut ini cara untuk menambahkan perizinan traffic pada rule, dan terdapat beberapa contoh service yang sangat umum atau yang disarankan dan perlu untuk diizinkan. Jika ada service lainya yang ingin anda izinkan, anda bisa menambahkan rule lagi.
HTTP - PORT 80
Mengizinkan traffic HTTP port 80 untuk keperluan akses web server. Perintah nya seperti gambar dibawah ini..

HTTPS - PORT 443
Mengizinkan traffic HTTPS melalui port 443 untuk akses web server melalui protocol SSL. Perintah nya seperti gambar dibawah ini..

FTP – Port 21
Mengizinkan koneksi FTP port 21 untuk proses upload / download file dari dan ke server menggunakan aplikasi FTP Client seperti FileZilla. Perintah nya seperti gambar dibawah ini..

Port Range
Mengizinkan port range tertentu agar tidak terblok oleh firewall, misalnya kita ingin mengizinkan port dengan range 6000 sampai 6007 pada protocol TCP dan UDP, maka perintah nya seperti gambar dibawah ini..

IP Address
Mengizinkan IP Address tertentu agar dapat mengakses semua service yang ada pada server tanpa terblok oleh firewall. Perintah nya seperti gambar dibawah ini..

Atau mengizinkan IP Address tertentu untuk port / service tertentu. Misalnya, kita menginginkan agar IP 192.100.10.10 hanya bisa mengakses port 80, maka perintah nya seperti gambar dibawah ini..

Subnet
Mengizinkan subnet untuk range IP Address tertentu. Jika kita ingin mengizinkan subnet IP Address, kita dapat melakukannya dengan menggunakan notasi CIDR untuk menentukan netmask. Misalnya, kita ingin mengizinkan semua alamat IP mulai dari 192.100.10.1 ke 192.100.10.254, kita bisa menggunakan perintah ini:

Atau mengizinkan agar range IP tertentu hanya bisa mengakses service tertentu saja. Misalnya range IP 192.100.10.0/24 hanya bisa mengakses service yang ada di port 80, kita bisa gunakan perintah seperti dibawah ini.


DENY CONNECTION
Deny digunakan untuk memblok koneksi yang masuk dengan UFW. Berikut merupakan cara untuk memblokir koneksi dimana koneksi tersebut tidak akan bisa diakses sesuai dengan perintah yang digunakan.
Jika kita ingin memblok koneksi dari HTTP, maka perintah nya seperti berikut.

Jika kita ingin memblok koneksi dari IP Address tertentu, maka perintahnya seperti berikut.


REJECT CONNECTION
Berikut merupakan cara untuk mereject koneksi yang digunakan, hampir sama seperti deny connection hanya sajamenggunakan perintah yang berbeda.
Jika kita ingin mereject koneksi dari HTTP, maka perintah nya seperti dibawah ini.

Jika kita ingin mereject koneksi dari IP Address tertentu, maka perintah nya seperti dibawah ini