BLOG PENUH KESENANGAN

Sebuah blog dari seorng mahasiswa labil.

AREK TEKNIK

KUNJUNGAN INDUSTRI FAKULTAS TEKNIK 2013

UNIVERSITAS NEGERI MALANG

Universitas Penuh Kenangan :*

MUSIC

Penggemar Akut Music :3

TEAM O'SHEA

TEAM IAN O'SHEA FOREVER!!!

Wednesday, May 15, 2013

GUIDED TRANSMISSION MEDIA


Pada postingan kali ini saya akan menjelaskan mengenai Guided Transmission Media.
Guided transmission media atau yang biasa disebut media transmisi terpandu merupakan jaringan yang menggunakan sistem kabel., dan dikendalikan sepanjang jalur fisik. Contoh dari unguided media adalah twisted pair cable, coaxial cable dan fiber optic.
·         Twisted pair cable:
Ada dua macam Twisted cable pair, yaitu kabel UTP dan STP.
·         Coaxial cable:
Kabel koaksial adalah kabel yang menggunakan dua buah konduktor. Kabel ini banyak digunakan untuk mentransmisikan sinyal frekuensi tinggi mulai 300 kHz keatas.

·         Fiber optic:
Fiber optic atau serat optik adalah saluran transmisi yang terbuat dari kaca atau plastik yang digunakan untuk mentransmisikan sinyal cahaya dari suatu tempat ke tempat lain.
Berdasarkan mode transmisi yang digunakan serat optik terdiri atas Multimode Step Index, Multimode Graded Index, dan Singlemode Step Index.

UNGUIDED MEDIA TRANSMISSION
Unguided transmission media atau media transmisi tidak terpandu merupakan jaringan yang menggunakan sistem gelombang. Pada unguided media, disediakan alat untuk mentransmisikan data namun tidak mengendalikannya. Contoh dari unguided media transmission adalah Gelombang mikro, satelit, dan inframerah.
·         Gelombang  mikro
Gelombang mikro (microwave) merupakan bentuk gelombang radio yang beroperasi pada frekuensi tinggi (dalam satuan gigahertz), yang meliputi kawasan UHF, SHF dan EHF. Gelombang mikro banyak digunakan pada sistem jaringan MAN, warnet dan penyedia layanan internet (ISP).
·         Satelit
Satelit adalah media transmisi yang fungsi utamanya menerima sinyal dari stasiun bumi dan meneruskannya ke stasiun bumi lain. Satelit yang mengorbit pada ketinggian 36.000 km di atas bumi memiliki angular orbital velocity yang sama dengan orbital velocitybumi. Hal ini menyebabkan posisi satelit akan relatif stasioner terhadap bumi (geostationary), apabila satelit tersebut mengorbit di atas khatulistiwa.   
·         Inframerah
Inframerah biasa digunakan untuk komunikasi jarak dekat, dengan  kecepatan 4 Mbps.  

Thursday, May 2, 2013

Lirik Lagu Souljah - Move On


Lagu yang baru dirilis bulan lalu oleh Souljah kini sudah dapat di download disini. Dan pada postingan kali ini, saya akan membuat post tentang lirik lagi tersebut. Berikut liriknya..


Souljah - Move On
yang dipilih yang dijalani
yang sakiti hatimu
biarkanlah pergi
jika bukan sekarang (jika bukan sekarang)
mungkin terjadi nanti
yang terbaik datang bukan sembarang

hidup yang berputar-putar
sulit sukar kita memang harus sabar
tarik nafas dalam-dalam dalam tangismu
dan tersenyumlah

hari yang indah telah menanti
usap dulu air matamu
kita gak boleh terus di sini
lupakanlah masa lalumu

hari yang indah telah menanti
usap dulu air matamu
kita gak boleh terus di sini
lupakanlah masa lalumu

hidup yang berputar-putar
sulit sukar kita memang harus sabar
tarik nafas dalam-dalam dalam tangismu
dan tersenyumlah~

hari yang indah telah menanti
usap dulu air matamu
kita gak boleh terus di sini
lupakanlah masa lalumu

hari yang indah telah menanti
usap dulu air matamu
kita gak boleh terus di sini
lupakanlah masa lalumu

(heiii...)
(hooo...)
(heiii...)
(hooo...)

