Feeds:
Pos
Komentar

Pengertian LOGIKA:

Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.

 

Pengertian ALGORITMA:

Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.

Alat Bantu untuk menuliskan Logika dan Algoritma, salah satunya adalah FLOWCHART.

Pengertian FLOWCHART:

gambaran dalam bentuk diagram alir dari algoritma dalam suatu program atau prosedur sistem secara logika, yang menyatakan arah alur program dalam menyelesaikan suatu masalah.

Pedoman-pedoman dalam Membuat Flowchart:

  1. Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
  2. Kegiatan di dalam bagan alir harus ditunjukkan dengan jelas.
  3. Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya (diawali dari satu titik START dan diakhiri dengan END).
  4. Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:

–          “Persiapkan” dokumen

–          “Hitung” gaji

  1. Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
  2. Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
  3. Gunakanlah simbol-simbol bagan alir yang standar.

Secara garis besar, Ada 3 bagian utama dalam flowchart :

 Contoh:

Buat algoritma dan Flowchart untuk Menghitung Luas Persegi Panjang:

Pekerjaan:

Rumus:

LuasPersegiPanjang = Panjang x Lebar

Algoritma:

  1. Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
  2. Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
  3. Hitung Luas persegi panjang.
  4. Tampilkan (outputkan) Luas persegi panjang.

Latihan:

Buat algoritma dan Flowchart untuk Menghitung:

  1. Luas Segitiga
  2. Luas Lingkaran

 

IMPLEMENTASI DALAM PROGRAM

(Sebagai contoh: Bahasa Pemrograman Pascal)

Pengertian PROGRAM:

Kumpulan instruksi (statements) yang disusun secara logis untuk memecahkan suatu masalah. Instruksi-instruksi yang digunakan disesuaikan dengan jenis bahasa pemrograman yang digunakan (reserved word yang disediakan).

Stuktur Penulisan Pascal:

Program Nama_Program;

uses

     . . .  {Unit-unit yang dipakai} ;

label

     . . .  {label-label yang dipakai } ;

const

     . . .  {pengumuman tetapan-tetapan} ;

type

     . . .  { pengumuman tipe-tipe data };

var

     . . .  { pengumuman peubah-peubah };

 

procedure Nama_Prosedur;

begin

    . . .

end;

 

Function Nama_Fungsi;

begin

    . . .

end;

 

{  Program utama   }

begin

    . . .

end.

Perintah Input :

Perintah Pascal yang digunakan untuk memasukkan/menginputkan data.

Bentuk perintah:

Read dan Readln

Struktur penulisan:

Read(nama variabel);

Readln(nama Variabel)

 

Perintah Output:

Perintah Pascal yang digunakan untuk menampilkan/mengoutputkan data.

Bentuk perintah:

Write : setelah menampilkan data atau teks, kursor berada tepat disamping kanan data yang ditampilkan.

Write : setelah menampilkan data atau teks, kursor berada pada baris berikutnya.

Struktur penulisan:

write(nama variabel);

write(‘teks’);

writeln(nama Variabel);

writeln(‘teks’);

 

Contoh:

Buat program sederhana untuk Menghitung Luas Persegi Panjang:

 

Program LuasPersegiPanjang;

Var

Luas, Panjang, Lebar : integer;

Begin

Readln(panjang);

Readln(Lebar);Luas:= Panjang*Lebar;

Writeln(‘Luas Persegi  Panjang adalah:’,Luas);

Readln;

End.

 

Menjalankan program dengan perintah:

Ctrl+F9(tekan tombol Ctrl dan F9 bersama-sama).

Apabila Panjang diisi 7 dan lebar diisi 8 maka hasil perintah diatas tampil sbb:

 Latihan:

Buat program sederhana untuk Menghitung:

  1. Luas Segitiga
  2. Luas Lingkaran

 

STRUKTUR KENDALI  “IF’

 Struktur kendali aliran adalah suatu bentuk/struktur yang memiliki peranan khusus  untuk mengatur aliran urutan pengerjaan operasi atau beberapa operasi tertentu.

Salah satu contoh pernyataan kendali yaitu pernyataan if .

Pernyataan if (if statement) akan memeriksa suatu persyaratan dan menentukan  apakah syarat tersebut benar atau salah, kemudian melakukan pekerjaan sesuai dengan nilai pernyataan tersebut.

Struktur Penulisan:

Berikut adalah bentuk-bentuk dari pernyataan if yang sering digunakan :

  1. If dengan satu pernyataan (statement)

If (kondisi) then pernyataan ;

  1. If dengan dua atau lebih pernyataan (statement)

If (kondisi) then

begin

   pernyataan1 ;

   pernyataan2 ;

   …..

end;

  1. If dan else

If (kondisi) then

begin

   pernyataan1 ;

   pernyataan2 ;

   …..

end

else

begin

   pernyataan1 ;

   pernyataan2 ;

   …..

   end;

Dari bentuk bentuk pernyataan if di atas yang harus diperhatikan adalah untuk pernyataan if dan else, pernyataan-pernyataan setelah then tanpa menggunakan “;”. Dengan kata lain jika pernyataan setelah then hanya terdiri dari satu pernyataan saja makan pernyataan tersebut tanpa menggunakan “;”, namun jika pernyataan setelah then terdiri dari lebih dari satu pernyataan makan setelah end tanpa menggunakan “;”.

Latihan:

Buat flowchart dan program sederhana untuk menampilkan bilangan terbesar.

 

 

PENGANTAR USE CASE

