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

Seri Bahasa C :"Fungsi" dan Menampilkan Hasil Compile Pada Web Server

'Fungsi' dapat memecah sebuah komputasi yang besar menjadi lebih kecil, dan memungkinkan bagi pengembang untuk membangun apa yang telah dikerjakan pengembang lain tanpa memulai dari awal.

Mendefinisikan fungsi tipe_fungsi nama_fungsi(argumen1, argumen2,…)

program dibentuk ke dalam fungsi agar tidak terbentuk blok-blok program yang sangat panjang dan tidak terbaca, karena tidak bisa tertampung dalam satu screen (layar) atau dalam 1 page (halaman) dan juga untuk memastikan bahwa kita tidak telah mengulangi potongan source code yang sama pada bagian program yang lain.

Berikut Beberapa contoh Penggunaan Fungsi 

Fungsi yang mengembalikan nilai
#include

int mult(int x,int y);

int main()
{ int x,y;

printf("masukkan dua bilangan untuk dikalikan :");
scanf("%d", &x);
scanf("%d", &y);

printf("hasil perkalian dari bilangan tsb adalah :%d\n",mult(x,y));
getchar();
}

int mult (int x, int y)
{
return x*y;
}

output program 
cinnamon FUNCTION # ./function3
masukkan dua bilangan untuk dikalikan :2 10
hasil perkalian dari bilangan tsb adalah :20

Hasil kompilasi yang dijalankan pada Web Server [cgi-bin]


/*****************************************************
compile dan copy-kan hasil compilasi ke cgi-bin 
/usr/lib/cgi-bin
buka di browser http://localhost/cgi-bin/function1?5:5
atau eksekusi di terminal : # ./function1 ?5:5
****************************************************/
#include <stdio.h>
#include <string.h>
#include <math.h>

double doit(int number1, int number2)/*mendefinisikan fungsi*/

{
    return sqrt((double)(number1+number2));
}

int main(int argc,char*argv[],char*env[])
{
    int n1=0, n2=0, i=0;
    n1 = atoi((char*)strtok(argv[1],":"));
    n2 = atoi((char*)strtok(NULL,":"));

    printf ("Content-type:text/html\n\n<html><body>\n");

    for(i=1;i<=100;i++)
    printf("%f",doit(n1+i,n2*i));

    printf("</body></html>\n");

    return 0;
}


Pada contoh di atas fungsi yang dipanggil adalah fungsi doit yang menggunakan dua argumen integer dan mengembalikan hasil dari beberapa perhitungan matematika.

compile dan copy hasil kompile pada directory cgi-bin. selanjutnya pada browser buka http://localhost/cgi-bin/function1?5:5 .


atau dapat juga di buka pada terminal : ./function1 ?5:5


coba tampilkan hasil compile tanpa ?5:5 bagaimana hasilnya??




referensi
The C programming Language, Dennis M. Ritchie (Pencipta bahasa C)
C programming in Linux, David Haskins


Tuesday, October 1, 2013

Sistem Basis Data

Jadwal Kuliah 2016

Selasa jam ke 2 | Ruang F (1 sks)
Rabu   jam ke 7 - 8 | Ruang Studio

Buku referensi
"Modern Databse management",jeffrey A Hoffer PDF
" A First Course In Database System" , Jeffrey D. Ullman  DJVU
"Introduction To Database System", Date CJ PDF

Kelompok Kelas 2016   File rtf

Tugas Kelompok

  1. Menentukan Entitas dan Atribut dari studi kasus yang telah diambil oleh masing-masing kelompok [Presentasi Selasa 11-10-2016 pukul 08.20 - 09.10]
  2. Membuat Model ER-Diagram dari studi kasus masing-masing kelompok [Presentasi Selasa 18-10-2016]


Tugas Perorangan [pagi & sore]
  • tugas 1 pdf
  • tugas 2 txt
  • tugas jumat 23-11-2012 PDF
File Database untuk latihan SQL

Posting yang berkaitan dengan perkuliahan
  • MySQL Workbench. baca
Materi 2016

P1 pdf
P2 pdf
P3 pdf
P4 pdf
P5 pdf
P6 pdf
P7 pdf
P8
P9 pdf
    Materi  2015

    P1 [Lingkungan Basis data]  pdf   |  P1B [Batasan aturan basis data] pdf 
    P2 [database development process] pdf  |  P3 [Pemodelan data]  pdf
    P4 [Enhanced Entity Relationship]  pdf   |  P5 [Model Relational ]   pdf
    P6 [Normalisasi] pdf  |  P7 [Menggunakan SQL]      pdf
    P8 [MenggunakanSQL-2] pdf   |



    Materi  - 2014


    P1 Lingkungan Database PDF | P2 BasisData Relasional  PDF
    P3 ER Diagram PDF | P4 EER Diagram PDF  versi 2 PDF
    P5 Transformasi EER ke Relasi PDF | P6 Normalisasi Tabel PDF
    P7 SQL PDF | P8 Kekangan FK PDF
    P8. Modifying Table PDF 

    Jaringan Komputer

    Tools
    Packet Tracer .exe
    Packet Tracer .bin

    Labs
    Basic Routing PDF pkt 
    Static Routing PDF pkt

    Materi 2016 (New)
    P1 PDF
    P2 PDF
    P3 PDF
    P3B PDF
    P4 PDF
    P5 PDF
    P6 PDF
    P7 PDF
    P8 PDF


    Materi 2015
    P1 - Pengenalan Jaringan PDF
    P2 - Dasar-dasar Jaringan PDF
    P3 - Application Layer  PDF
    P4 - Transport Layer PDF
    P5A -  Net.Fundamental_2 PDF
    P5B - IP Addressing PDF
    P6 - Dynamic Routing PDF
    P7 - EIGRP PDF
    P8 - OSPF PDF
    Static Routing PKT PDF
    RIP   PKT PDF
    EIGRP zip
    Pac.Tracert Basic Routing configuration PKA

    Materi [2014]
    P1 - PDF
    P2 - P3 - PDF
    P4 - Osi Layer PDF
    P5 - Protokol Osi layer - PDF 
    P6-7 - ETH & IP ADD -PDF  
    P8-9 - Routing PDF
    P8-9 - EX: Routing Mikrotik PDF



    Materi [2013]
    P1. Pengenalan Jarkom PDF
    P2. Layer OSI PDF
    P3.LAN dan Subnetting PDF TXT
    Basic Router config Part 1 HTML
    Static Routing HTML 

    Matematika Teknik I

    Buku Referensi : Advanced Engineering Math, erwin kreyzig PDF

    Slide Kuliah :
    Download Advanced Engg. Mathematic ; Erwin Kreyzig PDF
    1. Pers. Differensial PDF
    2. Penyelesaian PDB orde 1; Integrasi langsung & pemisahan var PDF 
    3. Penyelesaian PDB orde 1, bentuk pers Homogen PDF
    4. Penyelesaian PDB orde 1, bentuk pers Linier PDF
    5. Penyelesaian PDB orde 1, bentuk pers Bernoulli PDF
    6. QUIZ PraMid Soal dan Jawaban PDF