kejadian yang dulu pernah slalu kita alami
sering kali membuatmu seakan lupa diri
jalan yang kita tempuh sering kali berbeda
bukan alasan 'tuk menyerah dan putus asa
walaupun aral rintangan panjang dan membentang
banyak orang dihidupmu akan pergi dan datang
derita suatu hari akan menjadi bahagia
jika kau lanjutkan hidupmu dan terus percaya

Move On Move On Move On Move On
Move On Move on with your life!
Move On Move on with your life!

Move On Move On Move On Move On
Move On Move on with your life!
Move On Move on with your life!

Move On Move On Move On Move On
Move On Move on with your life!
Move On Move on with your life!

Move On Move On Move On Move On
Move On Move on with your life!
Move On Move on with your life!

dan pasti masalahmu berlalu
jika kau terus percaya, lanjutkan hidupmu

dan pasti masalahmu berlalu
jika kau terus percaya, lanjutkan hidupmu

dan pasti masalahmu berlalu
jika kau terus percaya, lanjutkan hidupmu

dan pasti masalahmu berlalu
jika kau terus percaya, lanjutkan hidupmu

Move On~
Move On~
dekatlah semua masalahmu
lupakan masa lalumu
sakit pastikan
biar berlalu
dan terus fight! fight! fight! fight! fight!
fight! fight! fight! fight! fight!
Move On Move On Move On
Move On Move On Move On

Wednesday, May 1, 2013

Cara Mencari Luas Lingkatan dan Segitiga dengan Visual Basic


Disini saya mendapatkan tugas dari asisten praktikum visual basic saya, berikut       
 soalnya:
            Buat kelas abstrak Shape dengan sebuah method abstrak bernama GetArea(). Definisikan juga dua subkelas dari Shape dengan nama Rectangle dan Circle. Gunakan rumus penghitungan luas untuk mengimplementasikan method GetArea().
Code:
Public Class circle
    Inherits shape
    Dim radius As Double
    Const phi = 3.14
    Sub New(ByVal r As Decimal)
        radius = r
    End Sub
    Public Overrides Function getArea() As Double
        area = phi * (radius * radius)
        Return area
    End Function
End Class
                                  
Public Class rectangle
    Inherits shape
    Dim panjang As Decimal
    Dim lebar As Decimal
    Sub New(ByVal l As Double, ByVal w As Double)
        panjang = l
        lebar = w
    End Sub
    Public Overrides Function getArea() As Double
        area = panjang * lebar
        Return area
    End Function
End Class

Public MustInherit Class shape
    Protected area As Double
    Public MustOverride Function getArea() As Double
End Class

Public Class Form1
    Function lingkaran(ByVal jari2)
        Dim myCircle As New circle(jari2)
        Dim hasil As Double
        hasil = myCircle.getArea
        Return hasil
    End Function
    Function persegi(ByVal pj, ByVal lb)
        Dim myRectangle As New rectangle(pj, lb)
        Dim hasil As Double
        hasil = myRectangle.getArea
        Return hasil
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox2.Text = CStr(lingkaran(CInt(TextBox1.Text)))
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox5.Text = CStr(persegi(CInt(TextBox3.Text), CInt(TextBox4.Text)))
    End Sub

End Class

Hasil screenn shot:


Metode Biseksi

Pada kesempatan kali ini saya akan beragi ilmu mengenai metode biseksi, setelah sebelumnya saya memposting mengenai integrasi numerik.Metode biseksi digunakan dalam implementasi dari mata kuliah komputasi numerik.
Langsung saja, berikut merupakan source program dari metode biseksi tersebut:

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

