Thursday, April 12, 2018

REVIEW PAPER DENGAN TEMA PARALLEL COMPUTATION


Pada penulisan ini, saya akan mereview paper dari sebuah penelitian dengan tema komputasi parallel. Penelitian tersebut berjudul “Analisis Performa Komputasi Paralel GPU Menggunakan PYCUDA dan PYOPENCL dengan Komputasi Serial CPU pada Citra Digital”.

Tahun Penelitian

Penelitian paper ditulis tanggal 27 Juli 2017 pada lokasi Yogyakarta

Penulis Paper
  1. Muhammad Koprawi
  2. Teguh Bharata Adji
  3. Dani Adhipta


Permasalahan yang Di Teliti
  • Pycuda sebagai API python yang merupakan kombinasi dari python dan CUDA hanya bisa berjalan pada kartu grafis NVIDIA untuk keperluan pemrosesan paralel, sedangkan berdasarkan paper [9][15] dijelaskan bahwa pyopencl yang merupakan kombinasi python dan opencl dapat berkerja pada komputasi CPU, komputasi GPU dan mobile device, tidak seperti pycuda yang hanya bisa berjalan pada kartu grafis NVIDIA, opencl bisa berjalan pada lintas vendor kartu grafis sehingga tidak terbatas pada salah satu kartu grafis saja. Maka dari itu, dilakukan pengujian kepada kedua API tersebut.
  • Untuk menunjukkan peningkatan performa dan sebagai pembanding perhitungan komputasi paralel maka kedua API python (pycuda dan pyopencl) tersebut perlu dibandingkan dengan komputasi serial CPU.


TujuanPenelitan

Penelitian ini bertujuan untuk melihat kinerja dan performa komputasi paralel GPU antara PYCUDA dan PYOPENCL terhadap citra digital dan juga membandingkan dengan komputasi serial CPU.

Metode yang Digunakan

Metode penelitian yang digunakan adalah metode eksperimental, yaitu dengan melakukan pengujian citra melalui pemrograman paralel dengan PYCUDA dan PYOPENCL yang dilakukan pada sebuah perangkat komputer yang mampu menjalankan komputasi GPU dan pemrograman serial yang dijalankandiCPU.

Pengujian yang Dilakukan
  • Melakukan perbandingan rata-rata pengujian citra RGB menjadi citra grayscale. Hasil pengujian tersebut membuktikan bahwa semakin besar ukuran citra yang diuji, semakin besar waku yang diperlukan untuk melakukan operasi citra. Kemudian waktu yang dibutuhkan komputasi serial lebih lama jika dibandingkan dengan waktu dari komputasi parallel dalam memproses citra.
  • Pengujian kedua dilakukan dengan menguji perubahan citra RGB menjadi citra negatif. Hasil pengujian yang dilakukan membuktikan komputasi serial memerlukan lebih banyak waktu dibandingkan dengan komputasi paralel.
  • Pengujian ketiga dilakukan dengan menguji perubahan citra RGB menjadi citra black and white (hitam putih). Hasil pengujian yang telah dilakukan pada operasi citra dari citra RGB menjadi citra black and white membuktikan bahwa komputasi serial memerlukan lebih banyak waktu dibandingkan dengan komputasi paralel. Semakin besar ukuran citra maka semakin lama pula waktu yang diperlukan untuk melakukan operasi citra.


Kelebihan Penelitian
  • Dari penelitian, kita dapat menegtahui kinerja komputasi parallel dan komputasi serial.
  • Pada paper penulis, ditulis kecepatan secara rinci. Sehingga dapat mengetahui secara detail perbedaan waktu kedua metode (parallel dan serial)
  • Pemrosesan citra dengan PYOPENCL lebih cepat jika dibandingkan dengan CPU dan PYCUDA.


