Senin, 29 November 2010

Perbedaan antara DDL dan DML pada MySQL

DDL (Data Definition Language) : Perintah yang dapat digunakan untuk membuat/ menghapus/ mengubah sebuah object database, seperti database, table, index dll

CREATE DATABASE : perintah ini digunakan untuk membuat database
contoh : db2 create database deny
ALTER DATABASE : perintah ini digunakan untuk mengubah struktur database
contoh : db2 drop database deny
CREATE TABLE : perintah ini digunakan untuk membuat table
contoh : db2 create table mhs(nim char(10),name char(50),fakultas char(50))


ALTER TABLE : perintah ini digunakan untuk mengubah table
contoh : db2 alter table mhs add nilai integer
DROP TABLE : perintah ini digunakan untuk menghapus table
contoh : db2 drop table mhs
CREATE INDEX : perintah ini digunakan untuk membuat index
contoh : db2 create unique index nim_indx on mhs(nim)

DROP INDEX : perintah ini digunakan untuk menghapus index

contoh : db2 drop index nim_indx


DML (Data Manipulation Language) Perintah yang dapat digunakan untuk memodifikasi isi dari database

SELECT : perintah ini digunakan untuk mendapatkan data dari database
contoh
db2 select * from staff

db2 select id, salary from staff where id = 10
db2 select id, salary, 0.1*salary as tax from staff where id = 10
db2 select * from staff fetch first rows onlydb2 select id,dept,sum(salary)as total from staff group by id,dept order by 2 desc fetch first 5 row only