float f(float x)
{
float d;
d=(x*x*x)+(4*x*x)-10;
return d;
}
main()
{
float x1,x2,xr,error,tol;
int i=1;
printf("\n\t\t\t\t METODE BISECTION\n");
printf("\t\t\t\t METODE BAGI DUA \n");
printf("\t\t\t\t ****************\n\n");

printf("\t\t\t\t x^3+4x^2-10=0\n\n");
printf("\tMasukkan batas atas persamaan(x1): ");scanf("%f",&x1);
printf("\tMasukkan batas bawah persamaan (x2): ");scanf("%f",&x2);
printf("\tMasukkan nilai toleransi: ");scanf("%f",&tol);
printf("\tTidak ada akar di antara kedua batas persamaan\n");
{
printf("\n \ti \tx1 \tx2 \txr \tf(x1) \tf(x2) \tf(xr) \terror \n");
do
{
xr=(x1+x2)/2;
error=fabs(x2-x1);
printf("\t%d\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\n",i,x1,x2,xr,f(x1),f(x2),f(xr),error);
if(f(x1)*f(x2)<tol)
x2=xr;
else
x1=xr;
i++;
}
while(error>tol);
printf("\n \tnilai xr terakhir : %.3f\n",xr);
printf("\tBanyaknya iterasi : %d \n",i-1);
printf("\n\t\t\t\t\t\t\tTERIMA KASIH");
printf("\n\t\t\t\t\t\t\t*************");
}
getch();
return 0;
}

Integrasi Numerik

Pada kesempatan kali ini saya ingin berbagi ilmu tentang kompeetensi numerik. Disini saya ingin berbagai cara menyelesaikan suatu kasus menggunakan metode integrasi numerik dengan menggunakan program c++. Berikut source codenya:

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

float jumlah_atas(float, float, float);
float jumlah_bawah(float, float, float);
float trapezoida(float, float, float);

float f(float);

int main(){
     float batas_atas;
     float batas_bawah;
     int jumlah_h = 20;

     printf("Masukkan batas atas : ");
     scanf("%f", &batas_atas);
     printf("Masukkan batas bawah : ");
     scanf("%f", &batas_bawah);
     printf("Masukkan jumlah h : ");
     scanf("%d", &jumlah_h);

     printf("Jumlah atas  : %20.18f \n",
     jumlah_atas(batas_bawah, batas_atas, jumlah_h));
     printf("Jumlah bawah : %20.18f \n",
     jumlah_bawah(batas_bawah, batas_atas, jumlah_h));
     printf("Rata-rata    : %20.18f \n\n",
     (jumlah_atas(batas_bawah, batas_atas, jumlah_h) + jumlah_bawah(batas_bawah, batas_atas, jumlah_h)) /2);
     printf("Jumlah trapezoida  : %20.18f \n", trapezoida(batas_bawah, batas_atas, jumlah_h));
}

/*definisi fungsi yang akan dicari nilainya*/
float f(float x){
     return exp(x)*sin(x);
}

/* mencari nilai luas dengan metode jumlah atas */
float jumlah_atas(float bwh, float ats, float jlh){
     float i, luas = 0;
     float node1, node2;
     float y_node1, y_node2, y;
     float lebar_segmen = (ats - bwh) / jlh;
     for(i = bwh; i < ats; i += lebar_segmen){
           node1 = i;
           node2 = i + lebar_segmen;
     y_node1 = f(node1);
     y_node2 = f(node2);
     if(y_node1 < y_node2)
           y = y_node1;
     else
           y = y_node2;

     luas += lebar_segmen * y;
     }
     return luas;
}

/* mencari nilai luas dengan metode jumlah bawah */
float jumlah_bawah(float bwh, float ats, float jlh){
     float i, luas = 0;
     float node1, node2;
     float y_node1, y_node2, y;
     float lebar_segmen = (ats - bwh) / jlh;
     for(i = bwh; i < ats; i += lebar_segmen){
           node1 = i;
           node2 = i + lebar_segmen;
           y_node1 = f(node1);
           y_node2 = f(node2);
           if(y_node1 > y_node2)
                y = y_node1;
           else
                y = y_node2;

           luas += lebar_segmen * y;
     }
     return luas;
}

/* mencari nilai luas dengan metode trapezoidal */
float trapezoida(float bwh, float ats, float jlh){
     int i;
     float luas = 0;
     float lebar_segmen = (ats - bwh) / jlh;
     float node, y;

     luas = 0.5 * lebar_segmen * (f(ats) + f(bwh));
     for(i = 1; i < jlh; i++){
           node = bwh + i * lebar_segmen;
           y = f(node);
           luas += lebar_segmen * y;
     }
     return luas;
   getch();
}

 Dan hasil dari script tersebut adalah:

Sekian ilmu yang dapat saya bagi. Semoga bermanfaat, terima kasih.

Tahapan Kognitif Menurut Taksonomi Bloom


