Sunday, 30 October 2016

Algoritma Pembuat Lingkaran

Untuk membuat Algoritma Pembuat lingkaran dalam pemrogaman bahasa C dibutuhkan langkah-langkah sebagai berikut ini ;

1.Tentukan titik tengah dan jari-jari
   xc , yc , R
2. Tentukan nilai pengubahan posisi
    P = I - R;
    x = 0;
    y = R = 4
3. Perulangan
    xc = y
    P Selanjutnya = P + (2 * x) + 1 jika P < 0
    P Selanjutnya = P + (2 * (x - y)) + 1
4. Translasi dan Pencerminan
    (xc + x ,yc + y )
    (xc - x ,yc + y )
    (xc + x ,yc - y )
    (xc - x ,yc - y )
    (xc + y ,yc + x )
    (xc - y ,yc + x )
    (xc + y ,yc - x )
    (xc - y ,yc - x )

          Berdasarkan rumus di atas maka dapat diimplementasikan dalam suatu bentuk program, disini pembuatan codingnya menggunakan Microsoft Visual Studio dengan bahasa C
Berikut Contoh Source codenya beserta penjelasannya ;
// Algoritma pembuat lingkaran

#include <GL\freeglut.h>
#include <GL\glut.h>
#include <iostream>

using namespace std;

//identifier fungsi
void init();
void display(void);
void lingkaran(void);

//  posisi window di layar
int window_x;
int window_y;

//  ukuran window
int window_width = 480;
int window_height = 480;

//  judul window
char *judul_window = "Algoritma Pembuat Lingkaran";

void main(int argc, char **argv)
{
//  inisialisasi GLUT (OpenGL Utility Toolkit)
glutInit(&argc, argv);
// set posisi window supaya berada di tengah
window_x = (glutGet(GLUT_SCREEN_WIDTH) - window_width) / 2;
window_y = (glutGet(GLUT_SCREEN_HEIGHT) - window_height) / 2;
glutInitWindowSize(window_width, window_height); //set ukuran window
glutInitWindowPosition(window_x, window_y); //set posisi window

glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE); // set display RGB dan double buffer
glutCreateWindow(judul_window);

init(); // jalankan fungsi init
glutDisplayFunc(display); // set fungsi display
glutMainLoop(); // set loop pemrosesan GLUT
}

void init()
{
glClearColor(0.0, 0.0, 0.0, 0.0); //set warna background
glColor3f(255.255, 240.240, 0.0); //set warna titik
glPointSize(3.0); //set ukuran titik
glMatrixMode(GL_PROJECTION); //set mode matriks yang digunakan
glLoadIdentity(); // load matriks identitas
gluOrtho2D(0.0, 600.0, 0.0, 600.0); // set ukuran viewing window
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //clear color
lingkaran(); //jalankan fungsi lingkaran
glutSwapBuffers(); //swap buffer
}

void lingkaran(void) {
//tentukan titik pusat dan jari-jari
int xc,yc,r;
r = 150;
xc = 300;
yc = 300;

//hitung p awal dan set nilai awal untuk x dan y
int p = 1-r;
int x = 0;
int y = r;

glBegin(GL_POINTS);

//perulangan untuk menggambar titik
while (x <= y) {
x++; //tambah nilai x
if (p < 0) {
p += 2 * x + 1; //hitung p selanjutnya jika p < 0
}
else {
y--; //kurangi nilai y
p += 2 * (x - y) + 1; //hitung p selanjutnya jika p > 0 atau p = 0
}

// translasi terhadap titik pusat dan cerminkan
glVertex2i(xc + x, yc + y);
glVertex2i(xc - x, yc + y);
glVertex2i(xc + x, yc - y);
glVertex2i(xc - x, yc - y);
glVertex2i(xc + y, yc + x);
glVertex2i(xc - y, yc + x);
glVertex2i(xc + y, yc - x);
glVertex2i(xc - y, yc - x);
}

glEnd();
glFlush();
}

Hasil Running Program :


Algoritma Bresenham (Komputer Grafik)

Apa itu Algoritma Bresenham ?

       Algoritma garis Bresenhem adalah algoritma konversi penambahan nilai integer.Langkah-langkah untuk membentuk garis menurut algoritma ini adalah :

1. Tentukan Titik Awal dan Akhir ;
    Titik Awal  (x1 , y1)
    Titik Akhir (x2 , y2)

2. Nilai Pengubahan posisi (P)
    P Awal = (2 * Dy) - Dx
    a. Kondisi 1 : Jika P< 0, Maka x = x + 1,Y tetap P selanjutnya adalah P = P + (2 * Dy)
    b. Kondisi 2 : Jika  P> 0 Maka x = x + 1,Y = Y + 1 P selanjutnya adalah P = P + 2* (Dy - Dx)

        Baiklah,,... Berdasarkan rumus di atas maka dapat diimplementasikan dalam suatu bentuk program, disini pembuatan codingnya menggunakan Microsoft Visual Studio dengan bahasa C
Berikut Contoh Source codenya beserta penjelasannya ;
//Algoritma Bresenham