UPDATE : perintah ini digunakan untuk mengubah data di database
contoh : db2 update staff set salary=50000.00 where id=10
DELETE : perintah ini digunakan untuk menghapus data dari database
contoh : db2 delete from staff where id=350
INSERT INTO : perintah ini digunakan untuk memasukkan data dari database
contoh : db2 insert into staff(id,name,job,dept,salary)values(111,’Deny’,'Mgr’,20,10000)

Penjelasan Singkat Tentang Algoritma Greedy

Algoritma Greedy merupakan algoritma sedarhana dan lempang yang paling populer untuk pemecahan persoalan optimasi (maksimum atau minimum) Prinsip greedy adalah: “take what you can get now!”, yang digunakan dalam konteks positif. Ada tiga pendekatan dalam menyelesaikan persoalan Integer Knapsack dengan algoritma Greedy:

1.      Greedy by profit. Pada setiap langkah, knapsack diisi dengan objek yang mempunyai keuntungan terbesar. Strategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang paling menguntungkan terlebih dahulu.

2.      Greedy by weight. Pada setiap langkah, knapsack diisi dengan objek yang mempunyai berat paling ringan. Strategi ini mencoba memaksimumkan keuntungan dengan memasukkan sebanyak mungkin objek ke dalam knapsack.

3.      Greedy by density. Pada setiap langkah, knapsack diisi dengan objek yang mempunyai densitas. Strategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang mempunyai keuntungan per unit berat terbesar.

Cara membuat aplikasi sederhana algoritma Greedy menggunakan bahasa C.


untuk membuat aplikasi sederhana algoritma greedy menggunakan bahasa C, ketik saja listing di atas. Nanti di outputnya kita di suruh masukkin jumah koin, terus dimasukkin lagi nilai dari tiap-tiap koin. Trus nanti kita disuruh masukkin nilai yang ingin dipecah, trus ntar muncul algoritma greedy-nya.

Cara membuat Orang-orangan sawah dengan menggunakan Pelles C

Untuk membuat gambar seperti yang di atas, caranya ketikkan listing di bawah ini pada aplikasi Pelles C.


Kamis, 25 November 2010

Penjelasan Client-Server

Client-Server merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.

Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal pada client.

 

Penjelasan DNS

 DNS (Domain Name System) atau Sistem Penamaan Domain adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surat elektronik (email) untuk setiap domain. DNS menyediakan servis yang cukup penting untuk Internet, bilamana perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat e-mail. DNS menghubungkan kebutuhan ini. Pengelola dari sistem DNS terdiri dari tiga komponen:

1.      DNS resolver, sebuah program klien yang berjalan di komputer pengguna, yang membuat permintaan DNS dari program aplikasi.

2.      Recursive DNS server, yang melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada para resolver tersebut.

3.      Authoritative DNS server, yang memberikan jawaban terhadap permintaan dari recursor, baik dalam bentuk sebuah jawaban, maupun dalam bentuk delegasi (misalkan: mereferensikan ke authoritative DNS server lainnya).

DNS memiliki kumpulan hirarki dari DNS servers. Setiap domain atau subdomain memiliki satu atau lebih authoritative DNS Servers (server DNS otorisatif) yang mempublikasikan informas tentang domain tersebut dan nama-nama server dari setiap domain di-"bawah"-nya. Pada puncak hirarki, terdapat root servers- induk server nama: server yang ditanyakan ketika mencari (menyelesaikan/resolving) dari sebuah nama domain tertinggi (top-level domain).

 

  Pengertian beberapa bagian dari nama domain:

- Sebuah nama domain biasanya terdiri dari dua bagian atau lebih (secara teknis disebut label), dipisahkan dengan titik.

-  Label paling kanan menyatakan top-level domain - domain tingkat atas/tinggi (misalkan, alamat www.lonk.com  memiliki top-level domain com).

-  Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau subdomain dari domain yang lebih tinggi. Catatan: "subdomain" menyatakan ketergantungan relatif, bukan absolut. Secara teori, pembagian seperti ini dapat mencapai kedalaman 127 level, dan setiap label dapat terbentuk sampai dengan 63 karakter, selama total nama domain tidak melebihi panjang 255 karakter. Tetapi secara praktek, beberapa pendaftar nama domain (domain name registry) memiliki batas yang lebih sedikit.

-  Terakhir, bagian paling kiri dari bagian nama domain (biasanya) menyatakan nama host. Sisa dari nama domain menyatakan cara untuk membangun jalur logis untuk informasi yang dibutuhkan; nama host adalah tujuan sebenarnya dari nama sistem yang dicari alamat IP-nya. Contoh: nama domain www.lonk.com memiliki nama host "www".

Penjelasan DHCP

DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti default gateway dan DNS server. DHCP didefinisikan dalam RFC 2131 dan RFC 2132 yang dipublikasikan oleh Internet Engineering Task Force. DHCP merupakan ekstensi dari protokol Bootstrap Protocol (BOOTP).

Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client. DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat "menyewakan" alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya. Beberapa sistem operasi jaringan seperti Windows NT Server, Windows 2000 Server, Windows Server 2003, atau GNU/Linux memiliki layanan seperti ini. DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server. Sebagian besar sistem operasi klien jaringan (Windows NT Workstation, Windows 2000 Professional, Windows XP, Windows Vista, atau GNU/Linux) memiliki perangkat lunak seperti ini. DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya. DHCP Client akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server dalam proses empat langkah berikut:

 

1.DHCP DISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP Server yang aktif.

2. DHCP OFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client.

3. DHCP REQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan.

4. DHCP PACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data database miliknya. Klien selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan.

              Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat stand-alone, sehingga jika dalam sebuah jaringan terdapat beberapa DHCP server, basis data alamat IP dalam sebuah DHCP Server tidak akan direplikasi ke DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua DHCP server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamat yang sama. Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat menetapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke waktu.

membuat jaringan sederhana menghubungkan dua komputer menggunakan Packet Tracer


Packet Tracer adalah emulator router yang bisa digunakan untuk pelatihan atau edukasi simulasi jaringan, dan juga dapat digunakan untuk percobaan untuk simulasi jaringan komputer yang sederhana. Tool ini diciptakan oleh Cisco System dan diberikan secara gratis untuk fakultas, mahasiswa, dan alumni yang mengikuti program Cisco Academy. Tujuan Packet Tracer adalah untuk menyediakan mahasiswa dan pengajar sebuah tool untuk pembelajaran prinsip jaringan dan sekaligus untuk mengembangkan kemampuan khusus pada teknologi Cisco. CISCO Packet Tracer merupakan suatu software yang digunakan untuk membuat suatu simulasi Jaringan, entah merupakan Pear to Pear atau client server dan lain sebagainya. Pada software ini, banyak sekali manfaat yang bisa kita dapatkan, dengan menyusun sebuah simulasi jaringan, dengan switch hub ataupun dengan jaringan kabel, via wireless dan lain sebagainya.

Pertama, menjalankan software dengan membuka Cisco Packet Tracer, setelah itu akan muncul tampilan utama dari aplikasi tersebut dengan default Logical view.  Pada Logical view ini, kita dapat membuat suatu koneksi jarinagn dengan menu default yang ada, seperti End Devices, WAN Emulation, Custom Made Service, Multiuser Connection, Routers, Switces, Hubs, Wireless Devices, dan Connection. Selanjutnya,  klik End Devices (bagian pojok kiri bawah)  >> drag icon PC (atau gambar komputer). Pada kali ini kita hanya  memakai 2 PC untuk mensimulasikan jaringannya. Koneksi ini juga sering di sebut dengan Pear to Pear.

Setelah kedua PC tersebut sama sama telah tersedia pada workspace, maka selanjutnya menghubungkan dengan Klik Connection >>  klik Copper Cross-Over >> klik komputer 1 >> klik FastEthernet >> klik komputer 2 >> klik FastEthernet. Pada simulasi ini kita hanya menggunakan dua computer yang sama jenisnya maka kita menggunakan Copper Cross-Over, yaitu salah satu pilihan Connection yang berfungsi untuk menghubungkan perangkat-perangkat dengan jenis yang sama.

Setelah menyambungkan kedua computer, kita akan memasukkan IP Address untuk kedua computer. IP Address dibagi menjadi tiga kelas, yaitu kelas A, B, dan C. Penggunaan kelas-kelas IP tergantung dari instansi yang menggunakannya, kelas A dipakai oleh instansi-instansi pemerintahan, kelas B dipakai oleh universitas-universitas negri, sedangkan IP kelas C digunakan oleh universitas-universitas swasta.

            Kemudian kita akan mengecek kedua computer apakah sudah tersambung apa belum menggunakan perintah PING. Caranya dengan mengetikan ping . Apabila sudah terhubung maka akan muncul informasi-informasi yang menyatakan bahwa kedua computer tersambung, dan apabila belum terhubung akan muncul tulisan Request Timed Out. PING merupakan salah satu program yang digunakan untuk mengecek komunikasi antar komputer dalam sebuah jaringan melalui protokol TCP/IP. PING akan mengirimkan Internet Control Message Protocol (ICMP) Echo Request messages pada ip address komputer yang dituju dan meminta respons dari komputer tersebut. Nama “PING” datang dari sonar sebuah kapal selam yang sedang aktif, yang sering mengeluarkan bunyi ping ketika menemukan sebuah objek. Fungsi dari PING antara lain: - Mengetahui status up/down komputer dalam jaringan.

- Memonitor availability status komputer dalam jaringan.

- Mengetahui responsifitas komunikasi sebuah jaringan.

Selasa, 23 November 2010

Penerapan Dynamic Programming Untuk Pengantar Pizza


Seorang pengantar pizza mendapatkan tugas untuk mengantarkan pizza kepada pemesan pizza di rumahnya. Ada beberapa cara yang bisa ditempuh untuk sampai kepada rumah si pemesan, dengan gambaran seperti di atas.

Pengantar pizza ingin sampai tujuan dengan jalur terpendek, dengan titik A sebagai titik awal dan titik I sebagai titik akhir atau tujuannya dan angka-angka yang tertera pada panah merupakan jarak dari satu tempat ke tempat lainnya (dalam kilometer).



Jawab:

Untuk menyelesaikan permasalahan di atas, teknik yang digunakan adalah Dynami Programming dengan metode Backward. Dengan analisa sebagai berikut:

b Cost (2,B) = c(A,B) = 3

b Cost (3,C) = min{c(B,C) + b Cost (2,B)}

min{ 4 + 3 } = 7

b Cost (3,D) = min{c(B,D) + b Cost (2,B)}

min{ 3 + 3 } = 6

b Cost (3,E) = min{c(B,E) + b Cost (2,B)}

min{ 5 + 3 } = 8

b Cost (4,F) = min{c(C,F) + b Cost (3,C) | c(D,F) + b Cost (3,D)}

min { 7 + 7 | 5 + 6 } = 11

b Cost (4,G) = min{c(D,G) + b Cost (3,D) | c(E,G) + b Cost (3,E)}

min { 4 + 6 | 4 + 8 } = 10

b Cost (4,H) = min{c(D,H) + b Cost (3,D) | c(E,H) + b Cost (3,E)}

min { 6 + 6 | 5 + 8 } = 13

b Cost (5,I) = min{c(F,I) + b Cost (4,F) | c(G,I) + b Cost (4,G) | c(H,I) + b Cost (4,H)}

min{ 5 + 11 | 4 + 10 | 3 + 13 } = 14

# jadi jalur terpendek yang bisa diambil adalah :

A – B – D – G – I




Cara Membuat Perahu Sederhana Menggunakan Pelles C

ini adalah perahu sederhana yang dibuat menggunakan aplikasi Pelles C.













#include

#include

#include

#include

void mulaiOpenGL(void);

int main(void)

{

// mRunning = TRUE, aplikasi masih berjalan

GLuint mRunning = GL_TRUE;

// inisialisasi GLFW

if( glfwInit() == GL_FALSE )

{

MessageBox( NULL, "ERROR :: gagal menginisialisasi GLFW", "Error!", MB_OK);

return(0);

}

// buat sebuah window yang akan digunakan untuk menggambar.

if( glfwOpenWindow( 640, 480, 0, 0, 0, 0, 24, 0, GLFW_WINDOW ) == GL_FALSE )

{

MessageBox( NULL, "ERROR :: gagal membuat window", "Error!", MB_OK );

glfwTerminate();

return(0);

}

// Set judul yang ada di window dan Swap interval.

glfwSetWindowTitle( "Praktikum Grafik Komputer LabTI" );

glfwSwapInterval( 1 );

// mulai OpenGL (melakukan setting awal OpenGL)

mulaiOpenGL();

// mulai looping utama program

while( mRunning )

{

// bersihkan layar dan depth buffer

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

glLoadIdentity();

// lakukan penggambaran di sini

//------------------------------------------------------------------------------------

gluLookAt(0,20,55,10,3,0,0,1,0);

glBegin(GL_POLYGON);

glColor3f(10,0,0);

glVertex2f(-6,2);

glVertex2f(-10,5);

glVertex2f(10,5);

glVertex2f(6,2);

glEnd();

glBegin(GL_TRIANGLES);

glColor3f(1,10,15);

glVertex2f(-6,5);

glVertex2f(-6,13);

glVertex2f(6,5);

glEnd();

//------------------------------------------------------------------------------------

// tampilkan ke layar (swap double buffer)

glfwSwapBuffers();

// check input , apakah tombol esc ditekan atau tombol "close" diclick

mRunning = !glfwGetKey( GLFW_KEY_ESC ) && glfwGetWindowParam( GLFW_OPENED );

}

glfwTerminate();

return(0);

}

void mulaiOpenGL(void)

{

// Set viewport ke resolusi 640x480 viewport bisa diibaratkan layar monitor anda

glViewport( 0, 0, 640, 480 );

// Set mode OpenGL ke mode pryeksi (Projection) dan set proyeksi

// menggunakan proyeksi perspective, dengan sudut pandang (Field Of View) 60 derajat

glMatrixMode( GL_PROJECTION );

glLoadIdentity();

gluPerspective( 60.0f, 640.0f/480.0f, 0.1f, 1000.0f );

glMatrixMode( GL_MODELVIEW );

glLoadIdentity();

// Set mode gradasi warna halus (Smooth)

glShadeModel( GL_SMOOTH );

// warna yang digunakan untuk membersihkan layar

glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );

// nilai untuk membersihkan depth buffer.

glClearDepth( 1.0f );

// Depth test digunakan untuk menghindari polygon yang tumpang tindih.

glEnable( GL_DEPTH_TEST );

glDepthFunc( GL_LEQUAL );

// beritahu OpenGL untuk menggunakan perhitungan perspective

// yang terbaik (perhitungan ini tidak bisa selalu 100% akurat)

glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );

}