Pada kesempatan kali ini saya akan membahas tentang tahapan kognitif menurut taksonomi bloom. Materi ini merupakan materi mata kuliah Perencanaan Pembelajaran.

TAHAPAN KOGNITIF MENURUT TAKSONOMI BLOOM
           1.       Tahap Pengetahuan (Knowledge)
Tahap Knowledge merupakan tahap pertama dalam Taksonomi Bloom. Pada tahap ini peserta didik dapat mengenali pengertian, definisi, gagasan, atau fakta- fakta dari istilah tertentu.
 Contoh:
                                Dalam matakuliah Algoritma dan Struktur Data, mahasiswa mampu menjelaskan apa pengertian dari fungsi yang ada pada suatu program. Pengertian tersebut berdasarkan pengetahuan dari mahasiswa itu sendiri selama mendapatkan materi, jadi pengertian tersebut didapat dari memori yang telah tersimpan sebelumnya dan diingat kembali saat mendapatkan pertanyaan tentang pengertian dari dungsi tersebut.
2.       Tahap Pemahaman (Comprehension)
Pada tahap yang kedua ini mahasiswa sudah memahami sesuatu seperti sebuah gambaran, diagram, grafik, laporan, peraturan dan lain- lain.
 Contoh:
Dalam matakuliah Algoritma dan struktur data, mahasiswa mampu menjelaskan jalannya program dari suatu flowchart yang telah disajikan. Mahasiswa tersebut mampu memahami maksud dari flowchart tersebut dan mengetahui bagaimana proses jalnnya program dengan melihat flowchart yang ada.
 3.       Aplikasi (Application)
Tahap ini seseorang sudah dapat menerapkan pengertian, metode, rumus, ke aplikasi nyata.
 Contoh:
Pada tahap ini dapat dilihat dari mata kuliah komputasi numerik, mahasiswa dituntut untuk dapat mengaplikasikan suatu rumus tentang integrasi untuk selanjutnya dijalankan dalam sebuah program. Jadi mahasiswa tersebut harus memahami dan mengerti betul tentang rumus integrasi sebelum mengaplikasikannya pada program yang akan dibuatnya.
 4.       Analisis (Analysis)
Pada tahap keempat ini mahasiswa akan mampu menganalisis informasi yang masuk dan membagi-bagi atau menstrukturkan informasi ke dalam bagian yang lebih kecil untuk mengenali pola atau hubungannya, dan mampu mengenali serta membedakan faktor penyebab dan akibat dari sebuah skenario yg rumit
Contoh:
Dalam matakuliah Jaringan komputer Dan Komunikasi Data, tahapan analisis sudah dapat diaplikasikan, yaitu dalam penyelesaian dalam membuat sebuah jaringan Access Point. Pada proses membuat sebuah jaringan tersebut, mahasiswa dituntut agar dapat membuat jaringan Access Point yang paling efisien dan mengandung sedikit resiko. Dalam mebuat sebuah jaringan Access Point mahasiswa dituntut untuk mengetahui fungsi  dari tiap – tiap komponen serta bagaimana cara kerja, kegunaan dan karakteristik tiap komponen  agar dapat membangun jaringan yang paling efisien dan beresiko paling minim.
 5.       Sintesis (Synthesis)
Pada tahap ini seseorang sudah dapat menjabarkan struktur dan informasi yang belum terlihat sehingga menemukan sebuah solusi dari persoalan.
Contoh:
Misalnya dalam mata kuliah Jaringan Komputer dan Komunikasi Data, mahasiswa mendapatkan suatu kasus dimana jaringan yang telah mereka buat mengalami konflik data dan menyebabkan error. Pada tahap ini mahasiswa tersebut mampu menjelaskan asal muasal dari konflik tersebut dan sudah memiliki beberapa solusi untuk memecahkan konflik tersebut.
 6.       Evaluasi (evaluation)