#include <GL\freeglut.h>
#include <GL\glut.h>
#include <iostream>

using namespace std;

//identifier fungsi
void init();
void display(void);
void bresenham(void);

//  posisi window di layar
int window_x;
int window_y;

//  ukuran window
int window_width = 720;
int window_height = 480;

//  judul window
char *judul_window = "Algoritma Bresenham";

void main(int argc, char **argv)
{
//  inisialisasi GLUT (OpenGL Utility Toolkit)
glutInit(&argc, argv);
// set posisi window supaya berada di tengah
window_x = (glutGet(GLUT_SCREEN_WIDTH) - window_width) / 2;
window_y = (glutGet(GLUT_SCREEN_HEIGHT) - window_height) / 2;
glutInitWindowSize(window_width, window_height); //set ukuran window
glutInitWindowPosition(window_x, window_y); //set posisi window

glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE); // set display RGB dan double buffer
glutCreateWindow(judul_window); //set judul window


init(); //jalankan fungsi init
glutDisplayFunc(display); //  set fungsi display
glutMainLoop(); // set loop pemrosesan GLUT
}

void init()
{
glClearColor(0.0, 0.0, 0.0, 0.0); //set warna background
glColor3f(6.0, .0, 6.0); //set warna titik
glPointSize(2.0); //set ukuran titik
glMatrixMode(GL_PROJECTION); //set mode matriks yang digunakan
glLoadIdentity(); // load matriks identitas
gluOrtho2D(0.0, 800.0, 0.0, 600.0); // set ukuran viewing window
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //clear color
bresenham(); //jalankan fungsi bresenham
glutSwapBuffers(); //swap buffer
}

void bresenham(void) {
int x1, y1, x2, y2, x, y, dx, dy, xend, p, duady, duadydx;
//tentukan titik awal dan akhir
x1 = 10;
y1 = 10;
x2 = 500;
y2 = 400;
x = x1;
y = y1;

//hitung dx dan dy
dx = abs(x2 - x1);
dy = abs(y2 - y1);

//hitung p
p = 2 * dy - dx;
duady = 2 * dy;
duadydx = 2 * (dy - dx);

//tentukan titik awal dan akhir
if (x1 > x2) {
x = x2;
y = y2;
xend = x1;
}
else
{
x = x1;
y = y1;
xend = x2;
}

//gambar titik awal
glBegin(GL_POINTS);
glVertex2i(x, y);

//perulangan untuk menggambar titik-titik
while (x < xend) {
x++;
if (p < 0) {
p += duady;
}
else
{
if (y1 > y2) {
y--;
}
else y++;

p += duadydx;
}
glVertex2i(x, y);
}

glEnd();
glFlush();
}

Hasil running programnya ;



Algoritma DDA (Komputer Grafik)

Apa itu Algoritma DDA ?

        Algoritma DDA (Digital Differential Analyzer) adalah algoritma pembentukan garis berdasarkan perhitungan Dx dan Dy,yaitu pembuatan garis dengan langkah umum sebagai berikut ;

1. Tentukan Titik Awal dan Akhir
    Titik Awal    (x1,y1)
    Titik Akhir   (x2,y2)

Wednesday, 26 October 2016

Pemrogaman bahasa C

Contoh Soal dan jawaban Pemrograman Bahasa C  

       Hay guys,... kali ini saya akan membagikan contoh suatu kasus persoalan yang dimana anda bisa latihan buat meningkatkan skill atau belajar tentang pemrogaman bahasa C disini saya menggunakan CodeBlocks sebagai perantaranya .ada beberapa contoh soal yang pertama kita disuruh untuk menghitung untung rugi penjualan suatu perusahaan dan ada lagi soal lainnya,Yuk,.. langsung cek saja soalnya

Pemrogaman Java

Contoh Program Jasa Pemasangan Iklan menggunakan Java

      Hai guys,... kali ini saya akan membagikan contoh pemrogaman dengan bahasa java disini merupakan projek saya saat praktek uts disini di deskripsikan program berguna sebagai jasa pemasangan iklan cetak yang melayani iklan baris dan iklan display disini hanya menampilkan proses perhitungan serta rincian data yang harus dibayar penyewa jasa serta dokumentasinya,langsung saja kita ke Hasil Program dan Source Codenye ;

Tuesday, 25 October 2016

Belajar Mikrotik

Cara Setting Mikrotik Dasar


Postingan kali ini saya ingin membahas CARA SETTING MIKROTIK DASAR. Sa'at masih SMK dulu sempet belajar2 mikrotik soalnya buat UJIKOM. Dengan postingan ini saya harap dapat membantu para pelajar dan siapa saja yang sedang membutuhkan referensi untuk setting mikrotik dasar. So langsung saja ke topik utama cekidot.
TOPOLOGY







Dalam hal ini Mikrotik sebagai gateway, modem dengan mode bridge, dialing speedy dari mikrotik
IP modem 192.168.1.1/24
Client 192.168.3.x/24 dengan gateway 192.168.3.254
Routerboard yang digunakan disini RB450, tapi tutorial ini juga bisa digunakan untuk RB759, RB750G, RB450G etc
semua setting via GUI-nya winbox, tidak menggunakan terminal console sama sekali

