salju

Selasa, 23 Juni 2009

Membuat Web Service dengan PHP

php
Dalam tutorial kali ini, saya akan menjelaskan cara membuat server dan client web service dengan PHP. Web service yang akan kita buat adalah web service yang menyediakan layanan operasi-operasi dasar matematika.
Kebutuhan
Paket SOAP untuk PEAR
Yap.. itu saja :D
Membuat Server
Untuk membuat server yang menyediakan web service, kita harus membuat sebuah kelas yang berisi method-method yang akan kita jadikan web service.
class OperasiMatematika {

function tambah($a, $b) {
return $a + $b;
}

function kurang($a, $b) {
return $a - $b;
}

function kali($a, $b) {
return $a * $b;
}

function bagi($a, $b) {
if ($b == 0) {
/* error */
}
else {
return $a / $b;
}
}

function mod($a, $b) {
return $a % $b;
}

}
Kelas tersebut akan menjadi dasar web service yang akan kita buat. Setelah itu, kita harus membuat daftar method-method yang akan dijadikan web service. Agar pendefinisian kelas dan pendefinisian daftar method untuk web service tidak dicampur, kita akan membuat daftar method-method tersebut dalam kelas turunannya saja.
class OperasiMatematikaService extends OperasiMatematika {

var $__dispatch_map;

function OperasiMatematikaService() {

$this->__dispatch_map['tambah'] = array(
'in' => array('a' => 'int', 'b' => 'int'),
'out' => array('hasil' => 'int')
);

$this->__dispatch_map['kurang'] = array(
'in' => array('a' => 'int', 'b' => 'int'),
'out' => array('hasil' => 'int')
);

$this->__dispatch_map['kali'] = array(
'in' => array('a' => 'int', 'b' => 'int'),
'out' => array('hasil' => 'int')
);

$this->__dispatch_map['bagi'] = array(
'in' => array('a' => 'int', 'b' => 'int'),
'out' => array('hasil' => 'float')
);

$this->__dispatch_map['mod'] = array(
'in' => array('a' => 'int', 'b' => 'int'),
'out' => array('hasil' => 'int')
);

}

function __dispatch($method_name) {

if (isset($this->__dispatch_map[$method_name])) {
return $this->__dispatch_map[$method_name];
}
else {
return NULL;
}
}

}
Perhatikan potongan source code di bawah ini.
$this->__dispatch_map['mod'] = array(
'in' => array('a' => 'int', 'b' => 'int'),
'out' => array('hasil' => 'int')
);
Bagian tersebut berisi penjelasan method yang didaftarkan untuk menjadi web service. Nilai dari key dari variabel $this->__dispatch_map, dalam hal ini adalah mod, adalah nama method yang akan dijadikan web service. Method ini harus ada di dalam kelas.
Nilai dari variabel tadi menjelaskan mengenai method yang bersangkutan. Dalam contoh di atas, method mod adalah method yang memiliki tipe operasi Request-response, yaitu method yang menerima request dan akan mengeluarkan response.
Jika kita lihat pada potongan source code di atas, method mod akan menerima input berupa dua buah variabel, yaitu a dan b yang masing-masing memiliki tipe int. Method tersebut akan mengeluarkan output berupa sebuah variabel hasil dengan tipe int.
Dalam contoh kelas OperasiMatematika, pada method bagi, ada bagian yang baru saya beri tanda /* error */. Bagian tersebut akan berisi potongan source code yang dapat mengeluarkan informasi error kepada client dari web service. Potongan source code yang akan kita isikan pada bagian tersebut adalah sebagai berikut.
return new SOAP_Fault('Anda melakukan pembagian dengan nol');
Method bagi dalam kelas OperasiMatematika akan menjadi sebagai berikut.
function bagi($a, $b) {
if ($b == 0) {
return new SOAP_Fault('Anda melakukan pembagian dengan nol');
}
else {
return $a / $b;
}
}
Sampai saat ini, Anda telah membuat sebuah deskripsi dari web service yang akan dibuat. Agar kelas-kelas tadi dapat digunakan sebagai web service, kita akan menggunakan fasilitas dari paket SOAP dari PEAR.

include_once('SOAP/Server.php');
include_once('SOAP/Disco.php');

class OperasiMatematika {
...
}

class OperasiMatematikaService extends OperasiMatematika {
...
}

$soap = new SOAP_Server();
$soap->_auto_translation = true;

$matematika = new OperasiMatematikaService();
$soap->addObjectMap($matematika, 'http://schemas.xmlsoap.org/wsdl/');

if (isset($_SERVER['REQUEST_METHOD']) && ($_SERVER['REQUEST_METHOD'] == 'POST')) {
$soap->service($HTTP_RAW_POST_DATA);
}
else {
header('Content-type: text/xml');
$disco = new SOAP_DISCO_Server($soap, 'OperasiMatematikaService');

if (isset($_SERVER['QUERY_STRING']) && (strcasecmp($_SERVER['QUERY_STRING'], 'wsdl') == 0)) {
print($disco->getWSDL());
}
else {
print($disco->getDISCO());
}
}