Kekurangan Penelitian
  • Pengujian hanya melakukan tiga kali pengujian, sementara masih ada faktor-faktor lain yang harus diperhatikan jika ingin membandingkan kinerja dari komputasi serial dan koputasi parallel.
  • Dalam melakukan pengujian, diperlukan peralatan tambahan untuk mencatat waktu pemrosesan citra.
  • Bahan yang akan diujikan sulit didapat, terutama citra yang beresolusi sangat tinggi yang hanya bisa didapat dari pengambilan gambar secara langsung menggunakan lensa yang relativ mahal.


Kesimpulan Keseluruhan Penelitian

Penelitian melakukan tiga pengujian yang berbeda untuk membandingkan kinerja dari komputasi parallel dan komputasi serial. Dari ketiga proses operasi citra yang telah dilakuan, komputasi serial memerlukan lebih banyak waktu untuk melakukan operasi citra dibandingkan dengan komputasi paralel. Perbedaan jenis operasi citra sangat berpengaruh terhadap waktu yang dihasikan pada pengujian.

Daftar Pustaka

Paper : Download


P.S : Terima kasih kepada penulis yang telah membagikan ilmunya kepada saya dan saya memohon maaf apabila ada pihak yang di rugikan dalam postingan ini. Postingan ini semata-mata hanya untuk pembelajaran saja.

Thursday, March 15, 2018

Parallel Computation

Parallel computing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Parallel processing membuat program berjalan lebih cepat karena menggunakan lebih dari satu CPU, berbeda dengan komputasi tunggal yang hanya menggunakan satu CPU saja. 

Pada materi kali ini akan membahas :

  1. Parallelism Concept
  2. Distributed Processing
  3. Architectural Parallel Computer
  4. Pengantar Thread Programming
  5. Pengantar Message Passing, dan OpenMP
  6. Pengantar Pemrograman CUDA GPU








Download PDF



Friday, January 26, 2018

Konfigurasi Firewall CSF (Config Server Firewall) pada OS Linux Ubuntu 16.04


Firewall adalah sistem keamanan jaringan komputer yang digunakan untuk melindungi komputer dari beberapa jenis serangan dari komputer luar.

Config Server Firewall (atau CSF) adalah firewall yang bersifat open source untuk sebagian besar distribusi Linux dan VPS berbasis Linux. Selain fungsionalitas dasar dari paket penyaringan firewall - CSF menyertakan fitur keamanan lainnya, seperti deteksi login / intrusion / flood. CSF menyertakan integrasi UI untuk cPanel, DirectAdmin dan Webmin, namun pada percobaan ini hanya mengunakan command line. CSF mampu mengenali banyak serangan, seperti port scan, SYN floods, dan serangan login brute force pada banyak layanan.



Config Server Firewall (CSF) menawarkan berbagai macam perlindungan untuk VPS.

1. Login authentication failure daemon
CSF memeriksa log untuk usaha login yang gagal pada interval waktu reguler, dan dapat mengenali sebagian besar percobaan login yang gagal untuk mendapatkan akses ke server cloud. Selain itu, kita dapat menentukan file login sendiri dengan pencocokan ekspresi reguler. Hal dapat membantu jika kita memiliki aplikasi yang kemudian ada log gagal masuk, dan akan memblokir pengguna setelah gagal masuk mencapai jumlah yang ditentukan.

2. Process tracking
CSF dapat dikonfigurasi untuk melacak proses untuk mendeteksi proses yang mencurigakan dan mengirim email ke administrator sistem jika terdeteksi.

3. Directory watching
Pantauan direktori akan memantau apabila terdapat script atau folder yang mencurigakan dan akan mengirim email ke administrator sistem saat terdeteksi.

4. Messenger service
Fitur ini memungkinkan CSF mengirim pesan yang lebih informatif ke client saat sebuah pemblokiran diterapkan. Fitur ini memiliki keuntungan dan kerugian. Di satu sisi, memungkinkan untuk memberikan lebih banyak informasi kepada klien. Di sisi lain, memberikan lebih banyak informasi, yang mungkin akan mempermudah penyerang untuk menyerang VPS kita.

5. Flood protection
Pengaturan ini memberikan perlindungan terhadap serangan flood, seperti serangan DDoS. Kita dapat menentukan jumlah koneksi yang diizinkan pada setiap port dalam jangka waktu yang diinginkan.