Rekursif

PENGERTIAN REKURSIF (RECURSION)

Rekursif adalah konsep pengulangan yang penting dalam ilmu komputer. Konsep ini dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan loop for, while do. Pada saat tertentu konsep ini dapat digunakan untuk mendefinisikan permasalahan dengan konsisten dan sederhana. Pada saat yang lain, rekursi dapat membantu untuk mengekspresikan algoritma dalam sebuah rumusan yang menjadikan tampilan algoritma tersebut mudah untuk dianalisa.

Rekursif berarti bahwa suatu proses bisa memanggil dirinya sendiri. Menurut definisi dalam Microsoft Bookshelf, Rekursif adalah kemampuan suatu rutin untuk memanggil dirinya sendiri. Dalam Rekursif sebenarnya terkandung pengertian prosedur dan fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan berakhir.

DNS Server

Membangun DNS Server di Debian 5

Dengan Debian 5 berbasis CLI kita dapat membangun DNS Server yang handal. Kenapa? karena Debian merupakan salah satu distro Linux yang memiliki kelebihan seperti :
  • Bebas virus
  • Free
  • Stabil alias tidak mudah down
  • Tidak memerlukan spec komputer yang tinggi karena berbasis CLI (ada pula yang GUI)
Untuk membangun DNS Server di Debian kita memerlukan software BIND. Berikut info yang saya kutip dari http://www.bind9.net/
BIND (Berkeley Internet Name Domain) is an implementation of the DNS protocols and provides an openly redistributable reference implementation of the major components of the Domain Name System, including:
  • Domain Name System server
  • Domain Name System resolver library
  • Tools for managing and verifying the proper operation of the DNS server
Oke, let's start!

BRAIN GATE

Apa itu BraindGate/Brain Computer Interface

1.      Pengenalan BrainGate
                  Apa itu BrainGate/Brain-Computer Interface yaitu sebuah teknologi yang sedang diteliti oleh  tim yang dinamai BrainGate dari Brown University yang rencananya akan mengkolaborasikan antara otak manusia dengan  komputer dengan begitu harapannya para penderita lumpuh bisa menggunakan komputer serta melakukan aktivitas seperti menyalakan tv,lampu,dan lain-lain hanya dengan menggunakan pikirannya dan perlu kita ketahui otak manusia memiliki sel-sel saraf yang berjumlah hampir mendekati angka 10 miliar dan memiliki sekitar 120 triliun sambungan hal-hal ini yang menyebabkan terjadinya hubungan diantara sel-sel dan menghasilkan keselarasan di dalam otak.
          Teknologi BrainGate/Brain-Computer Interface sebenarnya telah diperkenalkan sejak lama yaitu dengan menghubungkan otak pasien ke sebuah komputer.dan pada pasien pertamanya yang bernama Matthew Nagle telah berhasil  menunjukkan bahwa pasien dapat membuka e-mail,mengganti saluran TV,menyalakan lampu,dan memainkan video game hanya dengan memikirkannya saja.
Para peneliti menanamkan alat dibawah tengkorak ,di lapisan kulit luar. Alat tersebut terdiri dari chip komputer berukuran 2 x 2 mm yang berisi 100 elektroda. Para ahli bedah menempelkan susunan elektroda pada saraf di lapisan kulit luar otak Nagle,sedikit di atas telinga kanan. Susunan elektroda diikat dengan seutas benang ke sebuah plug yang menonjol di atas kepala Pasien.Teknologi ini pun juga dilengkapi dengan tangan robot yang fungsinya menerjemahkan sinyal komputer dari chip yang ditanamkan pada otak pasien agar tangan robot itu dapat bergerak sesuai perintah.

Raspberry

Microcontrol Raspberry Pi

Raspberry Pi 
Raspberry Pi adalah modul micro computer yg juga mempunyai  input output digital port seperti  pada board microcontroller.Diantara kelebihan Rasberry Pi dibanding board microcontroller  yg lain yaitu mempunyai Port/koneksi   untuk display berupa TV atau Monitor PC serta koneksi USB untuk  Keyboard serta Mouse (spt tampak pada gambar 2 dan 4 dibawah).  Raspberry Pi dibuat di inggris oleh Raspberry Pi Foundation Pada awalnya Raspberry Pi ditunjukan untuk modul pembelajaran  ilmu komputer disekolah.

·             Raspberry Pi Board
Raspberry Pi board  dibuat dgn 2  type yg berbeda yaitu Raspberry Pi type A dan Raspberry Pi  type B.  Perbedaannya antara lain  pada Ram dan Port LAN. Type A RAM = 256 Mb  dan tanpa port  LAN(ethernet), type B = 512 Mb  dan terpasang port untuk  LAN
 Blok diagram Raspberry Pi


Gambar 1.  blok diagram Raspberry pi

Raspberry Pi board mempunyai  input dan output antara lain :