Pada tahap ini mahasiswa  diharuskan memiliki kemampuan untuk memberikan penilaian terhadap solusi, gagasan, metodologi, dsb dengan menggunakan kriteria yang cocok atau standar yg ada untuk memastikan nilai efektivitas atau manfaatnya.
                Contoh:
                Pada matakuliah Jaringan Komputer dan Komunikasi Data sudah mengimplementasikan tahapan ini, dalam suatu materi tentang access poit, mahasiswa dihadapkan pada suatu studi kasus yang mengharuskan mereka menjadi seorang yang mengatur majemen dari pembuatan AP dalam sebuah perusahaan, disini mahasiswa harus membuat sebuah jaringan yang efisien baik dari segi ekonomi maupun segi manfaatnya, mahasiswa tersebut harus bisa mengevaluasi setiap kemungkinan dan dapat dilakukan agar menghasilkan sebuah jaringan yang terbaik. 

Wireless LAN

Pada kesempatan ini saya ingin membuat sebuah resume mengenai Wireless LAN (Sebenarnya ini merupakan tugas dari dosen Jaringan Komputer hehehe).
Berikut resumnya.

PENGERTIAN WIRELESS LAN

Wireless LAN adalah suatu jaringan komputer yang saling terhubung tanpa melalui kabel. Local Area Network dari komputer maupun dari peralatan lainnya dapat dikembangkan lewat sinyal radio atau gelombang cahaya. Wireless LAN memanfaatkan teknologi penyebaran-spektrum yang didasarkan pada gelombang radio agar memungkinkan komunikasi antara perangkat pada lingkup daerah terbatas, yang juga dikenal sebagai set layanan dasar. hal Ini memberikan mobilitas bagi pengguna untuk bergerak di daerah cakupan yang luas dan tetap terhubung ke jaringan.

Gambar 1 Contoh Jaringa LAN

Pada prinsipnya pembangunan link wireless pada implementasi wireless LAN tidak hanya dapat dilakukan dengan teknologi frekuensi radio (RF) tetapi juga dapat menggunakan teknologi infra merah. Tetapi pada saat ini teknologi RF lebih banyak dikembangkan untuk kebutuhan sistem wireless.Teknologi RF sendiri terbagi dalam beberapa teknik akses, salah satu diantaranya yaitu teknik Multiple Akses yang paling sering digunakan para vendor sebagai teknik akses produk wireless mereka, yaitu teknik multiple access FDMA, TDMA dan CDMA. Dalam mengimplementasikan indoor wireless LAN digunakan arsitektur seluler dimana gedung akan dibagi dalam beberapa cell dan setiap cell akan memiliki link wireless. Area cakupan wireless tergantung dari beberapa faktor seperti teknologi yang digunakan, lingkungan pengimplementasian, kecepatan data dan lain – lain.

SEJARAH WIRELESS LAN
Perusahaan pertama yang mengembangkan teknologi wireless LAN ini adalah IBM dan Hewlett-Packard yaitu pada akhir tahun 1970-an. IBM merancang dengan teknologi Infrared sementara HP dengan teknologi RF (frekuensi radio).Namun, hasilnya (dengan data rate hanya 100 Kbps) masih belum seusai standar IEEE (Institute of Electrical And Electronics Engineer –
Asosiasi Insinyur ElektroInternasional) untuk membangun suatu LAN yaitu 1 Mbps. Jadi, awalnya produk ini tidak dipasarkan. Baru pada tahun 1985, FCC (Federal Communications Commission – BadanRegulasiTeknologiKomunikasi AS) menetapkan pita Industrial, Scientific and Medical (ISM band) yaitu 902-928 MHz, 2400-2483.5 MHz dan 5725-5850 MHz yang bersifat tidak terlisensi, sehingga pengembangan WLAN secara komersial memasuki tahapan serius. Barulah pada tahun 1990 WLAN dapat dipasarkan dengan produk yang menggunakan teknik spread spectrum (SS) pada pita ISM, frekuensi terlisensi 18-19 GHz dan teknologi IR dengan data rate >1 Mbps.