6. Port knocking
Port knocking memungkinkan client untuk membuat koneksi server tanpa menggunakan port terbuka. Server akan menghubungkan klien ke port utama setelah urutan knock port yang berhasil.

7. Connection limit protection
Fitur ini bisa digunakan untuk membatasi jumlah koneksi yang aktif dari alamat IP pada masing-masing port.

8. Port/IP address redirection
CSF dapat dikonfigurasi untuk mengalihkan koneksi dari IP / port ke IP / port yang lain. Setelah pengalihan, alamat sumber klien akan menjadi alamat IP server.

9. UI integration
CSF juga menawarkan integrasi UI untuk cPanel dan Webmin selain interface dari command line.

10. IP block list
Fitur ini memungkinkan CSF mendownload daftar alamat IP yang diblokir secara otomatis.



Cara menginstall Config Server Firewall (CSF)

1. Download CSF

CSF merupakan aplikasi pihak ketiga yang tidak akan ada pada saat penginstallan system operasi linux Ubuntu, sehingga dibutuhkan untuk mendownload agar dapat menggunakan CSF ini. CSF dapat didownload dari website ConfigServer dengan melalui console terminal, download CSF dapat dilakukan dengan memasukkan perintah ke dalam console terminal :

wget http://download.configserver.com/csf.tgz


Kemudian tekan enter, jika berhasil, maka akan muncul pesan pada console terminal seperti di bawah ini.




2. Meng-ekstrak CSF

Hasil download yang dilakukan pada lankah sebelumnya merupakan file .tar dan harus di ekstrak agar dapat di install. Untuk meng-ekstraknya masukkan perintah pada console terminal :

tar -xzf csf.tgz


Kemudian tekan enter, jika berhasil, maka akan muncul pesan pada console terminal seperti di bawah ini.



3. Install CSF


Untuk menginstall CSF, sebelumnya harus masuk ke dalam direktori csf dengan perintah :

cd csf

setelah itu masukkan perintah pada console terminal :


sh install.sh


Kemudian tekan enter, jika berhasil, maka akan muncul pesan yang menandakan install berhasil pada console terminal seperti di bawah ini.



4. Pengecekan Module

Ini adalah langkah opsional yang dapat dilakukan untuk mengecek apakah seluruh module telah terinstall dengan baik. Pengecekan dapat dilakukan dengan memasukkan perintah ke dalam console terminal :

perl /usr/local/csf/bin/csftest.pl


Kemudian tekan enter, jika berhasil, maka akan muncul pesan yang menandakan bahwa seluruh module telah OK terinstall pada console terminal seperti di bawah ini.



5. Konfigurasi CSF

CSF dapat dikonfigurasi melalui script yang dapat diakses dengan memasukkan perintah :

nano /etc/csf/csf.conf


Tekan enter, maka pada awal akan muncul seperti tampilan di bawah ini.



6. Konfigurasi Port


Semakin sedikit akses yang ada pada VPS, maka akan semakin aman server. Namun, tidak semua port bisa ditutup karena client harus bisa menggunakan layanan server. Konfigurasi port pertama kali akan terlihat seperti ini.

TCP_IN      = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT  = "20,21,22,25,53,80,110,113,443"
UDP_IN     = "20,21,53"
UDP_OUT = "20,21,53,113,123"


Layanan open ports :
  •         Port 20: FTP data transfer
  •         Port 21: FTP control
  •          Port 22: Secure shell (SSH)
  •          Port 25: Simple mail transfer protocol (SMTP)
  •          Port 53: Domain name system (DNS)
  •          Port 80: Hypertext transfer protocol (HTTP)
  •          Port 110: Post office protocol v3 (POP3)
  •          Port 113: Authentication service/identification protocol
  •          Port 123: Network time protocol (NTP)
  •          Port 143: Internet message access protocol (IMAP)
  •          Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS)
  •          Port 465: URL Rendesvous Directory for SSM (Cisco)
  •          Port 587: E-mail message submission (SMTP)
  •          Port 993: Internet message access protocol over SSL (IMAPS)
  •          Port 995: Post office protocol 3 over TLS/SSL (POP3S)