– Digunakan sebelum ada requirement untuk merepresentasikan external behavior
– Actors merepresentasikan peran yaitu type user pada sistem
– Use cases merepresentasikan urutan interaksi untuk type of functionality
– Use case model adalah kumpulan dari semua use case. Ini adalah deskripsi lengkap fungsional sistem dan lingkungannya
Actor models adalah external entity yang berhubungan dengan sistem yaitu:
– User
– External system
– Physical environment
Actor punya nama yang unik dan deskripsi yang bisa dipilih.
Contoh:
– Passenger: seorang dalam kereta
– GPS satellite: menyediakan sistem dengan GPS coordinates
Use case merepresentasikan class fungsional yang ditetapkan oleh sistem karena aliran kejadian.
Use case terdiri atas:
– Nama yang unik
– Participating actor
– Entry conditions
– Event flow
– Exit condition
– Special requirements
USE CASE EXAMPLE:

Name: Purchase Ticket

Participating actor:

Passenger

Entry condition:

– Passenger berdiri di depan ticket distributor.
– Passenger mempunyai cukup uang untuk membeli tiket.

Exit condition:

– Passenger punya tiket.

 

Event flow:

1. Passenger memilih tujuan yang akan didatangi.

2. Distributor menunjukkan jumlah yang harus dibayar.

3. Passenger memberikan uang, paling sedikitsama dengan jumlah yang harus dibayar.

4. Distributor mengembalikan kembalian.

5. Distributor memberikan tiket.

 

The extend relationships:

<<extend>> relationships merepresentasikan keadaan pengecualian atau jarang terjadi.
– Exceptional event flows are factored out of the main event flow for clarity.
– Use cases yang merepresentasikan exceptional flows dapat diperluas menjadi lebih dari satu use case.
– Tujuan <<extend>> relationship adalah untuk memperluas use case
The include relationships:
– <<include>> relationship merepresentasikan behavior yang berdampak pada usecase.
– <<include>> merepresentasi behavior yang berdampak untuk digunakan lagi, bukan karena pengecualian.
– Tujuan of a <<include>> relationship adalah untuk menggunakan use case (tidak seperti <<extend>> relationships).

HISTOGRAM

histogram adalah tampilan grafis dari tabulasi frekuensi yang digambarkan dengan grafis batangan sebagai manifestasi data binning. Tiap tampilan batang menunjukkan proporsi frekuensi pada masing-masing deret kategori yang berdampingan dengan interval yang tidak tumpang tindih.

equalization histogram adalah suatu proses perataan histogram, dimana distribusi nilai derajat keabuan pada suatu citra dibuat rata. Untuk dapat melakukan histogram equalization ini diperlukan suatu fungsi distribusi kumulatif yang merupakan kumulatif dari histogram.

 

Algoritma

For j = 1 To Picture4.Height Step 15

warna = Picture4.Point(i, j)

m = warna And RGB(255, 0, 0)

h = Int((warna And RGB(0, 255, 0)) / 256)

b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256)

If m > 255 Then m = 255

If h > 255 Then h = 255

If b > 255 Then b = 255

hm(m) = hm(m) + 1

hh(h) = hh(h) + 1

hb(b) = hb(b) + 1

Next j

Next i

ht2 = Picture1.Height

For i = 1 To 256

xp = 15 * (i – 1) + 1

Picture1.Line (xp, ht2 – hm(i))-(xp, ht2), RGB(255, 0, 0)

Picture2.Line (xp, ht2 – hh(i))-(xp, ht2), RGB(0, 255, 0)

Picture3.Line (xp, ht2 – hb(i))-(xp, ht2), RGB(0, 0, 255)

Next i

Me.MousePointer = vbNormal

End Sub

Algoritma:
Deklarasi
n : integer
jumlah : integer
Deskripsi
read n
hasil=0
for(int i=0;i<=n;i++)
hasil +=i
write hasil
end

Program Biasa :
#include <iostream.h>
#include <conio.h>

void main(){
int n,hasil=0;
cout<<“Mencari jumlah suku 1-n\n”;
cout<<“Masukkan nilai maksimalnya: “;cin>>n;
for(int i=0;i<=n;i++)
hasil +=i;
cout<<“Total jumlah deret sampai “<<n<<” adalah “<<hasil;
getch;}

Program Class:
#include <iostream.h>
#include <conio.h>

class jumlah {
public :
void masukan();
void proses();
void keluaran();
private:
int n;
int hasil;};
void jumlah::masukan() {
cout<<“Mencari jumlah suku 1-n\n”;
cout<<“Masukkan nilai maksimalnya: “;cin>>n;}
void jumlah::proses() {
hasil=0;
for(int i=0;i<=n;i++)
hasil +=i;}
void jumlah::keluaran() {
cout<<“Total jumlah deret sampai “<<n<<” adalah “<<hasil;}
int main(){
jumlah x;
x.masukan();
x.proses();
x.keluaran();
getch();}

Program jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
jumlah x = new jumlah();
x.masukan();
x.proses();
x.keluaran();}}
class jumlah{
void masukan(){
System.out.print(“Mencari jumlah suku 1-n\n”);
System.out.print(“Masukkan nilai maksimalnya: “);
n = Input.readInt();}
void proses(){
hasil =0;
for(int i =0;i<=n;i++)
hasil +=i;}
void keluaran(){
System.out.print(“Total jumlah deret sampai “);
System.out.print(n);
System.out.print(” adalah “);
System.out.print(hasil);}
private int n;
private int hasil;}

