Friday, January 13, 2017

Cara Install Codeblocks + Gcc + OpenGL + Freeglut di linux ubuntu


Hai pecandu linux, kali ini saya akan share cara menginstall codeblocks dan ekstensi library open gl & freeglut. Codeblocks adalah suatu aplikasi compiler program berbasis bahasa c dan c++, tentu apabila kita menggunakan linux wajib menginstall gcc terlebih dahulu.  Opengl adalah suatu librari untuk membuat gambar 2d dengan bahasa c/c++, sedangkan Freeglut adalah suatu librari untuk membuat gambar 3d dengan bahasa c/c++. So, tanpa bertele tele mari kira mencoba menginstallnya, O iya, tutorial ini tested pada chromium ubuntu saya. Than, here we go


Langkah pertama : Cek dan install gcc pada linux anda

Biasanya sih, ketika anda install linux maka tidak terdapat aplikasi gcc, namun cek dulu saja, buka terminal dan masukan
gcc --version
Program anda akan berjalan lancar apabila telah terinstall gcc versi 4.7.1 keatas. Namun apabila belum ada, mari kita install, masukan command berikut di terminal
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install g++ -y

Langkah kedua : Installing codeblocks

buka terminal, dan masukan PPA codeblocks
sudo add-apt-repository ppa:damien-moore/codeblocks-stable
update dan install codeblocks
sudo apt-get update && sudo apt-get install codeblocks -y
sebetulnya ada cara lebih mudah, anda buka ubuntu software center atau synaptic package manager, search codeblocks, tandai dan install

Langkah ketiga : configurasi codeblocks dan gcc

  • Buka codeblocks anda melalui launcher
  • Select setting -> compiler
  • Select compiler flag dan check flag pada Enable All Compiler Warnings dan Have g++ Follow the C++11 ISO C++ Language Standard
  •  Select toolchain executables tab dan arahkan compiler's instalation directory ke tempat anda menginstall g++, biasanya default install di /usr dan lengkapi seperti pada gambar
  • Done, coba buat codingan c pada codeblocks, dan compile.
  • apabila masih error maka anda harus menginstall
  • sudo apt-get install build-essential

 

Langkah keempat : Installing library opengl dan freeglut

  • Install library opengl, buka terminal dan masukan
    sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
  • Install library freeglut, buka terminal dan masukan
    sudo apt-get install freeglut3 freeglut3-dev

Langkah kelima : Configurasi codeblocks dengan library openGL dan freeglut

  • buka codeblocks
  • select setting ->compiler
  • select linker settings
  • add link libraries : GL, GLEW, SDL2, GLU, glut. jangan typo ya, huruf besar kecil mempengaruhi.
  • Done, codeblocks anda telah terkonfigurasi dengan openGL dan freeglut.

Langkah keenam : mari kita coba membuat program gambar 2d dan 3d.

contoh program menggambar segitiga gasket 2d

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdlib.h>

void myinit()
{
glClearColor(1.0, 1.0, 1.0, 1.0);
glColor3f(1.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 50.0, 0.0, 50.0);
glMatrixMode(GL_MODELVIEW);
}

void display()
{
GLfloat vertices[3][2]={{0.0,0.0},{25.0,50.0},{50.0,0.0}};
int j, k;
int rand();
GLfloat p[2]={7.5, 5.0};
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
for(k=0;k<50000 br="" k=""> {
j=rand()%3;
p[0]=(p[0]+vertices[j][0])/2.0;
p[1]=(p[1]+vertices[j][1])/2.0;
glVertex2fv(p);
}
glEnd();
glFlush();
}

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE |GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(0,0);
glutCreateWindow("Sierpinski Gasket 2D");
glutDisplayFunc(display);
myinit();
glutMainLoop();
return 0;
}


compile dan apakah muncul gambar seperti dibawah ini?


Contoh program menggambar sistem galaxi 3d dan bisa digerakan dengan menekan tombol space

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

const float deg2rad=3.1415/180;

void draw(void);
void drawcircle (float radius);
void myKeyboard(unsigned char key, int x, int y);

float marsx=0, marsy=0.85;
int sudutmars=90;