Kita dapat menggunakan port mana saja yang dibutuhkan, sehingga kita dapat mematikan port-port yang tidak digunakan.


Berikut ini adalah konfigurasi port yang harus digunakan ketika ingin memakai server :

a. Server apa saja
  • TCP_IN: 22,53
  • TCP_OUT: 22,53,80,113,443
  • UPD_IN: 53
  • UPD_OUT: 53,113,123

b. Apache
  • TCP_IN: 80,443
  • FTP server
  • TCP_IN: 20,21
  • TCP_OUT: 20,21
  • UPD_IN: 20,21
  • UPD_OUT:20,21

c. Mail server
  • TCP_IN: 25,110,143,587,993,995
  • TCP_OUT: 25,110

d. MySQL server (membutuhkan izin akses)
  • TCP_IN: 3306
  • TCP_OUT: 3306



Jika kita mengunakan IPv6, maka kita juga harus melakukan konfigurasi yang sama pada TCP6_IN, TCP6_OUT, UPD6_IN, and UPD6_OUT.

Setelah melakukan konfigurasi port, maka simpan dengan menekan Ctrl+O untuk menyimpan konfigurasi dan tekan Ctrl+Z untuk keluar dari editor. Terapkan konfigurasi yang telah disimpan dengan memasukkan perintah pada console terminal :


csf –r




Jika semua telah berjalan baik dan dapat mengakses server, maka langkah selanjutnya mematikan testing dengan masuk ke dalam editor dengan memasukkan perintah :

nano /etc/csf/csf.conf


Ubah konfigurasi TESTING yang terdapat pada awal file dengan 0 seperti di bawah ini.
















Simpan file tersebut, dan lakukan penerapan sekali lagi dengan perintah


csf -r

7. Blokir IP


Jika ingin memblokir suatu IP, masuk ke dalam file deny dengan perintah :


nano /etc/csf/csf.deny





Maka akan terlihat tampilan awal seperti di bawah ini.





























Lakukan pemblokiran dengan memasukkan IP Address dan range jika ada, seperti contoh di bawah ini melakukan pemblokiran dua buah IP





























8. Pengizinan IP (Allow IP)

Jika ingin mengizinkan suatu IP, masuk ke dalam file allow dengan perintah :

nano /etc/csf/csf.allow





Maka akan terlihat tampilan awal seperti di bawah ini.





























Lakukan pengizinan dengan memasukkan IP Address dan range jika ada, seperti contoh di bawah ini melakukan pemblokiran sebuah IP.





















9. Ignoring IP

CSF juga memiliki kemampuan untuk mengecualikan alamat IP dari filter firewall. Alamat IP di csf.ignore akan melewati filter firewall, dan hanya dapat diblokir jika tercantum dalam file csf.deny.
Untuk masuk ke dalam file ignore, masukkan perintah ke dalam console terminal :

nano /etc/csf/csf.ignore




Tekan enter, maka akan terlihat tampilan awal seperti di bawah ini.






























IP Address dari computer kita akan langsung tercantum dalam daftar IP ignore.



Kesimpulan :


Firewall merupakan filter yang dapat mencegah apabila terdapat akses yang tidak diinginkan. Pada firewall yang menggunakan CSF, dapat melakukan pencegahan dengan menggunakan allow, deny, maupun ignore terhadap IP Address yang ingin melakukan akses ke dalam network. 


Thursday, December 7, 2017

Tahap Instalasi DNS Server pada Kali Linux

DNS (Domain Name Server) adalah server yang digunakan untuk mengetahui IP Address suatu host (bentuk numeric IP Address) lewat host name (alphabet) atau sebaliknya. Dalam dunia internet, komputer berkomunikasi satu sama lain dengan mengenali IP Address-nya, namun pada umumnya orang tidak akan mudah untuk mengingat alamat IP dalam bentuk numerik tersebut. Karena itu di beri name host berupa alphabet agar dapat mudah di ingat.

