Selasa, 14 Juni 2016

PARALLEL COMPUTING

Tugas Softskill mengenai Parallel Computing


KELOMPOK 4

Dika Arif Purnomo
Dyah Herwiyanti
Eha Julaeha
Ismi Azahra Paradisa
Muhammad Fadli Iman
Yesaya Samuel Wandawa


Untuk mengetahui hal lengkap mengenai parallel computing, bisa lihat materinya pada link dibawah ini

link:

Senin, 13 Juni 2016

KONFIGURASI FTP SERVER PADA UBUNTU SERVER


File Transfer Protocol (FTP) merupakan suatu protokol yang berfungsi sebagai perantara tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP. Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client. FTP server adalah suatu server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client.



Instalasi FTP Server
Langkah pertama yang dilakukan adalah penginstallan Software FTPnya, Pada kali ini saya menggunakan proftpd. Untuk menginstallnya ketikan perintah berikut di terminal :


Jika penginstalan telah setelah langkah berikutnya adalah melakukan konfigurasi beberapa file. Ada beberapa file yang akan kita edit, yaitu :


1. /etc/proftpd/proftpd.conf
2. /home/ftp = merupakan tempat dimana file/data disimpan untuk private ftp



Konfigurasi Private FTP Server

Pada terminal ketikan perintah berikut :
nano /etc/proftpd/proftpd.conf
kemudian akan muncul isi file dari proftpd.conf seperti berikut :



Selanjutnya kita edit beberapa settingan yang ada, seperti :
  1. UseIpv6 on > off
  2. ServerName “debian” > “nama_server_name_ftp_anda”
  3. Aktifkan DefaultRoot dan isikan tempat untuk menaruh file/data. Karena kita tadi sudah sepakat membuatnya di /home/ftp maka tuliskan itu di defaultroot

Contoh :



Setelah itu save dengan cara yang sama

Kemudian kita akan membuat file yaitu /home/ftp, pada terminal ketikan perintah berikut :
mkdir /home/ftp



setelah itu kita masuk kedalam direkroti /home/ftp, kita akan membuat beberapa folder dan file didalam direktori tersebut, berikut contohnya :

Kalau sudah semuanya, sekarang kita restart paket proftpdnya dengan perintah :
/etc/init.d/proftpd restart


Pengecekan Konfigurasi Private FTP di Client

Untuk settingan IP pada client tidak berubah masih sama dengan sewaktu kita mengkonfigurasi DNS.
Langsung saja kita buka browsernya dan ketikan server name ftp di url, berikut contohnya :




Kemudian enter untuk melakukan request ke ftp server. Pada saat request pasti kalian akan diminta untuk memasukan user dan password. Untuk mengisi form tersebut isikan saja user dan pass sewaktu kalian login di Ubuntu server.




tekan OK, lalu akan muncul tampilan seperti berikut :




Apabila tampilan kalian muncul seperti itu berarti konfigurasi kalian telah berhasil.

KONFIGURASI PROXY SERVER PADA UBUNTU SERVER

Proxy server merupakan sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari internet atau intranet. 

Instalasi Aplikasi Proxy Server

Aplikasi yang akan digunakan pada postingan ini untuk membuat proxy server adalah squid, untuk menginstalnya pada terminal ketikan perintah berikut ini:




Konfigurasi Proxy Server
Apabila penginstalan telah selesai maka langkah berikutnya adalah melakukan konfigurasi beberapa file. Ada beberapa file yang akan kita edit, yaitu :

  1. /etc/squid3/squid.conf
  2. /etc/squid3/url à merupakan file buatan untuk menaruh website yang akan di blokir
  3. /etc/squid3/key à merupakan file buatan untuk menaruh keyword yang akan di blokir




1. Konfigurasi File squid.conf

Pada tahapan ini yang dilakukan adalah mengkonfigurasi file squid.conf terlebih dahulu. Pada terminal ketikan perintah berikut ini:

nano /etc/squid3/squid.conf      , maka akan muncul tampilan berikut :






Lalu cari kata “http_port 3128” dengan menggunakan ctrl+w, dan kemudian edit hingga menjadi seperti berikut ini:





Lalu cari kata “acl CONNECT” dan tambahkan script berikut tepat dibawah nya :





Lalu save file squid.conf


2. Konfigurasi File url dan 3. File key

