Tuesday, October 22, 2013

MySQL Workbench


MySQL Workbench adalah sebuah perangkat lunak terpadu (Unified Software)yang didalamnya terdapat beberapa fungsi untuk merancang dan mengelola BasisData (Database). MySQL mendukung beberapa sistem operasi seperti Windows, Linux dan MAc OS. Selain untuk manajemen data, MySQL W ini juga menyediakan fasilitias untuk pemodelan basis data seperti ER/EER Diagram, fasilitas forward dan reverse Enggineering dll

Apa itu Forward Engginering? yaitu fasilitas untuk mengenerate kode SQL dari sebuah ER/EER diagram sedangkan Reverse Engineering adalah fasilitas untuk mengenerate kode SQL dari database yang sudah ada untuk memperdalam pemahaman tentang database. Tidak hanya forward dan reverse engginering, tetapi perangkat lunak ini juga mampu membangun sebuah model dari kode SQL dan meng-eksport model tersebut ke dalam skript DDL (Data Definition Language)

MySQL Workbench bisa di dowload di web MySQL, kunjungi

bagi yang menggunakan OS Linux (Ubuntu dan fariannya) bisa langsung menginstal dengan apt-get 

$ apt-get install mysql-workbench

Friday, October 4, 2013

Seri Pemerograman Paralel : MPI (Message Passing Interface)

MPI (Message Passing Interface) adalah pustaka antarmuka (library interfce) yang telah distandarisasi untuk penggunaan pemerograman parallel. MPI telah dikembangkan dalam dua periode oleh sebuah forum terbuka dari vendor komputer paralel, meliputi pembuatan pustaka (library) dan pengembangan aplikasi. Periode pertama pada rentang tahun 1993-1994 dan menghasilkan release pertama dari standarisasi MPI, disebut MPI-1. Periode kedua yang menghasilkan MPI-2 telah direlese pada tahun 1997 dan dapat dilihat pada alamat website http://www.mpi-forum.org.

MPI cukup kompleks jika melihat dari sisi jumlah dari pustaka yang dimiliki yaitu lebih dari 150 buah dan masih akan terus bertambah. Pada sisi yang lain, MPI cukup sederhana karena hanya terdapat 6 buah fungsi dasar yaitu : MPI Init, MPI Finalize, MPI Comm rank, MPI Comm size, MPI Sends dan MPI Recv

Identitas Proses

Pada pemerograman paralell dengan multiCPU/computer, sebuah program ditulis untuk dijalankan di atas semua processor yang ada. Proses pertama yang harus dilakukan adalah mencari pada runtime di rank berapakah proses (pada CPU) tsb bekerja dan berapakah jumlah proses (cpu) yang sedang berjalan, kemudian melakukan penyesuaian dengan proses yang lain. pustaka yang digunakan adalah :

MPI_Comm_size(MPI_Comm comm, int *size)
dan
MPI_Comm_rank(MPI_Comm comm, int *rank)

berikut contoh program yang dijalankan

#include <stdio.h>
#include "mpi.h"

main(int argc, char** argv) 
{
   int i, myrank, nprocs;
   double a = 0, b = 1.1, c = 0.90;
   MPI_Init(&argc, &argv);

   MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
   MPI_Comm_size(MPI_COMM_WORLD, &nprocs);

   printf("Hello world! This is process %d out of %d\n",myrank, nprocs);
     
     if (myrank == 0) 
       printf("Some processes are more equal than others.");

MPI_Finalize();
}

Compile dan Jalankan

cinnamon # mpicc hellompi2.c -o hellompi2





Referensi
MIT Lecture : Parallel Programming
Using MPI2 ,William grop, MIT Press

Wednesday, October 2, 2013

Seri Pemerograman Parallel :Parallel Programming dengan BCCD

BCCD (Bootable Cluster CD) adalah berupa live CD yang dibuat untuk tujuan pembelajaran komputasi parallel baik konsep, paradigma dan aplikasi. Salah satu kendala bagi siswa yang ingin mempelajari komputasi parallel adalah terbatasnya sumber daya komputasi yang bisa digunakan. BCCD adalah live CD sehingga dalam penggunaannya tidak perlu menginstal apapun pada PC/komputer yang akan digunakan, pada live cd sudah tersedia beberapa framework dan tools untuk menjalankan komputasi parallel, mislanya :
  • MPICH2
  • LAMP MPI
  • OPEN MPI
  • GCC
  • DHCP Server
  • dll
Cara Penggunaan
  1. Burning ISO ke CD. ISO
  2. Booting dari CD/DVD room
  3. Ikuti intruksi pada screen
  4. Jika menggunakan beberapa komputer maka komputer yang kedua tidak boleh dihidupkan (boot dari CD) secara bersamaam dengan komputer pertama (node pertama)
  5. Program bis ditulis diatas BCCD untuk selanjutnya di compile dan dieksekusi secara parallel
  6. BCCD bisa membaca media storage seperti USB Flashdisk /HD External, jadi program dapat dibuat terlebih dahulu kemudian disimpan pada storage dan dicompile dan dieksekusi secara parallel diatas BCCD