Penjelasan :
Program di atas adalah program yang di gunakan untuk mencari jumlah deret yang kita inputkan. Apa itu deret ? deret adalah urutan angka dari 0 sampai ke n tergantung user menginputkannya berapa, selanjutnya dari 0,1,2….n sampai batas yang di inputkan user itu akan ditambahkan mulai dari 0 sampai ke batasnya atau n. Dalam masalah ini kita gunakan perulangan atau for yang akan mengulang nilai dari 0 sampai ke n, kemudian tiap angkanya itu kita jumlahkan 1 demi 1 sehingga kita akan mendapatkan jumlah nilai deret yang kita inginkan.

Algoritma:
Deklarasi
a : integer
b : integer
Deskripsi
if(a>b)
then
write(a)
else if(a<b)
write(b)
else if(a=b)
write(a)
else
write(bukan bilangan)
endif
end

Program Biasa :
#include <iostream.h>
int main(){
int a,b;
cout<<“Masukkan bilangan terbesar\n”;
cout<<“Masukkan bilangan pertama: “;
cin>>a;
cout<<“Masukkan bilangan kedua: “;
cin>>b;
if(a>b)
cout<<“Bilangan terbesar adalah “<<a;
else if(a<b)
cout<<“Bilangan terbesar adalah “<<b;
else if(a=b)
cout<<“Bilangannya sama “<<a;
else
cout<<“Bukan bilangan”;
return 0;}

Program Class :
#include <iostream.h>
#include <conio.h>
class terbesar{
friend istream & operator>>( istream &, terbesar &);
friend ostream & operator<<( ostream &, terbesar &);
public:
terbesar();
int proses(){return hasil =a>b;};
private:
int a,b;
int hasil;};
terbesar::terbesar(){cout<<“Mencari bilangan terbesar\n”;}
istream& operator>>(istream& in, terbesar& masukan){
cout<<“Masukan bilangan pertama: “;
in>>masukan.a;
cout<<“Masukan bilangan kedua: “;
in>>masukan.b;
return in;}
ostream& operator<<(ostream& out, terbesar& keluar){
if(keluar.a>keluar.b){
out<<“Bilangan terbesar adalah “<<keluar.a;}
else if (keluar.a<keluar.b){
out<<“Bilangan terbesar adalah “<<keluar.b;}
else if(keluar.a==keluar.b){
out<<“Bilangannya sama “<<keluar.a;}
else {cout<<“Bukan bilangan”;}
return out;}
int main(){
terbesar x;
cin>>x;
x.proses();
cout<<x;
cout<<endl;
getch ();}

Program Jeliot:
import jeliot.io.*;
public class MyClass {
public static void main() {
terbesar x = new terbesar();
x.masukan();
x.proses();}}
class terbesar{
void masukan(){
System.out.print(“Mencari bilangan terbesar\n”);
System.out.print(“Masukan bilangan pertama: “);
a = Input.readInt();
System.out.print(“Masukan bilangan kedua: “);
b = Input.readInt();}
void proses(){
if(a>b){
System.out.print(“Bilangan terbesar adalah “);
System.out.print(a);}
else if (a<b){
System.out.print(“Bilangan terbesar adalah “);
System.out.print(b);}
else if(a ==b){
System.out.print(“Bilangannya sama “);
System.out.print(a);}
else{
System.out.print(“Bukan bilangan”);}}
private int a;
private int b;
private int hasil;}

Penjelasan : 
Program di atas merupakan program yang di gunakan untuk mencari bilangan terbesar yang diinputkan oleh user. Dalam hal ini kita hanya menggukan 2 variabel sebagai pembanding, apabila ingin menjadi 3 bahkan lebih variabel pembandingnya juga bisa sesuai dengan keinginan kita. Jadi yang pertama kita bandingkan nilai pertama dan nilai kedua, jika nilai pertama lebih besar maka langsung saja di tampilkan nilai yang terbesar adalah nilai yang pertama, apabila nilai yang kedua yang lebih besar maka langsung saja di tampilkan nilai kedua yang lebih besar menggunakan fungsi IF ELSE dan jika yang kita inputkan itu sama juga bisa kita ketahui. Untuk nilai ELSE nya kita tinggal mau memberi nama apa saja terserah kita, mau bukan bilangan atau bilangan salah itu terserah anda karena ELSE itu sama dengan nilai default atau nilai di luar batas yang sudah di definisikan di atasnya.

Algoritma:
Deklarasi
x : integer
Deskripsi
read x
for (int i=2;i<=x;i++)
if(x mod i = 0)
write i
x/=i
i–
end

Program biasa:
#include <iostream.h>
#include <conio.h>
void main(){
int x;
cout<<“Mencari nilai faktorial\n”;
cout<<“Masukkan bilangan: “;cin>>x;
for(int i=2;i<=x;i++) {
if(x%i==0) {
cout << i << ” * “;
x/=i;
i–;}}
getch ();}

Program class:
#include <iostream.h>
#include <conio.h>
class faktorial{
public:
void masukan();
void hasil();
private:
int x;};
void faktorial::masukan(){
cout<<“Mencari nilai faktorial\n”;
cout<<“Masukkan bilangan: “;cin>>x; }
void faktorial::hasil(){
for(int i=2;i<=x;i++) {
if(x%i==0) {
cout << i << ” * “;
x/=i;
i–;}}}
int main(){
faktorial x;
x.masukan();
x.hasil();
getch ();}