PERKEMBANGAN WIRELESS LAN
Akhirnya, pada tahun 1997 IEEE membuat suatu spesifikasi/standar WLAN yang pertama dengan kode IEEE 802.11 (bekerja pada frekuensi 2.4 GHz). Standar ini diciptakan oleh Komite IEEE (kode IEEE 802) yang menangani standar disasi jaringan LAN/MAN. Hanya sayang kecepatan komunikasi datanya baru 2 Mbps. Oleh karena itu, pada tahun 1999 muncul spesifikasi baru bernama 802.11b dimana tipe ini bisa mencapai data rate 11 Mbps. Namun, ada satu kelemahan dari tipe ini, yaitu banyak alat-alat lain yang menggunakan gelombang radio pada frekuensi ini 2.4 GHz (misal: cordless phone, microwave oven, dll.). Jadi, sangat mungkin terjadi Interferensi yang akan menggangu performa WLAN tipe ini.
Perubahan dan spesifikasi baru yang lebih mumpuni pun bermunculan. Misalnya, tak lama setelah tipe 802.11b, IEEE membuat spek baru 802.11a yang menggunakan frekuensi 5 GHz dan data rate mencapai 54 Mbps. Kemudian pada tahun 2002, muncul 802.11g yang menggabungkan kelebihan pada 802.11b dan 802.11a.
Tipe ini bekerja pada frekuensi 2,4Ghz dengan kecepatan transfer data teoritis maksimal 54Mbps. Peralatan 802.11g kompatibel dengan 802.11b, artinya pemakaiannya dapat saling dipertukarkan. Misalkan saja sebuah komputer yang menggunakan LAN card 802.11g dapat memanfaatkan access point 802.11b, dan sebaliknya.Pada tahun 2006, 802.11n dikembangkan dengan menggabungkan teknologi 802.11b dan 802.11g.Teknologi ini dikenal dengan istilah MIMO (Multiple Input Multiple Output) merupakan teknologi Wi-Fi terbaru.MIMO dibuat berdasarkan spesifikasi Pre-802.11n.Kata ”Pre-” menyatakan “Prestandard versions of 802.11n”. Lebar frekuensi tipe 802.11n ini 2.4 GHz dengan data rate mencapai 100Mbps. Daya tembus MIMO terhadap penghalang lebih baik, selain itu jangkauannya lebih luas sehingga Anda dapat menempatkan laptop atau klien Wi-Fi sesuka hati

Gambar 2  Perbedaan Wireless 802.11a/b/g/n

CARA KERJA WIRELESS LAN
Wireless LAN menggunakan electromagnetic airwaves (radio atau infrared) untuk menukarkan informasi dari satu titik ke titik lainnya tanpa harus tergantung pada sambungan secara fisik. Gelombang radio biasa digunakan sebagai pembawa karena dapat dengan mudah mengirimkan daya ke penerima. Data ditransmikan dengan cara ditumpangkan pada gelombang pembawa sehingga bisa diextract pada ujung penerima. Data ini umumnya digunakan sebagai pemodulasi dari pembawa oleh sinyal informasi yang sedang ditransmisikan. Begitu datanya sudah dimodulasikan pada gelombag radio pembawa, sinyal radio akan menduduki lebih dari satu frekuensi, hal ini terjadi karena frekuensi atau bit rate dari informasi yang memodulasi ditambahkan pada sinyal carrier. Multiple radio carrier bisa ada dalam suatu ruang dalam waktu yang bersamaan tanpa terjadi interferensi satu sama lain jika gelombang radio yang ditransmisikan berbeda frekuensinya. Untuk mengextract data, radio penerimanya diatur dalam satu frekuensi dan menolak frekuensi-frekuensi lain. Pada konfigurasi wireless LAN tertentu, transmitter/receiver (transceiver) device, biasa disebut access point, terhubung pada jaringan kabel dari lokasi yang fixed menggunakan kabel standard. Sebuah access point bisa mensupport sejumlah group kecil dari user dan bisa dipakai dalam jarak beberapa puluh meter. Access point biasanya diletakkan pada tempat yang tinggi tapi dapat juga diletakkan dimana saja untuk mendapatkan cakupan yang dikehendaki. End user access wireless LAN.

KELEBIHAN DAN KEKURANGAN WLAN
Kelebihan dari WLAN :
1.      Mobilitas Tinggi
2.      Kemudahan dan kecepatan instalasi
3.      Menurunkan biaya kepemilikan
4.      Fleksibel
5.      Scalable
Kekurangan dari WLAN :
1.      Delay yang besar
2.      Biaya peralatan mahal
3.      Adanya masalah propagasi radio seperti terhalang, terpantul, dan banyak sumber interferensi
4.      Kapasitas jaringan menghadapi keterbatasan spektrum
5.      Keamanan / kerahasiaan data kurang terjamin