Setelah melakukan pengeditan pada file squid.conf, selanjutnya kita akan membuat file dengan nama url dan key. File tersebut berfungsi untuk menaruh web-web apa saja yang akan kita blokir dan keyword apa saja yang akan kita blokir. berikut ini contohnya :




Isikan nama website yang akan di blokir


Lalu save file url




Masukan kata kunci yang akan di blokir





Lalu save file key

Konfigurasi IPTABLES



Kita akan melakukan konfigurasi sedikit pada iptables untuk me-redirect dari port 80 ke port 3128, berikut ini contohnya :







Setelah semua file kita edit sekarang restart paket squidnya
/etc/init.d/squid3 restart


Pengujian Pada Komputer Client

Kita akan melakukan pengujian proxy server pada komputer client, proxy server akan menjadi transparent apabila ada koneksi ke internet. Apabila tidak ada,  kita melakukannya pada ruang lingkup LAN menggunakan manual proxy.



Pertama kita akan melakukan setting proxy terlebih dahulu di browser, disini saya menggunakan browser Mozilla firefox, berikut contohnya :

1. Tools > options > advance > network > settings

2. Edit seperti gambar di bawah ini :







3. Klik OK



Jika berhasil maka jika Anda ketik nama website atau kata kunci yang kalian blokir di url browser maka akan muncul tampilan seperti ini :


KONFIGURASI DNS SERVER PADA UBUNTU SERVER

Terlebih dahulu kita instal aplikasi yang akan digunakan untuk melakukan konfigurasi DNS server. Pada postingan ini aplikasi yang digunakan bernama BIND9. Apabila penginstalan aplikasi telah selesai, selanjutnya adalah melakukan konfigurasi beberapa file.

File yang perlu dikonfigurasi adalah :
  1. /etc/network/interfaces
  2. /etc/resolv.conf
  3. /etc/bind/named.conf.options
  4. /etc/bind/named.conf.local
  5. /etc/bind/nama_domain.zone
  6. /etc/bind/nama_domain.rev

1. Konfigurasi /etc/network/interfaces

Pada tahapan ini yang dilakukan adalah mengubah IP address, Netmask, Gateway, dan dns-nameserver. Berikut ini langkahnya.
Pada terminal ketikan :
nano /etc/network/interfaces  ,    maka akan muncul tampilan seperti berikut :


Kemudian masukan IP address, Netmask, Gateway, dan dns-nameserver, berikut ini contohnya :



Jika dikirinya sudah, maka simpan/save dengan menekan tombol Ctrl+x + y + enter.

2. Konfigurasi /etc/resolv.conf

Pada tahapan ini yang dilakukan adalah mengisikan nama domain dan alamat dns-nameserver, Berikut ini langkahnya.
Pada terminal ketikan :
nano /etc/resolv.conf   ,   maka akan muncul tampilan seperti berikut : 


Kemudian isikan nama domain dan alamat dns-nameserver, berikut ini contohnya :


Setelah itu save dan restart dengan menekan tombol :


Ctrl+x + y + enter
lalu ketikan pada terminal
# /etc/init.d/networking restart


3. Konfigurasi /etc/bind/named.conf.options

Pada tahapan ini yang dilakukan adalah mengubah forwaders menjadi aktif, dan ubah juga 0.0.0.0 menjadi alamt IP dns-nameserver.  Berikut ini langkahnya.
Pada terminal ketikan :
nano /etc/bind/named.conf.options  ,   maka akan muncul tampilan seperti berikut :


ubah forwaders menjadi aktif, dan ubah juga 0.0.0.0 menjadi alamt IP dns-nameserver. Berikut  ini contohnya:


Kemudian save dengan menekan tombol :
Ctrl+x + y + enter


4. Konfigurasi /etc/bind/named.conf.local

Pada tahapan ini yang dilakukan adalah memasukan zone domain dan zone ip address dns-nameservernya. Berikut ini langkahnya.
Pada terminal ketikan :
nano /etc/bind/named.conf.local    ,   maka akan muncul tampilan seperti berikut :


Kemudian masukan zone domain dan zone ip address dns-nameservernya, berikut ini contohnya :


Kemudian save dengan cara yang sama.


Membuat File .zone dan File .rev