Program jeliot:
import jeliot.io.*;
public class MyClass {
public static void main() {
faktorial x = new faktorial();
x.masukan();
x.hasil();}}
class faktorial{
void masukan(){
System.out.print(“Mencari nilai faktorial\n”);
System.out.print(“Masukkan bilangan: “);
x =Input.readInt();}
void hasil(){
for(int i =2;i<=x;i++){
if(x%i ==0){
System.out.print(i);
System.out.print(” * “);
x/=i;
i–;}}}
private int x;}

Penjelasan:
Program di atas adalah program yang digunakan untuk mencari nilai faktorial dari sebuah bilangan. Nilai faktorial adalah angka angka prima yang membentuk suatu bilangan, misalnya 12 yang terbentuk dari angka 2 x 2 x 3. Untuk dapat menjalankan program di atas kita membutuhkan nilai x sebagai inputan user. Nilai x akan di proses dengan fungsi for untuk i sama dengan 2 dan i lebih kecil sama dengan x. Apabila benar maka akan di teruskan ke fungsi selanjutnya yaitu IF untuk nilai x mod i sama dengan 0 maka keluarkan i. Langkah selanjutnya nilai x itu di bagi dengan nilai i dan hasilnya akan menggantikan nilai x sebelumnya. Selanjutnya tinggal meneruskan langkah di atas sampai nilai i sudah lebih besar dari x maka program selesai.

Algoritma:
Deklarasi
x : integer
y : integer
pangkat : integer
Deskripsi
read x,y
hasil=1
for(int i=1;i<=y;i++)
hasil *=x
write hasil
end

Program Biasa:
#include <iostream.h>
#include <conio.h>
int main(){
int x,y,hasil=1;
cout<<“Menghitung perpangkatan\n”;
cout<<“Masukkan bilangannya: “;cin>>x;
cout<<“Masukkan bilangan pangakatnya: “;cin>>y;
for(int i=1;i<=y;i++)
hasil *=x;
cout<<“Jadi “<<x<<” dipangkatkan dengan “<<y<<” = “<<hasil;
return 0;}

Program Class:
#include <iostream.h>
#include <conio.h>

class pangkat {
public :
void masukan();
void proses();
void keluaran();
private:
int x,y;
int hasil;};
void pangkat::masukan() {
cout<<“Menghitung perpangkatan\n”;
cout<<“Masukkan bilangannya: “;cin>>x;
cout<<“Masukkan bilangan pangakatnya: “;cin>>y;}
void pangkat::proses() {
hasil=1;
for(int i=1;i<=y;i++)
hasil *=x;}
void pangkat::keluaran() {
cout<<“Jadi “<<x<<” dipangkatkan dengan “<<y<<” adalah “<<hasil;}
int main(){
pangkat x;
x.masukan();
x.proses();
x.keluaran();
getch();}

Program jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
pangkat x = new pangkat();
x.masukan();
x.proses();
x.keluaran();}}
class pangkat{
void masukan(){
System.out.print(“Menghitung perpangkatan\n”);
System.out.print(“Masukkan bilangannya: “);
x =Input.readInt();
System.out.print(“Masukkan bilangan pangakatnya: “);
y =Input.readInt();}
void proses(){
hasil =1;
for(int i =1;i<=y;i++)
hasil *=x;}
void keluaran(){
System.out.print(“Jadi “);
System.out.print(x);
System.out.print(” dipangkatkan dengan “);
System.out.print(y);
System.out.print(” adalah “);
System.out.print(hasil);}
private int x;
private int y;
private int hasil;}

Penjelasan :
Program di atas adalah program yang di gunakan seperti halnya kalkulator yang dapat mencari nilai perpangkatan. Dalam hal ini kita membutuhkan 2 variabel yang akan menjadi angka yang di pangkatkan dan angka sebagai pemangkatnya. Langsung saja, program ini menggunakan fungsi perulangan atau for. Dimana batas minimalnya adalah 1 dan batas maksimalnya adalah sama dengan nilai pemangkatnya. Jadi nilai yang akan di pangkatkan akan dikalikan dengan angka itu sendiri sebanyak nilai pemangkatnya.

Virtual Laser Keyoboard

Virtual Laser Keyoboard (VKB) merupakan sebuah teknologi revolusioner yang dibuat untuk memudahkan penggunaannya, terutama para pengguna yang memiliki mobilitas tinggi dan membutuhkan keyboard untuk mengetik. Menggunakan teknologi Laser Beam untuk menghasilkan secara sempurna tampilan keyboard yang dapat langsung ditekan. Virtual Laser Keyboard ini secara logika akan memberikan clock seperti pada keyboard sebenarnya, pada Virtual Laser Keyboard ini jika proyeksi laser yang tampil terhalangi (ditekan), maka secara otomatis akan dikenali sebagai pemberian clock pada interface.

Virtual Laser Keyboard dari study adaptable teknologi adalah pengenal gerakan jari untuk menafsirkan dan menekan keystroke, karena virtual keyboard merupakan sebuah gambar terang yang diproyeksikan dan akan menghilang apabila sedang tidak digunakan, hal ini bertujuan untuk menghemat baterai. Kelebihan dari keyboard ini antara lain anti-shock, anti-air, anti-api, dan lain-lain.

Dengan ukuran yang lebih ringan dari pematik korek api Zipo, menggunakan Laser Beam untuk menghasilkan ukuran dengan sempurna dan beroperasi  memungkinkan pengguna untuk menggunakan Virtual Laser Keyboard sebagai input teks atau mengirim email seperti menggunakan keyboard komputer biasa.