?>
Lengkapi isi dari kelas OperasiMatematika dan OperasiMatematikaService pada potongan source code di atas agar menjadi source code utuh yang dapat digunakan.
File PHP yang kita buat di atas berisi pendefinisian kelas yang akan menjadi web service, sebuah fasilitas untuk memproses request yang datang, dan fasilitas untuk melihat WSDL atau deskripsi dari web service yang kita buat.
Setelah semua ini dibuat, web service yang Anda buat sudah siap untuk digunakan. Anda dapat menggunakan fasilitas dari Microsoft .NET, Apache AXIS, atau client web service lainnya (seperti yang akan kita buat juga) untuk mengakses web service ini.
Source code
Demo server
WSDL
Membuat Client
Pembuatan client web service jauh lebih mudah daripada pembuatan server. Yang harus Anda lakukan pertama kali adalah menentukan alamat web service yang akan di akses. Saya akan menggunakan web service yang terletak pada http://arsip.fajran.web.id/web/tutorial/web-service-dengan-php/server.php?wsdl sebagai bahan uji coba pembuatan client web service.
Pertama-tama, Anda harus membuat proxy (client stub) sebagai perantara antara aplikasi client dan web service yang ingin Anda akses.
$soap = new SOAP_WSDL('http://arsip.fajran.web.id/web/tutorial/web-service-dengan-php/server.php?wsdl');
$proxy = $soap->getProxy();
Setelah proxy berhasil dibuat, Anda dapat menggunakan object $proxy tadi untuk mengakses method-method yang dijadikan web service seolah-olah method-method tersebut adalah method lokal.
$a = 2;
$b = 2;