Pada tahapan ini yang dilakukan adalah membuat file .zone dan .rev, terlebih dahulu kita harus pindah ke direktori bind dengan mengetikan :
cd /etc/bind
maka tampilan terminal kita akan berubah ke direktori bind, lalu copy file db.local menjadi file .zone dan file .rev,


5. Konfigurasi file .zone

Pada tahapan ini yang dilakukan adalah mengubah “localhost” menjadi nama domain kita, dan mengubah tatanan IN. Seperti ini tahapannya:

Pada terminal ketikan :
nano snsd.zone     ,     maka akan muncul tampilan seperti berikut : 


Jika sudah, ubah “localhost” menjadi nama domain kita, dan ubah tatanan IN menjadi seperti berikut ini :


Kemudian save dengan cara yang sama.

Keterangan :

IN        = internet
A        = address
CNAME    = nama alias/canonical name



6. Konfigurasi file .rev

Pada tahapan ini yang dilakukan adalah sama seperti konfigurasi file .zone, kita akan mengubah “localhost” menjadi nama domain kita, dan ubah tatanan IN. Seperti ini tahapannya:

Pada terminal ketikan :
nano snsd.rev     ,   maka akan muncul tampilan seperti berikut :


lalu ubah “localhost” menjadi nama domain dan ubah tatanan komponen IN, berikut ini contohnya :


Kemudian save dengan cara yang sama. Selanjutnya restart pake bind9 dengan pertintah :
/etc/init.d/bind9 restart


Pengujian Konfigurasi DNS

Untuk mengetahui apakah konfigurasi DNS yang kita buat telah berhasil atau belum, kita bisa menggunakan perintah nslookup ke alamat domain yang kita buat atau dengan Pengujian Konfigurasi DNS di Komputer Client. Untuk pengujian pada komputer client, berawal dari kita setting IP address yang ada di computer client. Untuk gateway dan DNS isikan dengan alamat IP dari server Ubuntu yang telah kita buat sebelumnya. Kemudian buka browser dan ketikan nama domain yang telah kita buat, Sekarang coba ketikan sub domain seperti www.snsd.com, mail.snsd.com, ftp.snsd.com. Apabila muncul tulisan it works maka konfigurasi DNS berjalan dengan semestinya.
Selamat konfigurasi DNS telah berhasil.

Jumat, 27 Mei 2016

LATIHAN GET IP, GET NAME, IP TO NAME, NSLOOKUP, SERTA APLIKASI CLIENT - SERVER PADA JAVA

GET IP
KODE PROGRAM

LOGIKA PROGRAM
Program getip.java ini terlebih dahulu mengimport library java.net, lalu memiliki class getip. Pada class getip ini void main –nya terdapat InetAddress host = null yang berarti terdapat nilai null atau kosong pada variabel host dalam InetAddress. Lalu ada host = InetAddress.getLocalHost(); yang berarti program akan memanggil LocalHost dari komputer lalu nilai nya akan disimpan dalam variabel host. Lalu ada byte ip[] = host.getAddress(); yang berarti variabel host akan mendapatkan alamat dari IP komputer lalu setiap nilai akan disimpan di dalam variabel ip yang berbentuk array dan bertipe data byte. Lalu IP dari komputer akan dicetak melalui mekanisme perulangan.

OUTPUT PROGRAM


GET NAME
KODE PROGRAM

LOGIKA PROGRAM
Program gatename.java ini terlebih dahulu mengimport library java.net, lalu memiliki class gatename. Pada class gatename ini void main –nya terdapat InetAddress host = null yang berarti terdapat nilai null atau kosong pada variabel host dalam InetAddress. Lalu ada host = InetAddress.getLocalHost(); yang berarti program akan memanggil LocalHost dari komputer lalu nilai nya akan disimpan dalam variabel host. Lalu melalui variabel host tersebut nama dari local host akan dicetak [host.getHostName()].

OUTPUT PROGRAM


IP TO NAME
KODE PROGRAM