Pada instaltasi DNS server, kita akan menggunakan Bind (Barkeley Internet Name Domain) versi 9 atau biasa disebut Bind9. Bind9 adalah aplikasi linux yang digunakan untuk mengkonfigurasi DNS server dan cukup mudah digunakan untuk orang pemula.


Langkah-langkah instalasi DNS Server:


  • Install Bind9
Menginstall Bind9 dapat dilakukan dengan cara membuka terminal, kemudian masukkan perintah pada terminal

sudo apt-get install bind9

Apabila terdapat memimlih untuk menginstall, maka masukkan “Y” dan lanjutkan dengan enter.



Jika berhasil, maka akan mengeluarkan hasil seperti gambar di atas.

  • Membuat zone domain
Langkah selanjutnya akan menentukan nama untuk domain server Kali Linux. Kita dapat menggunakan zone domain meggunakan TLD (Top Level Domain) hanya pada jaringan lokal (Tanpa Jaringan Internet).

Edit file named.conf dengan memasukkan perintah nano /etc/bind/named.conf



Selanjutnya akan menampilkan editor seperti di bawah ini




Langkah selanjutnya adalah menambahkan script seperti di bawah ini




Pada zone pertama menentukan nama host dan file yang dipakai. Pada zone kedua memasukkan oktet pertama dari IP Address server dan file yang dipakai.


Lalu simpan dengan menggunakan Ctrl+O, maka akan memunculkan konfirmasi pada bagian bawah kemudian tekan enter. Untuk keluar dari editor dapat melakukan Ctrl+X.





  • Masuk ke folder bind 
Masuk ke folder bind dengan memasukkan perintah cd /etc/bind pada terminal


  • Membuat file database untuk konfigurasi forward dan reverse
Forward berfungsi untuk menerjemahkan nama website ke URL menjadi nama website berbentuk IP Address, dan akan muncul tampilan website tersebut.
Reverse berfungsi untuk menerjemahkan IP Address pada ketika memasukkan pada URL, maka secara otomatis akan berubah menjadi nama website tersebut. Contoh: masukkan IP Address pada URL maka ketika di tekan enter akan secara otomatis akan me-redirect menjadi website tersebut.

Untuk membuat file, masukkan perintah
cp db.local /var/cache/bind/db.adlimfwd dan
cp db.local /var/cache/bind/db.adlimrvs


  • Konfigurasi file forward
Lakukan edit file database forward dengan memasukkan perintah nano /var/cache/bind/db.adlimfwd



Selanjutnya tambahkan script seperti di bawah ini




Simpan dengan cara yang sama seperti sebelumnya.

  • Konfigurasi file reverse
Lakukan edit file database reverse dengan memasukkan perintah nano /var/cache/bind/db.adlimrvs 



Selanjutnya tambahkan script seperti di bawah ini




Simpan dengan cara yang sama seperti sebelumnya.

  • Menambahkan DNS-Name-Server
Agar DNS dapat diakses pada localhost, tambahkan DNS dan Name Server pada file resolv.conf dengan memasukkan perintah pada terminal nano /etc/resolv.conf



Lalu edit file seperti gambar di bawah 




Simpan dengan cara yang sama seperti sebelumnya.

  • Restart Bind
Langkah selanjutnya adalah merestart daemon Bind9 dengan memasukkan perintah
/etc/init.d/bind9 restart


  • Pengujian
Pengujian dilakukan dengan menggunakan perintah nslookup. Masukkan nslookup 127.0.0.1 dan nslookup andriyan.com


Sunday, November 12, 2017

Website Rank "itemku.com" Menggunakan Alexa




Itemku adalah situs tempat jual beli gold, item, akun, dan voucher online game yang memberikan jaminan keamanan transaksi.