int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(640,480);
glutInitWindowPosition(100, 100);
glutCreateWindow("System Galaxy");
glutDisplayFunc(draw);
glEnable(GL_LIGHTING); // enable the light source
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST); // for hidden surface removal
glEnable(GL_NORMALIZE); // normalize vectors for proper shading
glClearColor(1.0f, 1.0f, 1.0f,0.0f); // background is light gray
glViewport(0, 0, 640, 480);
glutKeyboardFunc(myKeyboard);
glutMainLoop();
return 0;
}

void draw(void)
{
// set the light source properties
GLfloat lightIntensity[]={0.7f, 0.7f, 0.7f, 1.0f};
GLfloat light_position[]={2.0f, 6.0f, 3.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightIntensity);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_FALSE);
// set the camera
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double winHt=1.0; // half-height of the window
//glOrtho(-winHt*64/48.0, winHt*64/48.0, -winHt, winHt, 0.1, 100.0);
glOrtho(-1.0, 1.0, -1.0, 1.0, 0.1, 100.0);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(2.3, 1.3, 2, 0, 0.25, 0, 0.0, 1.0, 0.0);
// start drawing
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear the screen
// set properties of the surface material of sun
GLfloat mat_ambient[]={1.0f, 0.0f, 0.0f, 1.0f}; // gray
GLfloat mat_diffuse[]={1.0f, 0.0f, 0.0f, 1.0f};
GLfloat mat_specular[]={0.9f, 0.0f, 0.0f, 1.0f};
GLfloat mat_shininess[]={1000.0f};
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
//menggambar matahari
glutSolidSphere(0.125, 20, 20); //(radius, slices, stack)
//menggambar lintasan merkurius
drawcircle (0.85);

GLfloat mer_ambient[]={0.0f, 1.0f, 0.0f, 1.0f}; // gray
GLfloat mer_diffuse[]={0.0f, 1.0f, 0.0f, 1.0f};
GLfloat mer_specular[]={0.0f, 1.0f, 0.0f, 1.0f};
GLfloat mer_shininess[]={100.0f};
glMaterialfv(GL_FRONT, GL_AMBIENT, mer_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mer_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mer_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mer_shininess);

glPushMatrix();
glTranslated(marsx, marsy, 0);
//menggambar mars
glutSolidSphere(0.07, 15, 15);
//menggambar lintasan mars
drawcircle (0.18);

GLfloat sat_ambient[]={0.0f, 0.0f, 1.0f, 1.0f}; // gray
GLfloat sat_diffuse[]={0.0f, 0.0f, 1.0f, 1.0f};
GLfloat sat_specular[]={0.0f, 0.0f, 1.0f, 1.0f};
GLfloat sat_shininess[]={100.0f};
glMaterialfv(GL_FRONT, GL_AMBIENT, sat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, sat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, sat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, sat_shininess);

glTranslated(0, 0.18, 0);
//menggambar satelit mars
glutSolidSphere(0.03, 15, 15);
glPopMatrix();

glFlush();
}