Sekarang timbul suatu pertanyaan, Dimana kita bisa menggunakan Virtual Laser Keyboard ini?

Kita bisa menggunakan Virtual Laser Keyboard ini di semua jenis PC karena sudah didukung dengan adanya USB slot yang tentu saja mempermudah user (pemakai), karena sudah user friendly (familiar) dengan perangkat ini. Selain pada PC perangkat ini juga bisa digunakan pada perangkat lain, diantaranya :

  • Personal Digital Assistant (PDA)
  • Telepon Selular (HandPhone)
  • Tablet PC
  • Personal Computer (PC)
  • SmartPhone
  • MAC
  • dan lain-lain.

Virtual Laser Keyboard dapat mendukung peralatan-peralatan di atas, dikarenakan adanya device pendukung seperti, Bluetooth, USB slot, bahkan ada yang sudah menggunakan teknologi WiFi. Virtual Laser Keyboard menggunakan lampu proyeksi yang penuh seukuran keyboard komputer di hampir semua permukaan. Pada PDA dan SmartPhone digunakan sebagai keyboard yang praktis untuk menulis email, kata-kata, dan spreadsheet yang memungkinkan pengguna untuk meninggalkan laptop dan komputer rumah.

Dalam dunia PC desktop, program windows XP, keyboard virtual atau yang disebut juga On-Screen Keyboard, bekerja secara virtual bukan hanya sebagai keyboard, melainkan juga sebagai mouse.

Untuk pengoperasian Personal Data Assistant (PDA), biasanya user atau pengguna, memasukan teks melalui pengetikan di keyboard virtual yang sudah ter-setting dalam sistem operasi PDA. Sedangkan untuk virtual keyboard dengan teknologi tinggi, penggunaan keyboard dibuat hanya melalui cahaya yang muncul. Cahaya yang dimunculkan hanya perlu diproyeksikan pada semua permukaan datar.

Penggunaan keyboard virtual ini sangat ideal untuk digunakan di luar angkasa. Sensor akan terbaca via infra merah, sesuai dengan apa yang kita ketik pada keyboard tersebut.

Cara kerja Virtual Laser Keyboard :

  1. Sinar laser akan menampilkan bentuk keyboard sesuai dengan level permukaan yang dibiaskan.
  2. Bias infra merah yang transparan akan diproyeksikan menjadi keyboard virtual.
  3. Pengetikan yang dihasilkan melalui jari, akan menimbulkan key-stroke. Penekanan oleh jari inilah yang menyebabkan pertemuan antara pancaran dan sinar infra merah secara bersamaan, yang menghasilkan refleksi langsung ke proyektor.
  4. Refleksi infra merah akan melewati penyaring infra menuju kamera.
  5. Kamera lantas mengambil gambar sesuai dengan penangkapan dari infra merah.
  6. Chip dari sensor akan memperbaiki letak pancaran infra merah yang rusak, kemudian menerjemahkannya dalam koordinat.
  7. Karakter-karakter yang tercipta akan tampil pada layar, dengan menggunakan koordinat yang diterima secara wirelessly atau tanpa kabel.

Jika teknologi baru seperti laser keyboard ini dapat dilakukan adaptasi dan interaksi kepada masyarakat sebagai penggunanya, maka tidak tertutup kemungkinan teknologi lama yang bersifat konvesional lama kelamaan akan tergantikan dengan teknologi baru ini, dengan kata lain teknologi lama mengalami proses seleksi alam. Terakhir, seluruh teknologi memang diciptakan oleh manusia untuk mempermudah kehidupan manusia tapi ingatlah hal yang paling penting yaitu bahwa manusialah yang mengatur teknologi, bukan teknologi yang menguasai manusia.

Spesifikasi dan Compatibilty pada Virtual Laser Keyboard

Keyboard Projection

Light source: Red diode laser

Keyboard layout: 63 key / full sized QWERTY layout

Keyboard size: 295 x 95mm projected keyboard size

Keyboard position: 60mm from VKB unit

Required Projection surface: Non-reflective, opaque flat surface

Visibility: Good contrast up to 600 lux ambient illumination

 

Keystroke Sensor

Ambient illumination: Works under all standard indoor illuminations up to 600 lux

Detection: rate Up to 400 characters per minute

Detection algorithm: Multiple keystroke support

Effective keystroke: Approximately 2mm

Operating surface: Any firm flat surface with no protrusions greater than 1mm

 

Bluetooth

Bluetooth Spec: Bluetooth v1.1 class 2

Bluetooth Profile Supported: HID and SPP

Range of Frequency: 2.4GHz Spectrum

Transmission range: 9m

Number of supported passkeys: 5

 

Electrical

Power source: Integrated, 3.6V rechargeable lithium-ion battery

Battery capacity > 120 minutes continuous typing

Charge Method: Included 100-240V AC Wall Adapter

Dimensions

Approximately 35 x 92 x 25mm (1.38″ x 3.6″ x 1″)

Compatibility

Support for PalmOS 5, PocketPC 2003, Windows Smartphone, Symbian OS, and Windows 2000/XP (Mac OSX will work but drivers are not provided. See the bottom of this page for details.) Look below for a list of specific compatible devices. Please note your device may still work properly if not on this list as long as it supports one of the OS listed above.

PDAs

HP 1940

HP 2210

HP 4700

HP 5550

HP rx3417

HP rx3715

Dell Axim 50 X50V

MIO 336 BT

Palm Tungsten T3

Palm Tungsten T5

Palm Zire 72

 

Smartphones

