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

    Thursday, September 19, 2013

    Seri Bahasa C : Variabel dan Ekspresi Aritmatika...(2)

    Contoh kasus : membuat daftar/tabel suhu fahrenheit dan celsius, dengan rumus konversi suhu
    celsius =(5/9)(fahrenheit - 32)
    #include <stdio.h>

    main()
    {
    int fahr, celsius;
    int lower, upper, step;

    lower = 0;
    upper = 300;
    step = 20;

    fahr = lower ;

    while (fahr <= upper) {
        celsius = 5*(fahr-32)/9;
        printf ("%d \t %d \n",fahr, celsius);
        fahr = fahr + step;


          }

    }
    Kompilasi dan Hasil Running

    pada bahasa C, semua variabel harus dideklarasikan sebelum digunakan, biasanya pada awal fungsi sebelum ada statemen yang dieksekusi. Deklarasi variabel memberikan sifat dan daftar variabel, contoh

    int fahr, celsius;
    int lower, upper, step;
    Pada contoh program di atas dapat dilihat bagaimana perintah printf bekerja. Jika yang akan dicetak pertama kali adalah karakter string, tanda % mengindikasikan ada argumen lain yang akan disubstitusi. Misalnya %d menunjukkan tipe integer sehingga statemen

    printf("%d\t%d\n", fahr, celsius);

    menyebabkan nilai dua buah integer fahr dan celsius tercetak dengan sebuah tab (\t) diantaranya

    Wednesday, September 18, 2013

    Seri Pemerograman Parallel dengan C dan MPICH2...(1)

    Kebutuhan akan komputasi performa tinggi dan murah mendorong berkembangnya teknik pemerograman parallel, dimana sebuah pekerjaan komputasi yang besar dapat dikerjakan secara bersama-sama oleh beberapa komputer secara bersama-sama. Parallel programming dapat dilakukan pada jaringan lokal (Cluster Computing) atau melalui jalur internet pada wilayah geografis yang luas (Grid Computing)

    beberapa framework yang populer digunakan pada parallel programming diantaranya :
    • Open MPI
    • Lamp MPI
    • MPICH2
    • PVC
    Pada tulisan ini penulis menggunakan MPICH2 dengan sistem operasi Ubuntu 12.04 LTS.

    Instalasi MPICH2
    apt-get install mpich2


    Perogram 1 : Hello Word

    Tulis perogram berikut untuk melihat apakah MPI bekerja dengan baik untuk membaca jumlah processor pada PC, Perogram ditulis dalam bahasa C dengan penambahan Library MPI.

    simpan dengan nama hello_mpi.c



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

    int main(int argc, char* argv[]) {
        int numberOfProcessors;
        int rank;
        int namelen;
        char processor_name[MPI_MAX_PROCESSOR_NAME];

        MPI_Init(&argc,&argv);
        printf("Hello MPI\r\n");
        MPI_Comm_size(MPI_COMM_WORLD,&numberOfProcessors);
        printf("Jumlah Processor = %d\r\n", numberOfProcessors);

        MPI_Get_processor_name(processor_name, &namelen);
        printf("Nama Processor = %s\r\n",processor_name);

        MPI_Comm_rank (MPI_COMM_WORLD,&rank);
        printf("Proses pada %d\r\n",rank);

        MPI_Finalize();
        return 0;

    }


    Compile dan Running
    cinnamon # mpicc hello_mpi.c -o hello_mpi -Wall
    -Wall dimaksudkan untuk menampilkan semua peringatan dari kompilator






    Semoga bermafaat 



    Monday, August 19, 2013

    Membuat Server Repository Lokal

    Salah satu kendala bagi sebagian pengguna linux  adalah koneksi ke server repository untuk meng-install software yang dibutuhkan pada saat tidak memiliki koneksi internet . Untuk mengatasi kendala itu, para pengguna linux dapat membuat server repository sendiri yang dapat dijalankan pada localhost.

    berikut beberapa kebutuhan yang perlu dipersiapkan :
    1. Web server (Apache / nginx)
    2. DVD repository dalam bentuk iso
    Saya akan mengambil contoh kasus pada laptop yang saya gunakan.
    1. Pada laptop saya terdapat 2 partisi hardisk yaitu partisi untuk system linux (partisi 1) dan partisi yang saya khususkan untuk data (partisi 2).
    2. OS Linux yang saya gunakan adalah Linux Mint 13 (Ubuntu 12.04), dengan jumlah ISO Repository sebanyak 11 buah.
    3. ISO Repository tersebut saya taruh pada partisi 2 Hardisk.
    Langkah 1
    Menambah jumlah mount point 
    Untuk menambah jumlah mount point dapat dilihat pada tulisan sebelumnya : menambah jumlah mount point


    Langkah 2
    Mounting Otomatis partisi 2 dan ISO Repository
    Mengapa partisi 2 pada HD juga perlu di mount secara otomatis? itu karena ISO repository tersimpan pada Partisi 2 HD.

    Mount-ing otomatis dapat dilakukan dengan meng-edit file /etc/fstab. Berikut hasil dari file fstab yang saya edit :


    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    proc            /proc           proc    nodev,noexec,nosuid 0       0
    # / was on /dev/sda1 during installation
    UUID=fb8e928c-f0cd-4795-b502-742a34127888 /               ext4    errors=remount-ro 0       1
    # swap was on /dev/sda6 during installation
    UUID=b5cb35bb-e1fd-4295-83f4-d6c3a44cbcd7 none            swap    sw              0       0

    #partisi 2
    UUID=ea68cf5e-fdae-4d96-9e14-541fd01746af /media/data ext4 defaults,errors=remount-ro 0       1
    #local repo
    /media/data/maverick/ubuntu-12.04-repository-i386-1-contrib.iso /var/www/repo/repo1/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-2-contrib.iso /var/www/repo/repo2/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-3-contrib.iso /var/www/repo/repo3/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-4-contrib.iso /var/www/repo/repo4/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-5-contrib.iso /var/www/repo/repo5/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-6-contrib.iso /var/www/repo/repo6/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-7-contrib.iso /var/www/repo/repo7/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-8-contrib.iso /var/www/repo/repo8/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-9-contrib.iso /var/www/repo/repo9/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-10-contrib.iso /var/www/repo/repo10/ iso9660 loop,ro,auto 0 0
    /media/data/maverick/ubuntu-12.04-repository-i386-11-contrib.iso /var/www/repo/repo11/ iso9660 loop,ro,auto 0 0
    Perhatikan #partisi 2
    Partisi 2 saya mount otomotis pada folder yang  /media/data dengan tipe ext4

    Perhatikan #local repo
    ISO repository di mount otomatis pada web server di /var/www/repo/repo(1 - 11)

     Langkah 3
    Buat file repo_local.lst pada folder /etc/apt, seperti berikut :

    deb http://127.0.0.1/repo/repo1 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo2 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo3 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo4 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo5 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo6 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo7 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo8 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo9 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo10 precise main restricted universe multiverse
    deb http://127.0.0.1/repo/repo11 precise main restricted universe multiverse

    Untuk memudahkan penggantian repository yang digunakan, dapat membuat dua buah file yaitu : repo_local.lst (yang dibuat diawal) dan sourcest.list.bak. penggunaan kedua file tersebut secara bergiliran dapat dilakukan dengan perintah cp


    Monday, May 13, 2013

    Static Routing

    Mata kuliah Jaringan Komputer [JTE Univ.Mataram]


    File latihan PKa

    R3 S 0/0/1 192.168.3.2/24
    R2 S 0/0/1 192.168.3.1/24
    R1 Fa 0/0  192.168.1.1 /24 ; Fa 0/1 192.168.2.1/24


    Console Pass : cisco
    enable Pass :class

    R3>enable
    Password:
    R3#conf
    Configuring from terminal, memory, or network [terminal]?
    Enter configuration commands, one per line.  End with CNTL/Z.

    R3 ke R1

    R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.3.1

    R3#show ip route
    Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
           D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
           N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
           E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
           i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
           * - candidate default, U - per-user static route, o - ODR
           P - periodic downloaded static route

    Gateway of last resort is not set

    S    192.168.1.0/24 [1/0] via 192.168.3.1
    C    192.168.3.0/24 is directly connected, Serial0/0/1

    R1 ke R3


    R1(config)#ip route 192.168.3.0 255.255.255.0 FastEthernet 0/1

    R1#show ip route
    Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
           D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
           N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
           E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
           i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
           * - candidate default, U - per-user static route, o - ODR
           P - periodic downloaded static route

    Gateway of last resort is not set

    C    192.168.1.0/24 is directly connected, FastEthernet0/0
    C    192.168.2.0/24 is directly connected, FastEthernet0/1
    S    192.168.3.0/24 is directly connected, FastEthernet0/1

    R2 to R1

    R2(config)#ip route 192.168.1.0 255.255.255.0 F
    R2(config)#ip route 192.168.1.0 255.255.255.0 FastEthernet 0/0
    R2(config)#end

    tes ping R3 ke PC1(R1) 192.168.1.10
    R3#ping 192.168.1.10

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 192.168.1.10, timeout is 2 seconds:
    ...!!
    Success rate is 40 percent (2/5), round-trip min/avg/max = 7/13/20 ms

    Basic Router Configuration

    Mata Kuliah Jaringan Komputer [JTE Univ.Mataram]


    Tool simulasi yang akan digunakan adalah Packet tracert, beberapa konfigurasi dasar yang akan dilakukan disini adalah :
    • Naming the router 
    • Setting passwords 
    • Configuring interfaces 
    • Configuring a banner 
    • Saving changes on a router 
    • Verifying basic configuration and router operations
    Download file berikut untuk melakukan konigurasi : .pka
    berikut adalah perintah-perintah yang digunakan untuk mengkonfigurasi : TXT

    --------------
        R1
    ---------------
    Router>enable
    Router#conf
    Configuring from terminal, memory, or network [terminal]?
    Enter configuration commands, one per line.  End with CNTL/Z.

    Router(config)#hostname R1

    R1(config)#interface fastEthernet 0/0
    R1(config-if)#ip address 192.168.1.1 255.255.255.0
    R1(config-if)#no shutdown

    R1(config)#interface serial 0/0/0
    R1(config-if)#ip address 192.168.2.1 255.255.255.0
    R1(config-if)#no shutdown

    ##password console,telnet,enable secret
    R1(config)#line console 0
    R1(config-line)#password cisco
    R1(config-line)#login
    R1(config-line)#exit

    R1(config)#line vty 0 4
    R1(config-line)#password cisco
    R1(config-line)#login
    R1(config-line)#exit

    R1(config)#enable secret class

    R1(config)#banner motd #
    Enter TEXT message.  End with the character '#'.
    ***************************************************
    warning !! Unauthorized Acces Prohibited!!
    ***************************************************
    #

    R1#copy running-config startup-config

    Thursday, April 4, 2013

    Menambah Jumlah Mount Point

    Jumlah mount point default pada linux (ubuntu) biasanya adalah delapan buah, bisa di cek dengan
    ls -d /dev/loop*

    Jumlah mount point yang lebih banyak dibutuhkan ketika misalnya ingin membuat sebuah repository lokal menggunakan dvd repo, jika jumlah iso dvd repo lebih dari delapan maka dipastikan ketika melakukan mount yang kesembilan akan gagal.

    Untuk menamnah jumlah mount point :
    • Edit file /etc/default/grub
    • Temukan bagian 
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash "
    GRUB_CMDLINE_LINUX=""

    ubah menjadi
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash max_loop=64 "
    GRUB_CMDLINE_LINUX=""

    64 adalah jumlah mount point yang diinginkan
    • Update grub dengan perintah
    $ update-grub
    • Lakukan reboot dan cek kembali dengan "ls -d /dev/loop* "

    Sunday, January 6, 2013

    seri Bahasa C : Compile bahasa C dengan GCC ...(1)


    Menulis dan meng-compile bahasa C pada sistem operasi Linux tidak persis sama ketika menggunakan IDE yang berjalan pada windows, misalnya dengan borland dll.

    berikut ini gambaran sedikit perbedaan tersebut. Saya membuat program sederhana untuk menghitung nilai sin.

    #include <stdio.h>
    #include <math.h>

    main () {
    float degree, rad, sinus;

    printf ("sinus dari : ");
       scanf ("%f",&degree);

       rad = 0.01745*degree;
       sinus = sin(rad);

    printf ("adalah = %.2f \n",sinus); }

    Dari sisi bahasa tidak ada perbedaan, masalah sering timbul ketika melakukan kompilasi dengan GCC (Gnu C Compiler). Cara yang dilakukan untuk meng-compile dengan GCC adalah :

    gcc -o program program.c

    program sederhana diatas menggunakan library math (file header math.h), maka ketika meng-compile dengan cara biasa maka akan ada kesalahan

     $ gcc -o sinus sinus.c
    /tmp/ccSm1bxV.o: In function `main':
    sinus.c:(.text+0x43): undefined reference to `sin'
    collect2: ld returned 1 exit status

    ini terjadi karena library math belum terhubung, untuk menghubungkannya maka tambahkan opsi -lm pada bagian ahir :

    $ gcc -o sinus sinus.c -lm



    sumber Gambar : http://www.fsf.org/blogs/community/happy-birthday-gcc