LOGIKA PROGRAM
Program IPtoName.java ini berfungsi untuk mendapat nama dari komputer dengan membaca IP address dari komputer tersebut. Jadi disaat program java ini dijalankan [java IPtoName    ] masukkan alamat IP dari komputer yang digunakan contoh java IPtoName 192.168.1.2 , jika tidak diisi alamat IP nya maka program akan keluar. Program akan menyimpan alamat IP tersebut pada variabel args, lalu [String host = args[0];] ini akan menyimpan alamat IP pada variabel args tersebut ke dalam variabel host. Lalu selanjutnya [address = InetAddress.getByName(host);] ini akan memanggil alamat IP yang terdapat di dalam variabel host dan nilai yang di dapat akan disimpan di dalam variabel address. Selanjutnya variabel address ini akan mendapat nama dari komputer tersebut [address.getHostName()]. Seperti itulah kurang lebih mekanisme kerja programnya.

OUTPUT PROGRAM



NSLOOKUP
KODE PROGRAM

LOGIKA PROGRAM
Program NsLookup.java ini berfungsi untuk mendapat IP address dari komputer dengan membaca nama dari komputer tersebut. Jadi disaat program java ini dijalankan [java NsLookup    ] masukkan nama dari komputer yang digunakan contoh java NsLookup ASAL-PC  , jika tidak diisi nama komputer nya maka program akan keluar. Program akan menyimpan nama komputer tersebut pada variabel args, lalu [String host = args[0];] ini akan menyimpan nama komputer pada variabel args tersebut ke dalam variabel host. Lalu selanjutnya [address = InetAddress.getByName(host);] ini akan memanggil nama komputer yang terdapat di dalam variabel host dan nilai yang di dapat akan disimpan di dalam variabel address. Selanjutnya [byte ip[] = address.getAddress();] ini variabel address akan mendapatkan alamat dari IP komputer lalu setiap nilai akan disimpan di dalam variabel ip yang berbentuk array dan bertipe data byte. Lalu IP dari komputer akan dicetak melalui mekanisme perulangan. Seperti itulah kurang lebih mekanisme kerja programnya.

OUTPUT PROGRAM

APLIKASI CLIENT - SERVER PADA JAVA
KODE PROGRAM
SERVER

LOGIKA PROGRAM
Program ini merupakan program yang digunakan untuk komunikasi antara server dan client sederhana. Cara menjalankan program ini adalah terlebih dahulu kita jalankan program server pada  satu layar cmd, setelah server hidup kita jalankan program client nya pada layar cmd kedua dengan mengetikan java simpleClient <nama komputer server>. Selanjutnya client akan melakukan komunikasi dengan server dengan mengirimkan sebuah pesan, setelah client mengirimkan pesannya maka server menerima pesan yang dikirimkan oleh client, selanjutnya server akan membalas pesan dari client tersebut.

OUTPUT PROGRAM

Selasa, 26 April 2016

QUANTUM COMPUTER

PENGOPRASIAN DATA QUBIT
Quantum Computer atau komputer kuantum menggunakan fenomena superposisi. Superposisi dimaksud adalah suatu partikel dapat berada dalam 2 keadaan sekaligus. Dalam komputer kuantum, selain 0 dan 1 dikenal pula superposisi dari keduanya. Ini berarti keadaannya bisa berupa 0 dan 1, bukan hanya 0 atau 1 seperti di komputer digital biasa. Dalam penerapannya komputer kuantum menggunakan QUBITS (Quantum Bits) bukan Bits. Karena kemampuannya untuk berada di bermacam keadaan (multiple states), komputer kuantum memiliki potensi untuk melaksanakan berbagai perhitungan secara simultan sehingga jauh lebih cepat dari komputer digital.
Komputer kuantum menggunakan partikel yang bisa berada dalam dua keadaan sekaligus, misalnya atom-atom yang pada saat yang sama berada dalam keadaan tereksitasi dan tidak tereksitasi, atau foton (partikel cahaya) yang berada di dua tempat berbeda pada saat bersamaan. Apa maksudnya ini? Atom memiliki konfigurasi spin. Spin atom bisa ke atas (up), bisa pula ke bawah (down). Misalnya saat spin atom mengarah ke atas (up) kita beri lambang 1, sedangkan spin down adalah 0 (seperti dalam sistem binary di komputer digital). Atom-atom berada dalam keadaan superposisi (memiliki spin up dan down secara bersamaan) sampai kita melakukan pengukuran. Tindakan pengukuran memaksa atom untuk ‘memilih’ salah satu dari kedua kemungkinan itu. Ini berarti sesudah kita melakukan pengukuran, atom tidak lagi berada dalam keadaan superposisi. Atom yang sudah mengalami pengukuran memiliki spin yang tetap: up atau down. Saat konsep ini diterapkan dalam komputer kuantum, keadaan superposisi terjadi pada saat proses perhitungan sedang berlangsung. Sistem perhitungan pada komputer kuantum ini berbeda dengan komputer digital. Komputer digital melakukan perhitungan secara linier, sedangkan komputer kuantum melakukan semua perhitungan secara bersamaan (karena ada multiple states semua perhitungan dapat berlangsung secara simultan di semua state). Ini berarti ada banyak kemungkinan hasil perhitungan. Untuk mengetahui jawabannya (hasil perhitungannya) kita harus melakukan pengukuran qubit. Tindakan pengukuran qubit ini menghentikan proses perhitungan dan memaksa sistem untuk ‘memilih’ salah satu dari semua kemungkinan jawaban yang ada.

