Dengan berkembangnya teknologi maka pemikiran tentang pengembangan sistem yg ingin di buat pun semakin namun terbatas dengan pemrosesan data maka di temukan solusi dengan Paralel atau multiprocessor.
Paralel atau multiprocessor adalah sistem yang mempunyai lebih dari satu processor yang dapat berkomunikasi, membagi bus, clock dan juga perangkat memori dan peripheral.
Sistem paralel biasanya di gunakan untuk memperoses data yang besar seperti render film, Untuk sistem perkiraan cuaca dan lain sebagainya
Manfaat dari Paralel Programming ?
1.Untuk mempercepat pemrosesan data yang besar/banyak.
2.Untuk mengembangkan sistem super komputer
Kenapa Kita Harus Menggunakan Paralel Programming ?
Tidak semua aplikasi /sistem harus menggunakan paralel programing . semua tergantung dari tujuan dibuatnya sistem paralel programming di gunakan saat membuat sistem yang besar seperti sistem acounting ,super computer dll.
Berikut adalah contoh dari sistem paralel dalam mencari phi.
Pendeklarasian variable
long num_trials = 0;double awal;double akhir;double waktu;long i;long Ncirc = 0;float pi, x, y;double r = 1.0; // radius of circledouble r2 = r*r;double a;BigDecimal bg;private static Random random =new Random(1);public Paralel() {initComponents();setLocationRelativeTo(this);}
Source pada tombol:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformedtry {// TODO add your handling code here:/* try {awal= System.currentTimeMillis();num_trials=Long.valueOf(jTextField1.getText());for (i = 0; i < num_trials; i++){x=random.nextFloat();y=random.nextFloat();if ((x*x + y*y) <= r2)Ncirc++;pi = (float) (4.0*(((double)Ncirc)/(double)num_trials));bg =new BigDecimal(pi);jTextArea1.append("perulangan"+i+" = "+bg+"\n");}jLabel1.setText(""+num_trials);jLabel2.setText(""+bg);akhir= System.currentTimeMillis();waktu=(akhir-awal)/1000.0;jLabel3.setText(""+waktu);awal=0;akhir=0;Ncirc = 0;pi=0;x=0;y=0;a=0;} catch (ThreadDeath e) {} */treath ts=new treath();Thread tr=new Thread(ts);// tr.setName("hitung");tr.start();tr.sleep(50);} catch (InterruptedException ex) {Logger.getLogger(Paralel.class.getName()).log(Level.SEVERE, null, ex);}}
Source Code Class treath :
Untuk mempermudah kalian yang ingin mempelajari lebih lanjut bisa mendownload projectnya disini
import java.math.BigDecimal;import java.util.Random;/** To change this template, choose Tools | Templates* and open the template in the editor.*//**** @author User*/public class treath implements Runnable{long num_trials = 0;double awal;double akhir;double waktu;long i;long Ncirc = 0;float pi, x, y;double r = 1.0; // radius of circledouble r2 = r*r;double a;BigDecimal bg;private static Random random =new Random(1);public void run(){try {awal= System.currentTimeMillis();num_trials=Long.valueOf(Paralel.jTextField1.getText());for (i = 1; i <= num_trials; i++){x=random.nextFloat();y=random.nextFloat();if ((x*x + y*y) <= r2)Ncirc++;pi = (float) (4.0*(((double)Ncirc)/(double)num_trials));bg =new BigDecimal(pi);//Paralel. jTextArea1.append("perulangan"+i+" = "+bg+"\n");Paralel. jLabel8.setText("4.0 X"+Ncirc+"/"+num_trials+" = "+bg+"\n");Paralel.jLabel1.setText(""+i);Paralel.jLabel2.setText(""+bg);akhir= System.currentTimeMillis();waktu=(akhir-awal)/1000.0;BigDecimal bg=new BigDecimal(waktu);Paralel.jLabel3.setText(""+bg);}Paralel.jLabel12.setText(""+bg);awal=0;akhir=0;Ncirc = 0;pi=0;x=0;y=0;a=0;} catch (ThreadDeath e) {}}}
0 Comments