Membuat Danbo 3D dengan Opengl

Pada kesempatan kali ini saya akan sedikit berbagi ilmu mengenai grafika komputer. Di sini saya akan mencoba membuat danbo 3D dengan menggunakan opengl. Danbo yang saya buat agak "sedikit" berbeda dari danbo kebanyakan. Langsung saja, berikut source codenya:


#include <stdlib.h>
#include <glut.h>

int w = 480, h = 480, z = -50;
int x1 = 0, y1 = 0, z1 = 0, sudut = 0;
void timer(int value) {
glutPostRedisplay();
glutTimerFunc(50,timer,0);
}
void myKeyboard(unsigned char key, int x, int y) {
if(key == 'a') z += 5; //mendekat
else if (key == 'd') z -= 5; //menjauh
else if (key == 'x') { //rotasi sumbu x
x1 = 1;
y1 = 0;
z1 = 0;
sudut += 5;
} else if (key == 'y') { //rotasi sumbu y
x1 = 0;
y1 = 1;
z1 = 0;
sudut += 5;
} else if (key == 'z') { //rotasi sumbu z
x1 = 0;
y1 = 0;
z1 = 1;
sudut += 5;
}
}
void init() {
glClearColor(0.0,0.0,0.0,1.0);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30., (GLdouble)w/(GLdouble)h, 1., 300.);
glMatrixMode(GL_MODELVIEW);
}
void resize(int w1, int h1) {
glViewport(0,0,w1,h1);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (float)w1/(float)h1, 1.0, 300.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void balok(double panjang, double lebar, double tinggi) {
glScalef(panjang, tinggi, lebar);
glutSolidCube(1);
}
void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glClearColor(1,1,1,1);
glTranslatef(0, 0, z);
glRotatef(sudut, x1, y1, z1);
glPushMatrix(); //badan
glColor3f(0, 0, 0);
balok(10, 6, 9);
glPopMatrix();
glPushMatrix(); //kepala
glTranslatef(0, 9.5, 0);
glColor3f(0.8, 0.1, 0.2);
balok(15, 8, 10);
glPopMatrix();
glPushMatrix(); //mata kiri
glTranslatef(-2.2, 9.6, 4.1);
glRotatef(90, 0, 1, 0);
glColor3f(0.2, 0, 0);
glutSolidSphere(1, 2, 30);
glPopMatrix();
glPushMatrix(); //mata kanan
glTranslatef(2.2, 9.6, 4.1);
glRotatef(90, 0, 1, 0);
glColor3f(0.2, 0, 0);
glutSolidSphere(1, 2, 30);
glPopMatrix();
glPushMatrix(); //mulut
glTranslatef(0, 7.5, 4.1);
glRotatef(90, 0, 1, 0);
glRotatef(90, 1, 0, 0);
glColor3f(0.2, 0, 0);
glutSolidCone(1.5, 2, 2, 2);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, 3, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, 1, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, -1, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, -3, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //tangan kiri
glTranslatef(-6.5, -0.5, 2.5);
glRotatef(-45, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 8);
glPopMatrix();
glPushMatrix(); //tangan kanan
glTranslatef(6.5, -0.5, -2.5);
glRotatef(45, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 8);
glPopMatrix();
glPushMatrix(); //kaki kanan
glTranslatef(-2, -7, -0.5);
glRotatef(10, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 10);
glPopMatrix();
glPushMatrix(); //kaki kiri
glTranslatef(2, -7, 0.5);
glRotatef(-10, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 10);
glPopMatrix();
glutSwapBuffers();
}
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(w,h);
glutCreateWindow("TUGAS RUMAH 2");
gluOrtho2D(-w/2, w/2, -h/2, h/2);
glutDisplayFunc(renderScene);
glutTimerFunc(50, timer, 0);
glutKeyboardFunc(myKeyboard);
glutReshapeFunc(resize);
init();
glutMainLoop();
}

Dan berikut hasil screen shoot dari program diatas:

Dalam program ini, danbo tersebut dapat diputar pada sumbu x, y, dan z menggunakan fungsi interaksi keyboard, dan juga dapat diperbesar dan diperkecil.

Itu tadi source code untuk membuat danbo 3D dengan menggunakan opengl, semoga bermanfaat :D