Nokia 3650

Nokia 6600

Nokia 6260

Nokia 6630

Nokia 6680

Nokia 7650

Motorola A1000

Motorola MPx220

HP 6300 Series

Sony Ericsson P800

Sony Ericsson P900

Sony Ericsson P910i

Xplore M68

Palm Treo 650

Dopod 565

i-mate SP3

Qtek 8010

SPV C500

MD2000

MDA II

Qtek 2020

XDA II

Dopod 700

i-mate PDA2K

MDA III

Qtek 9090

VPA III

XDA IIs

Dopod 699

M2500

Qtek 2020i

XDA IIi

Dopod 818

i-mate JAM

M500

MDA Compact

Qtek S100

XDA mini

 

PCs and Laptops

Windows 2000/XP Drivers and Software Included

Pengertian Laser Beam

Laser (singkatan dari bahasa Inggris: Light Amplification by Stimulated Emission of Radiation) adalah sebuah alat yang menggunakan efek mekanika kuantum, pancaran terstimulasi, untuk menghasilkan sebuah cahaya yang koherens dari medium “lasing” yang dikontrol kemurnian, ukuran, dan bentuknya. Pengeluaran dari laser dapat berkelanjutan dan dengan amplituda-konstan (dikenal sebagai CW atau gelombang berkelanjutan), atau detak, dengan menggunak teknik Q-switching, modelocking, atau gain-switching.

Dalam operasi detak, banyak daya puncak yang lebih tinggi dapat dicapai. Sebuah medium laser juga dapat berfungsi sebagai amplifier optikal ketika di-seed dengan cahaya dari sumber lainnya. Signal yang diperkuat dapat menjadi sangat mirip dengan signal input dalam istilah panjang gelombang, fase, dan polarisasi; Ini tentunya penting dalam komunikasi optikal. Kata kerja “lase” berarti memproduksi cahaya koherens, dan merupakan pembentukan-belakang dari istilah laser.

Sumber cahaya umum, seperti bola lampu incandescent, memancarkan foton hampir ke seluruh arah, biasanya melewati spektrum elektromagnetik dari panjang gelombang yang luas. Banyak sumber cahaya juga incoherens; yaitu, tidak ada hubungan fase tetap antara foton yang dipancarkan oleh sumber cahaya. Secara kontras, laser biasanya memancarkan foton dalam cahaya yang sempit, dijelaskan-baik, terpolarisasi, sinar koherens mendekati-monokromatik, terdiri dari panjang gelombang tunggal atau warna.

Beberapa jenis laser, seperti laser dye dan laser vibronik benda-padat (vibronic solid-state lasers) dapat memproduksi cahaya lewat jangka lebar gelombang; properti ini membuat mereka cocok untuk penciptaan detak singkat sangat pendek dari cahaya, dalam jangka femtodetik (10-15 detik). Banyak teori mekanika kuantum dan termodinamika dapat digunakan kepada aksi laser (lihat ilmu laser), meskipun nyatanya banyak jenis laser ditemukan dengan cara trial and error.

Capability Maturity Model disingkat CMM adalah suatu model kematangan kemampuan (kapabilitas) proses yang dapat membantu pendefinisian dan pemahaman proses-proses suatu organisasi. Pengembangan model ini dimulai pada tahun 1986 oleh SEI (Software Engineering Institute) atas permintaan Departemen Pertahanan Amerika Serikat di Universitas Carnegie Mellon di Pittsburgh, Amerika Serikat dengan tujuan membuat ujian saringan masuk bagi kontraktor yang mendaftarkan diri untuk menjadi konsultan DOD. Capability diterjemahkan menjadi kapabilitas yang berarti kemampuan yang bersifat laten. Capability lebih mengarah kepada integritas daripada kapabilitas itu sendiri. Definisi integritas adalah kemampuan untuk menepati janji. Maturity berarti matang atau dewasa. Matang merupakan hasil proses. Model didefinisikan sebagai suatu penyederhanaan yang representatif terhadap keadaan di dunia nyata. CMM awalnya ditujukan sebagai suatu alat untuk secara objektif menilai kemampuan kontraktor pemerintah untuk menangani proyek perangkat lunak yang diberikan. Walaupun berasal dari bidang pengembangan perangkat lunak, model ini dapat juga diterapkan sebagai suatu model umum yang membantu pemahaman kematangan kapabilitas proses organisasi di berbagai bidang. Misalnya rekayasa perangkat lunak, rekayasa sistem, manajemen proyek, manajemen risiko, teknologi informasi, serta manajemen sumber daya manusia. Jadi secara keseluruhan CMM juga dapat didefinisikan sebagai berikut : CMM adalah sebuah penyederhanaan yang representatif yang digunakan untuk mengukur tingkat kematangan sebuah software development house dalam menyajikan membuat mengembangkan perangkat lunak sebagaimana telah dijanjikan secara tertulis dalam perjanjian kerja sama. Keyword utama dari CMM adalah mengukur. Mengukur didefinisikan sebagai suatu proses untuk memetakan sebuah kondisi ke dalam sebuah skala/ukuran. Berbicara mengukur kita berbicara :

• Apa yang diukur (parameter)

• Bagaimana cara mengukurnya (metode)

• Bagaimana standard penilaiannya (skala penilaian)

• Bagaimana interpretasinya (artinya bagi manusia)