Sering kali para gamers yang sedang ingin mencari sesuatu barang yang bersifat dalam game, tetapi kesulitan untuk menemukan penjual yang terjangkau oleh pembeli. Banyak kejadian kasus di mana lokasi pembeli dan penjual berbeda serta berjarak yang jauh, yang akan membuat transaksi dilakukan dengan cara mengirim uang dan barang tanpa melakukan tatap muka terlebih dahulu. Transaksi secara langsung tersebut lebih beresiko terjadinya penipuan yang membuat kerugian pada satu pihak, akan tetapi dengan itemku.com akan memudahkan penjual dan pembeli melakukan transaksi dengan lebih aman. Website itemku menggunakan teknologi itemku Safe Trading, yang memungkinkan itemku untuk memonitor semua transaksi dan melakukan pengecekan atas setiap pembayaran maupun pengiriman produk dari penjual maupun pembeli. [itemku.com]



Berdasarkan statistik traffic yang disediakan oleh Alexa, peringkat website itemku yang merupakan salah satu website e-commerce ini mendapatkan peringkat ke 1391 di Indonesia, dan mendapatkan peringkat 80136 di peringkat global.

Pada grafik statistik bulan Januari 2017 sampai dengan Oktober 2017, dapat dilihat bahwa website itemku.com mengalami penurunan peringkat yang signifikan dari bulan Januari 2017 sampai awal Februari 2017. Selanjutnya peringkat sampai bulan Juni 2017 dapat dikatakan stabil hingga pada bulan Juni 2017 mulai mengalami penurunan peringkat sampai bulan Juli 2017 dan terus menurun perlahan sampai dengan bulan pertengahan September 2017. Pada pertengahan September 2017 peringkat sudah mulai naik kembali dan turun sebesar 8609 hingga peringkat saat ini adalah 80136.




Statistik yang diberikan oleh Alexa juga termasuk persentasi dari mana saja jumlah kunjungan berasal terbanyak berdasarkan letak geografisnya.




Terlihat pada gambar di atas, sebanyak 82.2% visitor mengakses website itemku.com berasal dari region Indonesia, dan sisanya tersebar di Singapore dan Hongkong. Sisa persentasi yang tidak muncul merupakan asal dari Negara-negara lain yang memiliki hitungan persentasi yang kecil, dan pengguna yang menggunakan vpn/proxy untuk mengunjunginya.






Rata-rata visitor website itemku.com berada pada website tersebut adalah selama 11:41 (sebelas menit, empat puluh satu detik). Selanjutnya rata-rata jumlah halaman (page) yang dikunjungi per visitor adalah sebesar 8,22 halaman (page). Lalu rata-rata dari jumlah visitor yang berada pada satu halaman adalah sebesar 15,60%.


Grafik di atas adalah data dari visitor yang datang dengan menggunakan mesin pencari (search engine). Visitor yang dating menggunakan mesin pencari (search engine) sebesar 20,2% dari total visitor dari bulan Januari 2017 sampai November 2017 ini.



Urutan peringkat di atas adalah peringkat 5 terbesar dari keywords yang digunakan oleh visitor untuk mengunjungi website itemku.com




Urutan peringkat di atas adalah 5 peringkat terbesar dari nama website yang di kunjungi oleh visitor sebelum mengunjungi website itemku.com



Urutan peringkat di atas adalah 5 peringkat terbesar yang sering muncul dari 43 total website yang menjadi sponsor iklan yang merupakan salah satu sumber pendapatan dari pengolah website itemku.com



Urutan di atas adalah 5 website dari banyak website yang menjadi partner kerja sama dari website itemku.com


Berdasarkan data di atas, website itemku.com berhasil di buka (di load) sepenuhnya dengan rata-rata waktu yang cukup cepat yaitu 0,971 detik

Maka dapat disimpulkan bahwa website itemku.com mempunyai pengunjung yang hampir seluruhnya berasal dari Indonesia karena memang diperuntukan untuk region Indonesia. Dengan rata-rata pengunjung mengakses selama sekitar 11 menit serta tipe dari website itu sendiri yang berupa e-commerce untuk barang game, maka dapat di perkirakan kebanyakan pengunjung mengakses untuk memeriksa harga, serta mengecek apakah lapak yang mereka posting mendapat pembeli atau tidak.