$hasil = $proxy->tambah($a, $b);
print("

$a + $b = $hasil

");

$hasil = $proxy->kurang($a, $b);
print("

$a - $b = $hasil

");

$hasil = $proxy->kali($a, $b);
print("

$a * $b = $hasil

");

$hasil = $proxy->bagi($a, $b);
print("

$a / $b = $hasil

");

$hasil = $proxy->mod($a, $b);
print("

$a % $b = $hasil

");
Jika script di atas dijalankan, maka hasil yang akan Anda dapatkan adalah sebagai berikut.
2 + 2 = 4

2 - 2 = 0

2 * 2 = 4

2 / 2 = 1

2 % 2 = 0

struktur kontrol php

MODUL 5
STRUKTUR KONTROL PROGRAM

5.1 Struktur Berurutan
Struktur ini merupakan struktur yang paling sederhana. Program akan dijalankan secara urut dari awal program ke akhir program .
Contoh :
echo "Statemen 1";
echo "Statemen 2";
echo "Statemen 3";
?>
Disini dikenal istilah blok program , yaitu sebuah potongan program yang diapit oleh tanda { }.
Contoh :
If(true) { // awal blok
kata = "test";
echo "Ini tercetak\n";
echo "Jika kondisi bernilai true";
} // akhir blok
Catatan
Variable yang dideklarasikan pada suatu blok bersifat lokal di dalam blok tersebut. Blok biasanya digunakan untuk menyatakan bagian pada struktur kontrol lainnya.

5.2 Struktur Seleksi
Struktur ini digunakan untuk mengatur aliran program berdasarkan kondisi tertentu yang ditetapkan. Struktur ini terdiri dari struktur if … else dan switch. Struktur if … else digunakan untuk masalah percabangan proses.
Sintak :
If(syarat/kondisi){
Operasi yang dijalankan;
} else {
Operasi yang dijalankan;
}
Nilai dari syarat / kondisi adalah true atau false. True jika syarat terpenuhi dan false jika syarat tidak terpenuhi.
Contoh :
$nilai = 60;
if($nilai >= 50)
echo "Anda Lulus";
else
echo "Anda tidak lulus";
?>
Karena $nilai >= 50 maka kalimat "Anda Lulus" yang akan dicetak.

Untuk seleksi dengan alternatif banyak digunakan struktur switch.
Sintak :
switch(variable) {
case nilai 1 : perintah yang dijalankan ; break;
case nilai 2 : perintah yang dijalankan ; break;
...
default : perintah yang dijalankan ; break;
}
Contoh :
$bulan = 2;
Switch ($bulan) {
Case 1 : echo "Januari"; break;
Case 2 : echo "Februari"; break;
Case 3 : echo "Maret"; break;
Case 4 : echo "April"; break;
Case 5 : echo "Mei"; break;
Case 6 : echo "Juni"; break;
Case 7 : echo "Juli"; break;
Case 8 : echo "Agustus"; break;
Case 9 : echo "September"; break;
Case 10 : echo "Oktober"; break;
Case 11 : echo "November"; break;
Case 12 : echo "Desember"; break;
}
?>
Output :
Februari
 Selain switch dapat juga digunakan struktur if … elseif … else :
Sintak :
If ($syarat 1) {
proses 1
}
elseif ($syarat 2) {
proses 2
}
else {
proses 3
}
Contoh :
$hari = 3;
if($hari == 1) echo "Senin";
elseif($hari == 2) echo "Selasa";
elseif($hari == 3) echo "Rabu";
elseif($hari == 4) echo "Kamis";
elseif($hari == 5) echo "Jumat";
elseif($hari == 6) echo "Sabtu";
elseif($hari == 7) echo "Minggu";
else echo "Salah kode hari";
Output :





5.3 Struktur Pengulangan
Perulangan adalah sebuah proses eksekusi operasi program secara berulang-ulang sampai ditemui kondisi untuk mengakhiri eksekusi tersebut.

5.3.1 While loop
Bentuk while loop sebenarnya mengambil bentuk aliran logika seperti yang ditunjukkan oleh Gambar 5.1. Ada bagian operasi program yang akan diulang selama kondisi yang diuji masih bernilai true. Tentu saja agar tidak terjadi invinite loop, maka kondisi yang diuji harus berubah paa setiap iterasi.

Sintak :
while(syarat) {
operasi program ;
}
Operasi program akan dieksekusi terus-menerus selama syarat bernilai true. Bagian blok while mungkin dapat tidak dieksekusi jika pada awal looping syarat telah bernilai false.
Contoh :
$a = 0 ;
while($a < 5){
echo $a ;
$a++ ;
}
Output :
01234

 
5.3.2 Do - While loop
Bentuk do-while loop sebenarnya juga mengambil bentuk aliran logika seperti yang ditunjukkan oleh Gambar 5.2. Ada bagian operasi program yang akan diulang selama kondisi yang diuji masih bernilai true. Tentu saja agar tidak terjadi invinite loop, maka kondisi yang diuji juga harus berubah paa setiap iterasi.

Sintak :
do {
proses program ;
}while($syarat);
Proses program minimal dijalankan sekali karena pengujjian syarat dilakukan diakhir struktur. Blok do-while akan dieksekusi lagi jika syarat bernilai true;
Contoh :
$a = 0;
do {
echo $a;
$a++;
} while ($a < 5);
Output :
01234 
 



5.3.3 For loop
Bentuk for loop sebenarnya juga mengambil bentuk aliran logika seperti yang ditunjukkan oleh Gambar 5.1. Ada bagian operasi program yang akan diulang selama kondisi yang diuji masih bernilai true. Tentu saja agar tidak terjadi invinite loop, maka kondisi yang diuji juga harus berubah paa setiap iterasi. Inisialisai kondisi diberikan pada parameter pertama sintaks for (lihat sintaks for). Pengujian dilakukan pada parameter kedua sintaks for. Perubahan kondisi dilakukan pada parameter ketiga sintaks for.

Sintak :
for( nilai awal loop, syarat , penambahan ) {
operasi program ;
}
Contoh :
for ( $a = 0 ; $a < 5 ; $a++ ) {
echo $a ;
}
Output :
01234

Catatan Untuk menghentikan perulangan dari suatu loop digunakan kata kunci break. Break diikuti dengan numeric argumen menunjukkan berapa tingkatan loop yang dihentikan perulangannya.
Contoh :
$i = 0 ;
while(true) {
switch($i) {
case 0 : echo "Break pertama"; break 1 ;
case 1 : echo "Break kedua"; break 2 ;
default : break ;
}
$i++ ;
}
?>

5.4 Menghentikan Sebuah Loop
Ada kala kita ingin menghentikan atau keluar dari loop secara tiba-tiba. Meskipun tidak dianjurkan, PHP menyediakan perintah untuk hal ini, yakni perintah break dan exit. Perhatikan contoh di bawah ini.
Contoh Menghentikan sebuah Loop untuk menghindari Loop:


$counter = -3;

for (; $counter < 10; $counter++){
    // Check for division by zero
    if ($counter == 0){
        echo "Stopping to avoid zero.";
        break;
    }

    echo "100/$counter
";
}

?>

Script di atas menghasilkan:

100/-3
100/-2
100/-1
Stopping to avoid division by zero.

Dia akan loop sampai fungsi if dan karena ada script break, maka proses akan berhenti.

5.5 Statement continue
Penghentian loop dapat dilanjutkan dengan statement continue. Perhatikan contoh berikut:


$counter =- 3;

for (; $counter < 10; $counter++){
    // Check for division by zero
    if ($counter == 0){
        echo "Skipping to avoid zero.
";
        continue;
    }

    echo "100/$counter
";
}

?>

Script di atas akan menghasilkan:

100/-3
100/-2
100/-1
Skipping to avoid zero.
100/1
100/2
100/3
100/4
100/5
100/6
100/7
100/8
100/9

Dia akan loop sampai fungsi if dan karena ada script continue, maka proses akan berhenti mengganti angka 0 menjadi
Skipping to avoid zero
lalu looping akan di lanjutkan kembali

Selasa, 16 Juni 2009

MATERI PHP 2

MySQL adalah konsep penanganan database, terutama seleksi dan pemasukan data, sehingga pengolahan data bisa dikerjakan dengan mudah dan cepat. Kemampuan suatu sistem database (DBMS) dapat dikatakan baik dengan melihat dari cara kerja optimizer-nya dalam menjalankan proses perintah-perintah SQL, yang dibuat oleh pengguna maupun program-program aplikasinya. Sebagai database server, MySQL secara nyata lebih unggul dibanding database server lainnya dalam penanganan data. Ini dibuktikan dengan melihat yang dilakukan oleh single user, kecepatan query MySQL jauh lebih cepat dari PostgreSQL dan juga lima kali lebih cepat dibandingkan Interbase.


Koneksi Database Dengan menggunakan PHP


Koneksi Antara database dan PHP sangat penting dalam pembuatan web yang berguna untuk pemanggilan Data seperti yang digunakan dalam pembuatan Register,Membuat polling dan Pembuatan Cuplikan artikel.PHP paling sering di manfaatkan Oleh para web developer karena kemampuanya melakukan koneksi ke DATABASE dengan mudah dan cepat. Sehingga memudahkan kita untuk melakukan koneksi antara PHP dan database. Dalam pembahasan kali ini kita akan menggunakan MYSQL karena perangkat lunak databases satu ini sangat popular dan bersifat open source dan yang paling penting PHP memiliki fungsi-fungsi yang mendukung Penggunaan perangkat lunak yang satu ini.

Pembahasan kali ini saya terapkan setelah membaca PCplus dan saya telah mencoba setelah melakukan beberapa modifikasi dan berhasil dengan baik, kali ini saya terapkan dengan cara dan bahasa saya yg mudah dimengerti.

Pada dasarnya aplikasi MySQL terdiri dari dua bagian, yaitu MySQL server yang berjalan sebagai service atau daemon, beberapa perintah yang dijalankan dari command prompt atau shell yang digunakan untuk administrasi server, dan MySQL client yang menyediakan antarmuka untuk melakukan administrasi database di MySQL server.

Untuk keperluan contoh dan latihan, kita akan membuat sebuah database dengan MySQL. Buatlah sebuah database dengan nama perpustakaan sebagai berikut:

mysql> create database perpustakaan;

Pilihlah database tersebut sebagai database aktif.

mysql> use perpustakaan;

Buatlah sebuah tabel baru dengan nama table1 sebagai berikut:

mysql> create table table1(

-> nama_buku varchar(50),

-> jenis_buku varchar(30),

-> deskripsi varchar(50),

-> penulis varchar(30),

-> penerbit varchar(30);

Tabel ini adalah contoh suatu tabel daftar nama. Isikan tabel tersebut dengan data-data yang terdapat pada tabel A sebagai berikut:

Tabel A. Record-record untuk table1
nama_buku jenis_buku deskripsi penulis penerbit
Web dan PHP Pemrograman Cara cepat belajar PHP anton Tiga Serangkai
Cara mendidik anak keluarga Cara praktis mendidik anak andi Tiga Serangkai
Malin kundang Cerita rakyat Menceritakan tentang anak yang durhaka dayat Gava Media
Hidup sehat dengan olahraga Tips Cara hidup sehat Gale Gava Media
Instalasi komputer Komputer Cara Instalasi komputer Rasyid Tiga Serangkai

Ini trik untuk mempermudah proses “pengisian” data ini. Buatlah sebuah file teks yang berisi teks sebagai berikut:

Insert into table1 values (’web dan php’,'Pemrograman’,'cara cepat belajar php’,'anton’,'Tiga serangkai’);

Simpanlah file teks tersebut dengan nama misalnya table1.sql. Lalu jalankan perintah mysql dari prompt/shell sebagai berikut:

# mysql pcplus < table1.sql

atau

c:\mysql\bin> mysql pcplus < table1.sql

Bila perlu sertakan path lengkap dari file table1.sql tersebut.

Untuk memeriksa apakah pengisian data tersebut berhasil, maka buatlah query sebagai berikut:

myqsl> use perpustakaan;

mysql> select * from table1;

Hasil yang diberikan seharusnya sama persis dengan yang terlihat pada tabel A.

Nah, sekarang kita masuk ke aplikasi PHP yang akan mengakses database tersebut. Latihan pertama yang diberikan adalah mengakses atau melakukan koneksi ke server MySQL, mengambil query, dan menampilkan query tersebut ke halaman web.

Untuk melakukan koneksi ke database MySQL digunakan fungsi mysql_connect(). Fungsi ini merupakan jembatan antara aplikasi PHP dengan database MySQL. Sintaksnya adalah sebagai berikut:

mysql_connect(server, user, password)

Server adalah nama server yang merupakan host dari MySQL server, sedangkan user dan password adalah user dan password MySQL. Contoh:

$conn = mysql_connect(’localhost’,'root’,'rahasia’)

Setelah jembatan itu terbentuk, berikutnya adalah memilih database mana yang akan digunakan dalam aplikasi PHP. Fungsi yang digunakan adalah mysql_select_db(). Sintaksnya adalah sebagai berikut:

mysql_select_db(namadatabase[,koneksi])

Parameter koneksi adalah variabel yang menyimpan koneksi ke MySQL server yang dilakukan oleh fungsi mysql_connect(). Contoh:

mysql_select_db(’perpustakaan’,$conn)

Berikutnya adalah mengambil query dari database yang telah terkoneksi tersebut. Fungsi yang digunakan adalah mysql_query(). Sintaksnya adalah sebagai berikut:

mysql_query(perintahsql[,koneksi])

Contoh:

$qry = mysql_query(’select * from table1′,$conn)

Yang terakhir adalah menampilkan hasil query tersebut ke halaman web. Fungsi yang digunakan adalah mysql_fetch_array(). Fungsi ini digunakan untuk memasukkan hasil query ke dalam array assosiatif dan/atau array numeris. Dalam bentuk variabel array, tentunya record-record tersebut kini bisa ditampilkan. Sintaks dari fungsi mysql_fetch_array() adalah sebagai berikut:

mysql_fetch_array(query)

Query adalah hasil query yang didapatkan dari fungsi mysql_query(). Contoh:

$row = mysql_fetch_array($qry)

Berikut ini adalah contoh skrip lengkap bagaimana mengakses tabel table1 dari database yang telah kita buat di awal artikel ini.





Koneksi Ke Database






$host = “localhost”;

$user = “root”;

$pwd = “rahasia”;

$db = “perpustakaan”;

$sql = “select * from table1″;

$conn = mysql_connect($host,$user,$pwd);

mysql_select_db($db);

$qry = mysql_query($sql);

?>


















while ($row = mysql_fetch_array($qry)) {

?>
















}

?>


Senin, 11 Mei 2009

sebuah cerita cinta

Tersebutlah seorang cewek pemalu yang selalu suka menyendiri. Cewek ini adalah tipe orang yang sulit jatuh cinta. Dalam seumur hidupnya itu dia baru merasakan cinta satu kali. Dan itupun tak berakhir bahagia, hingga ia hanya bisa menyimpannya dalam hati saja. Suatu ketika ia bertemu dengan seorang cowok. Cowok yang tak kalah pemalunya dari si cewek. Meskipun begitu si cewek merasakan hal yang aneh setiap melihat cowok itu. Tetapi si cewek berusaha untuk tidak terlalu berharap, karena menurutnya cowok itu tidak merasakan hal yang sama. Bahkan si cewek merasa bahwa si cowok tidak menyukainya. Karena setiap kali mereka berdua, si cowok hanya diam saja dengan tatapan kosong tanpa ekspresi. Belum lagi hubungan mereka tiba-tiba terputus dalam waktu yang cukup lama. Tetapi si cewek tidak bisa mengendalikan pikirannya untuk tidak memikirkan si cowok. Sampai suatu ketika, cowok itu muncul lagi dalam kehidupan si cewek. Dia datang dengan membawa sejuta sayang dan setumpuk perhatian. Hal itu tentu saja membuat si cewek bahagia. Hari-harinya selalu dipenuhi senyuman ketika bersama cowok itu. Bahkan si cewek merasa (akhirnya) ia bisa jatuh cinta lagi. Benarkah bahagia? Tak ada seorangpun yang tau betapa sakitnya hati si cewek…

Karena saat cowok itu datang dengan cintanya,(telah) ada cowok lain yang telah bersamanya.

pernikahan dan komitmen

Pernikahan, Cinta dan Komitmen

“Pernikahan itu dilandaskan pada sebuah apa?” pertanyaan itu aku lontarkan pada sebuah suara manis di ujung telpon sana. “Komitmen,” jawabnya. “Sebuah komitmen langgeng karena apa?” pertanyaan lanjutan coba aku lontarkan. Suara di ujung telpon itu terdiam. “Saling pengertian dan saling memahami?” aku mencoba menjawab dengan sebuah pertanyaan tertutup. “Iya,” suara di seberang itu mengiyakan.

Itulah realitas, cinta bisa datang dan pergi. Perasaan bisa berubah setiap saat. Namun tidak dengan komitmen (untuk terus mencoba saling mengerti dan saling memahami). Pernikahan adalah sebuah kontrak kesepakatan. Sebuah kontrak kesepakatan antara dua manusia.

“Tapi bukankah kita harus jujur dengan perasaan kita? Bukankah itu yang pernah kamu katakan padaku dulu?” Suara di seberang itu mencoba membela dirinya. “Iya. Tapi bersikap jujur pada perasaan bukan berarti dengan cara bersikap membabi buta dan mengambil keputusan bodoh bahkan tidak rasional bukan?” jawabku.

Benar, memang kita harus bersikap jujur dengan perasaan kita. Salah satunya dengan cara memberi kesempatan pada diri kita sendiri untuk mengaktualisasikan apa yang kita rasakan.

Memang cinta dan komitmen adalah hal yang berbeda. Namun keduanya akan mempunyai persinggungan (bahkan beririsan) apabila kita membicarakan keduanya dalam konteks pernikahan.

Aku percaya, bahwa pernikahan para orang tua jaman baheula dulu itu bisa awet karena diantara pihak mempunyai energi dan kesadaran bahwa saling pengertian dan saling memahami itu lebih penting dan berharga ketimbang cinta. Bahkan cinta bisa muncul dari saling pengertian dan saling memahami.

Perempuan di ujung telpon sana itu terdiam. “Jujur, aku sekarang lebih memilih mencari perempuan yang bisa mengerti dan memahami aku. Perempuan yang bisa menerima aku apa adanya. Daripada aku terus mengejar-ngejar perempuan yang aku cintai, namun tak kunjung (mau dan) mampu mengerti dan memahami aku,” sebuah kata penutup ku ucapkan yang sempat membuat perempuan itu terhenyak sejenak.

Memang tidak mudah untuk bersikap rasional dengan perasaan kita. Namun bukan berarti itu tak mungkin untuk dilakukan.

Pengantar Teknologi informasi

Nama Buku Jenis_buku Deskripsi Penulis Penerbit
Sejarah penggunaan Hardware komputer di dunia

Hampir setiap hari tentunya kita yang bergelut di dunia IT tidak terlepas dari PC untuk membantu memudahkan kita dalam meringankan beban pekerjaan kita sehari-hari. Tetapi tahukan Anda sejarah penggunaan hardware komputer yang pertama kali ada?

Berikut ini sedikit kilas balik mengenai penggunaan hardware komputer pertama kali di ciptakan :

Mouse
Mouse komputer pertama kali ada di tahun 1963 yang diciptakan oleh Douglas Engebart di Stanfort Research Institute yang juga sebagai penemu dari Hypertext. Mouse pertama kali menggunakan dua roda yang bisa di geser hingga 90 derajat.


Penggunaan Trackball
Trackball sebenarnya sudah ada sebelum penggunaan trackball pada mouse yaitu di tahun 1952 yang di prakarsai oleh Tom Cranston dan Fred Longstaff sebagai bagian dari sistem komputer pertahanan yang disebut sebagai DATAR yang dipakai oleh angkatan laut Kanada.


Komputer Portable
Portable komputer pertama kali ada di tahun 1975 yang diciptakan oleh IBM yaitu IBM 5100 dengan berat 25Kg yang berada dalam koper kecil yang juga diperuntukkan sebagai penyimpan tenaga, Prosesor, ROM, 64Kb RAM, monitor CRT 5", Keyboard, Tape Drive yang dijual kisaran harga $8975 pada saat itu.


Portable Laptop
Notebook pertama kali hadir dengan nama Grid Compass 1100 (GriD) yang diciptakan pada tahun 1979 oleh Bill Moggride di British industrial designer. Dengan layar 320x200, intel 8086, 340 Kb Magnetic Bubble memory, 1200 bps modem. GriD hanya di gunakan di lingkungan NASA dan militer AS.


IBM PC
IBM Personal Computer diperkenalkan pada tahun 1981 dengan nama IBM 5150. IBM PC hadir dengan Intel Prosesor 8088, 256 Kb RAM, Floppy disk, CGA monochrome Video card, 10Mb HD. yang dilengkapi dengan DOS dan Microsoft Basic.


Apple Computer
Apple hadir di tahun 1976 dengan produksi yang dibatasi hanya 200 unit, yang setiap unitnya dibandrol dengan harga $666.66


RAM

Random Acces Memory dulunya dikenal dengan sebutan Magnetic Core Memory atau Ferrite-Core Memory, diciptakan di tahun 1951 oleh An Wang dari Harvard University's Computation Lab dan Jay Forrester dari MIT.


Hard Disk
Harddisk pertama di buat oleh IBM dengan nama IBM Model 350 yang merupakan harddisk yang dipakai komputer IBM 305 RAMAC dengan kapasitas memori 4.4 Mb dengan kecepatan 1200 rpm yang mempunyai transfer data 8.800 karakter per detik.


Printer Laser
Diciptakan oleh Gary Starweather di XEROX pada tahun 1969 ang masih berupa prototype printer laser. Kemudia dikelurkan printer komersial pertama oleh IBM dengan model IBM 3800 di tahun 1976.


Web Server
Webserver pertama kali diciptakan oleh Tim Barners-Lee di NeXT workstation dan kemudian menggunakan World Wide Web di CERN dengan halaman pertama kali ada pada tanggal 6 Agustus 1991. Pada server ini juga terdapat pesan tertulis "This mechine is a Server. DO NOT POWER IT DOWN!!"


RSS Feed:
RSS Anda bisa berlangganan feed RSS SariminGeek.com melalui e-mail setiap harinya tanpa harus berkunjung ke SariminGeek.com!



Sabtu, 02 Mei 2009

PENGANTAR TEKNOLOGI SISTEM INFORMASI

Ada lima komponen sistem informasi yaitu hardware, programs, data, procedures, dan people. Hubungan kelima komponen sistem informasi tersebut dapat dilihat pada gambar-1 berikut :
Bridge


Machine Human


Hardware Programs Data Procedures People

Instructions
Actors
Gambar-1. Lima komponen sistem informasi

Disini hanya akan dibahas salah satu dari kelima komponen sistem informasi yaitu Computer hardware yang meliputi input hardware, processing hardware, storage hardware, dan output hardware.


1. INPUT HARDWARE

Input hardware digunakan untuk mentransmisikan data ke processing dan storage hardware. Peralatan yang paling populer untuk memasukkan data yaitu kombinasi antara keyboard dan layar monitor. Layar monitor dianggap sebagai bagian dari input hardware karena digunakan untuk memeriksa apakah data yang akan dimasukkan telah diketik. Di samping jenis input hardware di atas, terdapat juga input hardware lainnya yaitu mouse, scanner, voice recognition device, hardwriting recognition device, machine data input (mis : modem), light pen, dan bar code reader.
Mouse digunakan sebagai interface titik dan click. Pergerakan mouse menghasilkan suatu gerakan yang berhubungan dengan pointer pada layar monitor. Pada umumnya mouse digunakan dalam aplikasi yang berorientasi grafis, misalnya Windows produksi Microsoft.
Scanner digunakan untuk mentransformasikan image grafis atau text ke dalam data computer. Transformasi text dapat menghemat dari pekerjaan retyping sedangkan transformasi image grafis dipakai untuk membaca logo atau simbol grafis untuk aplikasi desktop publishing.
Voice recognition device dipakai untuk memasukkan suara manusia ke dalam signal interpreter. Kebanyakan voice systems yang digunakan sekarang mempunyai vocabulary yang kecil dan harus dilatih untuk mengenal kata-kata tertentu. Caranya, seseorang membacakan sebuah daftar kata-kata yang biasa digunakan sehingga signal interpreter dapat menetapkan polanya. Misalnya pekerja menyebut box yang mereka bawa. Voice input diperlukan karena tangan pekerja sibuk dan tidak dapat mengetik atau memanipulasi peralatan ketik input device lainnya.
Handwriting recognition device digunakan untuk memasukkan data dengan cara menulis pada pad elektronis yang sensitif. Karakter-karakter tersebut dikenali dan dimasukkan ke dalam sistem komputer, biasanya suatu sistem PC (personal computer).
Modem merupakan salah satu jenis alat input data untuk menghubungkan komputer dengan komputer lain melalui jaringan telepon. Jenis input hardware lainnya yaitu light pen yang digunakan untuk menunjuk item-item pada layar monitor dan bar code reader yang biasa digunakan di supermarket untuk mengidentifikasi suatu jenis barang.


2. PROCESSING HARDWARE

Processing hardware meliputi peralatan yang bertugas untuk menghitung, membandingkan dan melaksanakan instruksi-instruksi khusus. Dalam CPU (Central Processing Unit) terdapat control unit, ALU (Arithmetic Logic Unit), dan system memory yang kadang-kadang disebut main memory. Control unit mengambil instruksi-instruksi dari system memory dan menterjemahkannya. ALU melaksanakan instruksi yang telah diterjemahkan. System memory digunakan untuk menyimpan instruksi data dan instruksi program. Untuk menghubungkan CPU dengan peralatan komputer lainnya digunakan data bus atau processor channel. Processor channel terdapat pada mother board, mempunyai expansion slots yang berfungsi untuk menghubungkan dengan peralatan tambahan seperti floppy disks, plotters, printers, mouse, modem, multimedia, dll.
Kapasitas komputer dapat diukur dari kecepatan pemrosesan dan kemampuan ALU untuk memanipulasi data dalam 1 cycle. Kecepatan pemrosesan dapat dinyatakan dalam cycle per second (biasanya dalam satuan MHz) atau dalam instruksi per second, biasanya dalam satuan millions of instructions per second (MIPS). Jumlah data yang dapat dimanipilasi oleh ALU dalam 1 cycle diukur dalam satuan bits (binary digits) dan biasa dipakai sebagai ukuran microprocessor, misalnya : microprocessor Zilog Z-80 merupakan procerssor 8 bit. Microprocessor sekarang yang lebih modern dapat memproses 16, 32, atau 64 bit data, dan bahkan ada yang mempunyai kemampuan lebar bit yang lebih besar.
Ada dua jenis dasar processor memory, yaitu ROM (read only memory) yang bersifat non-volatile dan RAM (random access memory) yang bersifat volatile (isi RAM akan hilang jika power off).
Processing hardware dapat dikelompokkan dalam tiga kategori, yaitu mainframe computer, minicomputer, dan microcomputer. Tetapi sekarang pengelompokan ini sudah agak kabur karena sering terjadi overlap di antara pengelompokan tersebut. Untuk mudahnya dapat kita lihat tabel berikut ini.



Type
Application
Speed Memory
Size Number of Con-current Users
Mainframe Enterprise Informa-tion Systems 10 - 100+MIPS 32-500 MB Hundreds
Minicomputer Workgroup & Small Enterprise System 4 – 40+ MIPS 24-25 MB Dozens
Microcomputer Personal Computing 0.5 – 20+MIPS 0.5-100+MB 1 or dozen in LAN

Ada dua macam Emerging Processor Architectures yaitu complex instruction set computers (CISCs) dan reduced instruction set computers (RISCs). CISCs merupakan jenis CPU konvensional yang mengandung rangkaian untuk mengeksekusi satu range yang lebar dari instruksi-instruksi komputer, sedangkan RISCs merupakan jenis CPU yang hanya menggunakan instruksi-instruksi yang sering digunakan sehingga dapat memproses instruksi 10 kali lebih cepat atau lebih daripada CISCs processor. Beberapa vendor besar seperti IBM, Compaq, Hewlett-Packard, dan Digital Equipment Corporation (DEC) sedang mengembangkan komputer yang bekerja menggunakan RISCs processor.
3. STORAGE HARDWARE

RAM dipakai untuk menyimpan data atau program yang sedang aktif diproses. RAM tidak dapat dipakai sebagai storage hardware karena kapasitas RAM terbatas dan RAM bersifat volatile, dimana data akan hilang jika sistem shut down. Sebagai penggantinya dipakai external magnetic media untuk menyimpan data dan program yang sedang tidak aktif diproses. Ada dua jenis magnetic storage hardware yaitu disk dan tape.
Disk storage banyak digunakan sebagai medium storage dalam industri sistem informasi. Disk storage terdiri atas tracks dan sectors yang merupakan tempat menyimpan data secara magnetik. Data dibaca dan direkam dengan menggunakan read/write heads. Berikut dapat dilihat perbandingan kapasitas disk pada tabel di bawah ini :



Type Size Capacity
Diskette 5-1/4 inches 1.2 MB
Diskette 3-1/2 inches 1.4 MB
Stacked Disk – Microcomputer 5-1/4 inches 100-1000 MB
Stacked Disk – Minicomputer and Mainframe Computer 10-15 inches 0.1-100+ GB


Tape storage merupakan storage yang berbentuk magnetic tape. Keuntungannya yaitu harganya relatif lebih murah, sedangkan kerugiannya yaitu data hanya dapat diakses secara berurutan.
Jenis storage hardware lainnya adalah optical storage hardware. Keuntungan optical disk ialah mempunyai kapasitas yang tinggi, compact, dan durable storage. Sedangkan kerugiannya : sulit untuk merubah data, dan lebih mahal.

Ada tiga macam optical storage hardware, yaitu :
CD-ROM (compact disk - read only memory), populer digunakan pada multimedia. Optical storage data direkam dengan menggunakan laser untuk membakar lekukan kecil pada permukaan metal master disk. Selanjutnya seperti audio CD, hanya dapat dibaca dan tidak dapat dipakai untuk merekam lagi.
WORM (write-once/read-many) optical disk, merupakan disk yang hanya dapat ditulisi sekali kemudian hanya dapat dibaca dan tidak dapat dipakai untuk merekam lagi. WORM device dipakai untuk memelihara satu record permanen yang penting dari seluruh data. Misalnya proses transaksi pada jaringan keuangan.
Erasable optical disks, dapat dibaca dan ditulisi.

4. OUTPUT HARDWARE

Jenis output hardware yang banyak digunakan yaitu printer. Printer dapat diklasifikasikan dalam beberapa cara, salah satu diantaranya character printers, line printers, dan page printers. Character printers umumnya berharga murah, mencetak per karakter, dan lambat. Line printers mencetak per baris, dipakai untuk mencetak sejumlah besar bentuk standard seperti invoice bulanan. Page printers mencetak per halaman, seperti mesin photo copy dan biasanya menggunakan laser untuk menghasilkan printed character.
Klasifikasi berikutnya yaitu impact printers dan nonimpact printers. Impact printers memukul kertas saat mencetak sehingga lebih berisik, misalnya dot matrix printer memukul pita karbon untuk menghasilkan cetakan pada kertas. Sedangkan nonimpact printers menggunakan sitem photoelectric untuk mencetak karakter, misalnya laser printer.
Bit-mapped printer bekerja atas dasar pengalamatan pada setiap dot yang membentuk baris dan kolom halaman kertas. Setiap dot pada halaman kertas dapat diset on (printed) atau off (not printed). Keuntungannya : dapat mencetak karakter dan gambar dengan mulus, tetapi kerugiannya : komputer harus mengirim lebih banyak instruksi dan data ke printer untuk mengcover data dan alamat setiap dot.
Output device lainnya adalah voice output, plotter dan layar monitor. Seperti yang telah dibahas sebelumnya, layar monitor dapat juga digolongkan sebagai input device. Plotter mempunyai fungsi yang lebih rumit sehingga dapat digunakan untuk membuat grafik, diagram, peta, microfiche, dan microfilm.

Sabtu, 25 April 2009

persendian tangan karena terlalu lama dan sering menggunakan keyboard dan mouse

Bagi anda yang sering mengggunakan komputer baik untuk bekerja atau bermain, waspadailah penyakit yang satu ini, yang sering disebut penyakit CPS (Carpal Tunnel Syndrome).

Carpal Tunnel Syndrome adalah penyakit yang terjadi pada pergelangan tangan serta jari yang disebabkan oleh tekanan yang sering terjadi pada bagian tersebut. Dan biasanya sering diakibatkan karena terlalu sering memakai keyboard dan mouse.

Walaupun banyak penyebab lainnya tetapi pemakaian komputer yang terlalu sering menjadi salah satu penyebab yang paling banyak terjadi untuk penyakit persendian pergelangan tangan ini.

Tanda-tandanya antara lain seperti sering pegal dan atau nyeri pada bagian pergelangan tangan maupun juga jari tangan, terutama pada bagian ibu jari, telunjuk dan jari tengah.

Wanita bahkan mempunyai resiko 3 kali lipat lebih banyak untuk terkena Carpal Tunnel Syndrome dibandingkan dengan pria.

Hal terburuk yang mungkin terjadi?? jangan dianggap enteng dengan masalah CPS ini karena bisa saja CPS mengakibatkan putusnya sendi pergelangan tangan sehingga tangan tidak dapat berfungsi dengan sebagaimana mestinya bahkan mungkin tidak dapat digerakkan sama sekali.

Apakah Carpal Tunnel Syndrome dapat disembuhkan? Tentu saja, misal dengan terapi (therapy) dan sebagainya tetapi lebih baik kita mencegah terlebih dahulu sebelum terkena penyakit CPS ini.

Salah satu cara untuk melakukan pencegahan adalah dengan cara mengetahui bagaimana duduk yang benar dan baik serta posisi tangan pada saat menggunakan keyboard atau mouse.

Anda dapat melihat ilustrasi di bawah ini beserta penjelasannya.

1. Jarak Pandang antara mata dengan komputer minimal 60 cm
2. Pandangan antara mata ke monitor mengarah sedikit ke bawah atau sekitar 5-15° lebih rendah dari posisi horisontal pandangan mata
3. Usahakan menghindari pantulan lampu atau cahaya yang masuk ke monitor
4. Posisi tangan di atas keyboard harus membentuk sudut 90 derajat (lihat gambar) begitu juga kaki
5. Atur bangku anda sehingga posisi tangan menjadi sejajar dengan meja ketika anda menggunakan keyboard
6. Jangan menggunakan komputer tanpa henti (lebih dari 2 jam), berdiri, sedikit olahraga (strecthing) dan berjalanlah sebentar (1 menit) secara periodik sebelum melanjutkan pekerjaan anda

7. Gunakan penyangga mouse dan atau keyboard untuk kenyamanan anda
8. Gunakan penyangga kaki bila diperlukan
9. Gunakan kursi yang dapat menyangga posisi punggung anda

Tidak mudah memang untuk melakukan semua itu diatas, apalagi bila berhubungan dengan istirahat pada saat kerjaan menumpuk dan kemungkinan besar kita akan lupa waktu.
 
Copyright© Fe_Na ForEver