Parameter adalah attribut dari sebuah entity yang akan diukur. Interpretasi adalah pemetaan dari hasil pengukuran ke dalam bahasa manusia. Mungkin sulit dipahami untuk itu saya beri ilustrasi sebagai berikut : Nilai rata-rata IP mahasiswa perguruan tinggi X adalah 3,5 dari nilai maximum 4. Fakta di atas dapat diinterpretasikan sebagai :

• Mahasiswanya pintar

• Materinya terlalu dangkal

• Mahasiswa jago nyontek

• Nilai bisa dibeli Untuk mengukur tingkat kematangan sebuah organisasi tidaklah mudah.

Proses ini melibatkan serangkaian parameter untuk diukur. Mekanisme yang digunakan adalah mekanisme oberservasi oleh lembaga sertifikasi independen yang melakukan pengamatan terhadap organisasi yang akan dinilai. Untuk menilainya digunakan metode analitical hirarki process (AHP). Sebagai ilustrasi dari metode AHP adalah sistem SKS di kampus kita masing-masing yaitu dengan ada sebuah parameter, nilai dan bobot (sks matakuliah) Capability Maturity Model membuat 5 level/skala kematangan yaitu :

• Initial

• Repeatable

• Defined

• Managed

Optimized Level initial bercirikan sebagai berikut :

• Tidak adanya manajemen proyek

• Tidak adanya quality assurance

• Tidak adanya mekanisme manajemen perubahan (change management)

• Tidak ada dokumentasi

Adanya seorang guru/dewa yang tahu segalanya tentang perangkat lunak yang dikembangkan. Sangat bergantung pada kemampuan individual Level Repeatable bercirikan sebagai berikut :

• Kualitas perangkat lunak mulai bergantung pada proses bukan pada orang

• Ada manajemen proyek sederhana

• Ada quality assurance sederhana

• Ada dokumentasi sederhana

• Ada software configuration managemen sederhana

• Tidak adanya knowledge managemen

• Tidak ada komitment untuk selalu mengikuti SDLC dalam kondisi apapun

• Tidak ada statiskal control untuk estimasi proyek

• Rentan terhadap perubahan struktur organisasi.

Level Defined bercirikan :

• SDLC sudah dibuat dan dibakukan

• Ada komitmen untuk mengikuti SDLC dalam keadaan apapun

• Kualitas proses dan produk masih bersifat kwalitatif bukan kualitatif (tidak terukur hanya kira-kira saja)

• Tidak menerapkan Activity Based Costing

• Tidak ada mekanisme umpan balik yang baku Level Managed bercirikan :

• Sudah adanya Activity Based Costing dan dan digunakan untuk estimasi untuk proyek berikutnya

• Proses penilaian kualitas perangkat lunak dan proyek bersifat kuantitatif.

• Terjadi pemborosan biaya untuk pengumpulan data karena proses pengumpulan data masih dilakukan secara manual

• Cenderung bias. Ingat efect thorne, manusia ketika diperhatikan maka prilakunya cenderung berubah.

• Tidak adanya mekanisme pencegahan defect

• Ada mekanisme umpan balik Level Optimized bercirikan :

• Pengumpulan data secara automatis

• Adanya mekanisme pencegahan defect

• Adanya mekanisme umpan balik yang sangat baik

• Adanya peningkatan kualitas dari SDM dan peningkatan kualitas proses.

Ekivalensi CMM dengan programming. Programming atau pembuatan program dapat dibuat kesamaannya dengan CMM. Programming in small (coding red) ekivalen dengan CMM level 1. Programming in large (proyek managemen, documentasi, dll) ekivalen dengan CMM level 2. Keduanya dapat dikelompokan menjadi programming as art proccess karena tidak memiliki unsur engineering. Unsur engineering yang perlu ditambahkan adalah standarisasi (pembakuan) dan pengukuran. Jika sudah dilakukan standarisasi maka ekivalen dengan CMM level 3. Jika sudah ada pengukuran maka ekivalen dengan CMM level 4. Jika sudah sampai di level 4 maka programming dapat dianggap sebagai engineering process. Keseluruhan level dari 1-4 dapat dipandang sebagai programming as discreet process dimana tidak ada pengembangan berkelanjutan (life time quality improvment). Baru pada level 5 programming dapat dianggap sebagai continues process dimana peningkatan kualitas sumber daya manusia dan proses dilakukan secara terus menerus. Secara umum, maturity model biasanya memiliki ciri sebagai berikut:

1. Proses pengembangan dari suatu organisasi disederhanakan dan dideskripsikan dalam wujud. tingkatan kematangan dalam jumlah tertentu (biasanya empat hingga enam tingkatan)

2. Tingkatan kematangan tersebut dicirikan dengan beberapa persyaratan tertentu yang harus diraih.

3. Tingkatan-tingkatan yang ada disusun secara sekuensial, mulai dari tingkat inisial sampai pada tingkat akhiran (tingkat terakhir merupakan tingkat kesempurnaan).

4. Selama pengembangan, sang entitas bergerak maju dari satu tingkatan ke tingkatan berikutnya tanpa boleh melewati salah satunya, melainkan secara bertahap berurutan.

Di tahun 2000 CMM dileburkan ke dalam CMMI (Capability Maturity Model Integration). Peleburan ini disebabkan karena adanya kritik bahwa pengaplikasian CMM di pengembangan perangkat lunak khususnya bisa menimbulkan masalah karena model CMM yang belum terintegrasi di dalam dan di seantero organisasi. Ini kemudian memunculkan beban biaya dalam hal pelatihan, penaksiran kinerja, dan aktivitas perbaikan. Namun CMM masih tetap digunakan sebagai model acuan teoritis di ranah publik untuk konteks yang berbeda. CMM sendiri telah diganti namanya menjadi SE-CMM (Software Engineering CMM).