void drawcircle (float radius)
{
glColor3f (0.0,0.0,1.0);
glBegin(GL_LINE_LOOP);
int i;
for (i==0; i<360 br="" i=""> {
float degInRad=i* deg2rad;
glVertex2f(cos(degInRad)*radius,sin(degInRad)*radius ) ;
}
glEnd();
}

void myKeyboard(unsigned char key, int x, int y)
{
if (key==32)
{
sudutmars=sudutmars+5;
float degInRad=sudutmars* deg2rad;
marsx=cos(degInRad)*0.85;
marsy=sin(degInRad)*0.85;
}
glutPostRedisplay ();
}
apakah muncul gambar seperti dibawah ini?

Well, selamat codeblocks anda sudah terinstall secara sempurna begitupun dengan library gcc, openGL dan freeglut. Happy Coding!

sumber :
install codeblock : www.dummies.com
library openGL : en.wikibooks.org
library freeglut : kiwwito.com
code 2d dan 3d : Mata Kuliah Grafika Komputer oleh ibu Wijayanti.

Tuesday, January 10, 2017

Cara Install uTorrent Server di linux



Di postingan kali ini saya akan membagikan tips install utorrent di linux. Tentu bagi user linux seperti saya merasa sedikit sebal karena aplikasi pada linux tidak sebanyak dan selengkap di ubuntu. Namun lambat laun, karena sering browsing masuk masuk forum ternyata banyak aplikasi di windows yang sudah ada di linux, salah satu nya uTorrent. ah akhirnya bisa download torrent di linux. Perbedaan uTorrent di linux dengan yang di windows adalah bentuk aplikasi uTorrent di linux adalah webserver dengan port 8080, namun tidak aplikasi ini tidak nebeng webserver favorit kalian(apache, nginx, dll). Tutorial kali ini sudah saya tes di Chromium Ubuntu (CUB) dan ubuntu 16.04, here we go :

Langkah Pertama : Download package uTorrent dari sini




Download sesuai os anda, uTorrent server ubuntu 13.04 work di ubuntu 14.04 - 16.04, tenang aja, coba dulu. Jangan lupa pilih bit sesuai os anda ya.

Langkah Kedua : Extract package uTorrent

Buka Terminal (ctrl + alt + t) dan pindah ke direktori downloads
cd ~/Downloads/
Extract package uTorrent ke folder /opt
sudo tar -xvzf utserver.tar.gz -C /opt/


Langkah Ketiga : Set permission folder hasil extract package

sudo chmod -R 755 /opt/utorrent-server-alpha-v3_3/


Langkah Keempat : Buat link simbol

sudo ln -s /opt/utorrent-server-alpha-v3_3/utserver /usr/bin/utserver


Langkah Kelima : Jalankan uTorrent

untuk mempermudah pemakain, buat sebuah file
sudo nano utorrent.sh
dan isikan
utserver -settingspath /opt/utorrent-server-alpha-v3_3/
exit dan jalankan dari terminal
sudo bash utorrent.sh

catatan : Apabila terdapat error tentang libssl.so package missing, maka buka terminal dan masukkan command line
sudo apt-get install libssl0.9.8:i386
dan coba jalankan kembali



Langkah keenam : Login aplikasi


Buka browser anda dan masukkan url :
localhost:8080/gui
Username : admin dan password kosongkan saja



Voila, uTorrent sudah terinstall di linux mu, happy torrent-ing ~

sumber : www.sysads.co.uk

Saturday, January 7, 2017

Wifi asus tidak nyala di linux (SOLVED!)

Di postingan kali ini saya akan menjelaskan bagaimana memperbaiki wifi asus yang error / tidak hidup pada sistem operasi linux. Tentunya setelah kita menginstall linux di laptop, hal yang pertama dilakukan adalah update & upgrade os, namun apabila wifi error, tentu menyebalkan kan?. Cara berikut ini telah saya coba dan berhasil di sistem operasi Chromium Ubuntu dan Ubuntu 16.04. Here we go :

1. Pastikan Driver telah terpasang

Buka terminal ( ctrl + alt + t) dan ketik command di bawah ini dan tekan enter :

lspci -nnk | grep -A2 0280

Lihat pada baris terakhir apakah terdapat tulisan "Kernel driver in use:" dan apakah terdapat nama modul ? (ex : "kernel driver in use : ath9k")



2. Cek apakah driver telah di load dan  driver "asus_nb_wmi" telah digunakan :

lsmod | grep -e ath9k -e asus

ganti "ath9k" dengan driver yang digunakan untuk kartu wifi anda. Apakah anda dapat melihat driver untuk kartu wireless laptop anda, dan "asus_nb_wmi" di baris paling atas?

3. Cek status wifi (Hard Blocked / Soft Blocked)

command:
rfkill list all

lihat status dari interface "phy0". Apakah menunjukan "Hard Blocked: yes " ?


4. Coba suspend laptop anda, setelah mati coba nyalakan kembali, apakah wifi anda kini telah hidup?

jika jawaban dari ke-4 pertanyaan diatas adalah "iya" (pengecualian pada no4, hanya terjadi di beberapa laptop), maka terdapat bug pada sistem operasi anda.

eits tenang...

silahkan buka terminal (ctrl + alt + t)  dan ketikan command berikut (copas aja) :

echo "options asus_nb_wmi wapf=4" | sudo tee /etc/modprobe.d/asus_nb_wmi.conf

command ini akan membuat file "asus_nb_wmi.conf" pada direktori "/etc/modprobe.d/" yang akan me-load driver "asus_nb_wmi" dengan parameter "wapf = 4".

coba restart laptop anda?

Apakah sukses? semoga sukses!


CleanUp

jika cara diatas tidak berhasil dan anda ingin mengembalikan ke kondisi semula, hapus lah file yang kita buat tadi
sudo rm /etc/modprobe.d/asus_nb_wmi.conf

Cukup mudah kan? sekian tutorial kali ini, semoga bermanfaat.