Friday, 2 June 2017

Parallel Computing

Tugas 5 Pengantar Komputasi Modern


Pengertian Parallel Computation

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


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


Pengertian Distributed Processing

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


Pengertian Archtectural Parallel Computing

Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 baguan, yaitu :

  • SISD  (Single Instruction, Single Data) adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor.
  • SIMD (Single Instruction, Multiple Data) menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

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

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

Referensi :

Monday, 15 May 2017

Konfigurasi DNS Server Menggunakan Linux BlankOn

Pada postingan kali ini saya akan memberikan beberapa tutorial konfigurasi DNS server pada linux BlankOn. Berikut tutorialnya, selamat membaca.

1. INSTALL BIND sudo su apt-get install bind9 yum install bind9

2. SETTING IP  
·        - pico /etc/network/interfaces
·         -rubah ip                        
auto eth0                        
iface eth0 inet static                        
address 192.168.69.1                        
netmask 255.255.255.0                        
gateway 192.168.69.1
·        - restart servicenya  
·        - /etc/init.d/networking restart
·         -/etc/init.d/networking reload
·        - ifconfig
·         -ping 192.168.69.1

3.DNS SERVER  
·        - pico /etc/resolv.conf                        
domain dani.org                        
nameserver 192.168.69.1                        
search www.dani.org  
·        - cd /etc/bind  
·        - pico named.conf.local                        
zone "dani.org"{                        
type master;                        
file "/etc/bind/db.dani.org";                        
};                                                
zone "69.168.192.in-addr.arpa"{                        
type master;                        
file "/etc/bind/db.69.168.192";                        
};  
·      -   cp db.local db.dani.org  
·       -  pico db.dani.org                        
$TTL    604800                        
@        IN        SOA    dani.org. root.dani.org. (                                                            
2                      ;Serial                                                            
604800                        ;Resfresh                                                            
86400              ;Retry                                                            
2419200                      ;Expire                                                            
604800 )          ;Negative Cache TTL                         ;                        
@        IN        NS       dani.org.                        
@        IN        A          192.168.69.1                        
@        IN        AAAA  ::1                        
www    IN        CNAME          @  
·         -cp db.127 db.69.168.192  
·         -pico db.69.168.192                        
$TTL    604800                        
@        IN        SOA    dani.org. root.dani.org. (                                                            
2                      ;Serial                                                            
604800                        ;Resfresh                                                            
86400              ;Retry                                                            
2419200                      ;Expire                                                            
604800 )          ;Negative Cache TTL                        
;                        
@        IN        NS       dani.org.                        
1          IN        PTR     dani.org.                        
1          IN        PTR     www.dani.org.
·      -   touch db.dani.org  
·      -   touch db.69.168.192  
·       -  chown bind.bind db.dani.org  
·     -    chown bind.bind db.69.168.192  
·     -    chmod 644 db.dani.org  
·      -   chmod 644 db.69.168.192  
·      -   restart servicenya  
·      -   /etc/init.d/bind9 restart  
·      -   /etc/init.d/bind9 reload  
·      -   nslookup 192.168.69.1  
·      -   nslookup www.dani.org
·      -   ping 192.168.69.1
·      -   ping www.dani.org


Pembuatan DNS Server selesai. 

Wednesday, 3 May 2017

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

simpleServer.java

simpleClient.java

Logika:

Pada blok program diatas digunakan sebagai fungsi tampilan output pada server untuk membalas pesan yang diberikan oleh client. Jika client memberikan perintah salam, server akan mengeluarkan output “salam juga”. Jika client memberikan perintah selain salam, server akan membalas “Maaf, saya tidak mengerti”. Lalu program akan menutup setelah selesai.

Output:



Sumber






Pemrograman Jaringan : 4.Latihan NsLookup


Logika:


Sebelumnya pada tugas ketiga yaitu IPtoName yg berfungsi menampilkan nama komputer dari IP yang sudah diketahui, maka di tugas keempat ini merupakan kebalikkan dari tugas ketiga, yaitu untuk menampilkan alamat IP dari nama komputer yang sudah diketahui. Pertama, akan dilakukan pengecekkan apakah user saat melakukan running program telah memasukkan nama host atau belum, jika belum akan menampilkan output perintah untuk melakukan eksekusi yang benar yaitu "Pemakaian: java NsLookup ". Apabila nama host yang dimasukkan tersebut valid akan menampilkan output alamat IP dari komputer tersebut dengan perintah getByName(host). Akan tetapi, jika salah memasukkan nama host maka akan menampilkan output "Unknown host.

Output:



Pemrograman Jaringan : 3.Latihan IPtoName


Logika:


Blok syntax program diatas berfungsi untuk menampilkan nama pengguna komputer dari alamat IP yang sudah diketahui. Pertama, akan dilakukan pengecekkan apakah user saat melakukan running program telah memasukkan alamat IP atau belum, jika belum akan menampilkan output perintah pengeksekusian yang benar yaitu "java IPtoName ". Apabila alamat IP yang dimasukkan tersebut valid akan menampilkan output nama dari komputer tersebut dengan perintah getByName(host). Akan tetapi, jika salah memasukkan alamat IP maka akan menampilkan output "invalid IP - malformed IP".

Output:



Pemrograman Jaringan : 2.Latihan getName


Logika:

Sebelumnya pada tugas 1,Latihan getIP yang berfungsi untuk menampilkan alamat IP komputer, di tugas kedua ini digunakan untuk menampilkan nama host dari pemilik IP komputer tersebut. Pertama, program akan mencari alamat host jaringan yang digunakan dengan perintah getLocalHost(). Alamat tadi akan disimpan pada variabel host. Setelah mengetahui host yang digunakan, maka dilakukan pencetakan output nama komputer yang berada pada nilai variabel host tersebut dengan menggunakan fungsi getHostName().





Pemrograman Jaringan : 1.Latihan Get IP


Logika:


Blok program diatas berfungsi untuk menampilkan alamat IP komputer pengguna. Pertama, program akan mencari alamat host jaringan yang digunakan dengan perintah getLocalHost(). Alamat tadi akan disimpan pada variabel host. Setelah mengetahui host yang digunakan, maka dilakukan pendeklarasian variabel array IP bertipe byte untuk menyimpan alamat IP komputer pengguna yang didapat dengan fungsi getAddress().