Sistem Informasi Geografis (bahasa Inggris: Geographic Information System disingkat GIS) adalah sistem informasi khusus yang mengelola data yang memiliki informasi spasial (bereferensi keruangan). Atau dalam arti yang lebih sempit, adalah sistem komputer yang memiliki kemampuan untuk membangun, menyimpan, mengelola dan menampilkan informasi berefrensi geografis, misalnya data yang diidentifikasi menurut lokasinya, dalam sebuah database. Para praktisi juga memasukkan orang yang membangun dan mengoperasikannya dan data sebagai bagian dari sistem ini.

Teknologi Sistem Informasi Geografis dapat digunakan untuk investigasi ilmiah, pengelolaan sumber daya, perencanaan pembangunan, kartografi dan perencanaan rute. Misalnya, SIG bisa membantu perencana untuk secara cepat menghitung waktu tanggap darurat saat terjadi bencana alam, atau SIG dapat digunaan untuk mencari lahan basah (wetlands) yang membutuhkan perlindungan dari polusi.

Sejarah pengembangan

35000 tahun yang lalu, di dinding gua Lascaux, Perancis, para pemburu Cro-Magnon menggambar hewan mangsa mereka, juga garis yang dipercaya sebagai rute migrasi hewan-hewan tersebut. Catatan awal ini sejalan dengan dua elemen struktur pada sistem informasi gegrafis modern sekarang ini, arsip grafis yang terhubung ke database atribut.

Pada tahun 1700-an teknik survey modern untuk pemetaan topografis diterapkan, termasuk juga versi awal pemetaan tematis, misalnya untuk keilmuan atau data sensus.

Awal abad ke-20 memperlihatkan pengembangan “litografi foto” dimana peta dipisahkan menjadi beberapa lapisan (layer). Perkembangan perangkat keras komputer yang dipacu oleh penelitian senjata nuklir membawa aplikasi pemetaan menjadi multifungsi pada awal tahun 1960-an.

Tahun 1967 merupakan awal pengembangan SIG yang bisa diterapkan di Ottawa, Ontario oleh Departemen Energi, Pertambangan dan Sumber Daya. Dikembangkan oleh Roger Tomlinson, yang kemudian disebut CGIS (Canadian GIS – SIG Kanada), digunakan untuk menyimpan, menganalisis dan mengolah data yang dikumpulkan untuk Inventarisasi Tanah Kanada (CLI – Canadian land Inventory) – sebuah inisiatif untuk mengetahui kemampuan lahan di wilayah pedesaan Kanada dengan memetakaan berbagai informasi pada tanah, pertanian, pariwisata, alam bebas, unggas dan penggunaan tanah pada skala 1:250000. Faktor pemeringkatan klasifikasi juga diterapkan untuk keperluan analisis.

CGIS merupakan sistem pertama di dunia dan hasil dari perbaikan aplikasi pemetaan yang memiliki kemampuan timpang susun (overlay), penghitungan, pendijitalan/pemindaian (digitizing/scanning), mendukung sistem koordinat national yang membentang di atas benua Amerika , memasukkan garis sebagai arc yang memiliki topologi dan menyimpan atribut dan informasi lokasional pada berkas terpisah. Pengembangya, seorang geografer bernama Roger Tomlinson kemudian disebut “Bapak SIG”.

CGIS bertahan sampai tahun 1970-an dan memakan waktu lama untuk penyempurnaan setelah pengembangan awal, dan tidak bisa bersaing denga aplikasi pemetaan komersil yang dikeluarkan beberapa vendor seperti Intergraph. Perkembangan perangkat keras mikro komputer memacu vendor lain seperti ESRI, CARIS, MapInfo dan berhasil membuat banyak fitur SIG, menggabung pendekatan generasi pertama pada pemisahan informasi spasial dan atributnya, dengan pendekatan generasi kedua pada organisasi data atribut menjadi struktur database. Perkembangan industri pada tahun 1980-an dan 1990-an memacu lagi pertumbuhan SIG pada workstation UNIX dan komputer pribadi. Pada akhir abad ke-20, pertumbuhan yang cepat di berbagai sistem dikonsolidasikan dan distandarisasikan menjadi platform lebih sedikit, dan para pengguna mulai mengekspor menampilkan data SIG lewat internet, yang membutuhkan standar pada format data dan transfer.

Indonesia sudah mengadopsi sistem ini sejak Pelita ke-2 ketika LIPI mengundang UNESCO dalam menyusun “Kebijakan dan Program Pembangunan Lima Tahun Tahap Kedua (1974-1979)” dalam pembangunan ilmu pengetahuan, teknologi dan riset.

Jenjang pendidikan SMU/senior high school melalui kurikulum pendidikan geografi SIG dan penginderaan jauh telah diperkenalkan sejak dini. Universitas di Indonesia yang membuka program Diploma SIG ini adalah D3 Penginderaan Jauh dan Sistem Informasi Geografi, Fakultas Geografi, Universitas Gadjah Mada, tahun 1999. Sedangkan jenjang S1 dan S2 telah ada sejak 1991 dalam Jurusan Kartografi dan Penginderaan Jauh, Fakultas Geografi, Universitas Gadjah Mada. Sejauh ini SIG sudah dikembangkan hampir disemua universitas di Indonesia melalui laboratorium-laboratorium, kelompok studi/diskusi maupun matapelajaran.