QUANTUM GATES
Quantum Gates atau gerbang kuantum biasanya direpresentasikan dalam bentuk matriks. Gerbang yang bekerja pada k qubit diwakili oleh 2 x 2 k k matriks kesatuan. Jumlah qubit dalam input serta output dari gerbang diharuskan 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).
 media/image38.jpeg


ALGORITMA SHOR

Algoritma Shor adalah algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Jika menggunakan algoritma ini, 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.

REFERENSI
http://www.yohanessurya.com/download/penulis/Bermimpi_07.pdf
http://flashintata.blogspot.co.id/2013/05/quantum-computation.html
https://amoekinspirasi.wordpress.com/2014/05/15/pengertian-quantum-computing-dan-implementasinya/

Senin, 28 Maret 2016

NoSQL (Not only SQL)


Database sangat erat kaitannya sebagai RDBMS (Relational Database Management System) yang mengunakan SQL (Structured Query Language) sebagai bahasa utamanya. Namun ada sisi kontra dari SQL yaitu NoSQL.
NoSQL adalah singkatan dari Not only SQL, dari beberapa sumber yang telah terhimpun NoSQL adalah sebuah konsep tentang sebuah penyimpanan data yang non-relasional. Berlawanan dari model basis data yang umumnya relasional, namun NoSQL menerapkan beberapa metode yang berbeda-beda. Metodenya itu bergantung pada jenis dari database yang digunakan, karena NoSQL sendiri merupakan konsep database, dan pada implementasinya, banyak jenis-jenis dari NoSQL ini.
Kelebihan utama dari NoSQL (Not only SQL ) yaitu untuk mengurus suatu Big Data dimana data tersebut dinamis atau bisa dikatakan terus-menerus berkembang. Data yang diolah tersebut sangat kompleks sehingga sebuah relational database tidak lagi bisa mengatur data tersebut. Salah satu contoh dari bentuk datanya adalah ketika suatu data saling terhubung satu sama lain, maka akan muncul proses duplikasi data atau data berganda. Data ini saling panggil beberapa permintaan, tambahan data baru, perubahan data, ataupun yang lain dengan suatu key yang sama. Dikarenakan aktivitas antar data yang sama tersebut terjadi terus-menerus, terjadilah suatu redudansi data, data menjadi berkalilipat, dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS.
Pada kasus di atas tersebut memiliki jawaban pada NoSQL. NoSQL melakukan penyederhanaan proses yang terjadi dalam sistem basis data relasional. Hal-hal yang menyebabkan redudansi data akan dihilangkan sehingga trafik server akan seimbang. Penyederhanaan proses tersebut memungkinkan data direplikasi pada banyak server secara mudah dan menjamin ketersediaan data.
Kelebihan lain dari database NoSQL ini adalah kecepatan dalam hal pencarian data (search engine). Ambil contoh kasus yaitu raksasa internet Google, salah satu perusahaan yang telah mengaplikasikan konsep database noSQL pada mesin pencarinya. Pencarian yang ada di Google sangatlah super cepat. Hanya dalam beberapa detik bahkan millisecond, data yang ingin pengguna internet dapatkan yang seusai dengan keyword yang diinputkan akan muncul, padahal database yang dimiliki Google sangatlah besar.
Terdapat beberapa database yang mengaplikasikan noSQL seperti MongoDB, CouchDB, Riak, Apache Hadoop, Redis, dll.