salju

Rabu, 03 November 2010

Macam-maCAm topoliGi

Macam-Macam Topologi Jaringan
Arsitektur topologi merupakan bentuk koneksi fisik untuk menghubungkan setiap node pada sebuah jaringan. Pada sistem LAN terdapat tiga topologi utama yang paling sering digunakan: bus, star, dan ring. Topologi jaringan ini kemudian berkembang menjadi topologi tree dan mesh yang merupakan kombinasi dari star, mesh, dan bus. Dengan populernya teknologi nirkabel dewasa ini maka lahir pula satu topologi baru yaitu topologi wireless. Berikut topologi-topologi yang dimaksud:
1. Topologi Bus
2. Topologi Ring (Cincin)
3. Topologi Star (Bintang)
4. Topologi Tree (Pohon)
5. Topologi Mesh (Tak beraturan)
6. Topologi Wireless (Nirkabel)
Topologi Bus
Topologi bus ini sering juga disebut sebagai topologi backbone, dimana ada sebuah kabel coaxial yang dibentang kemudian beberapa komputer dihubungkan pada kabel tersebut.
• Secara sederhana pada topologi bus, satu kabel media transmisi dibentang dari ujung ke ujung, kemudian kedua ujung ditutup dengan “terminator” atau terminating-resistance (biasanya berupa tahanan listrik sekitar 60 ohm).


GAMBAR: Prinsip Topologi Bus
• Pada titik tertentu diadakan sambungan (tap) untuk setiap terminal.
• Wujud dari tap ini bisa berupa “kabel transceiver” bila digunakan “thick coax” sebagai media transmisi.
• Atau berupa “BNC T-connector” bila digunakan “thin coax” sebagai media transmisi.
• Atau berupa konektor “RJ-45” dan “hub” bila digunakan kabel UTP.
• Transmisi data dalam kabel bersifat “full duplex”, dan sifatnya “broadcast”, semua terminal bisa menerima transmisi data.

GAMBAR: Koneksi kabel-transceiver pada topologi Bus
• Suatu protokol akan mengatur transmisi dan penerimaan data, yaitu Protokol Ethernet atau CSMA/CD.
• Pemakaian kabel coax (10Base5 dan 10Base2) telah distandarisasi dalam IEEE 802.3, yaitu sbb:
TABEL: Karakteritik Kabel Coaxial
10Base5 10Base2
Rate Data 10 Mbps 10 Mbps
Panjang / segmen 500 m 185 m
Rentang Max 2500 m 1000 m
Tap / segmen 100 30
Jarak per Tap 2.5 m 0.5 m
Diameter kabel 1 cm 0.5 cm
• Melihat bahwa pada setiap segmen (bentang) kabel ada batasnya maka diperlukan “Repeater” untuk menyambungkan segmen-segmen kabel.

GAMBAR: Perluasan topologi Bus menggunakan Repeater
Kelebihan topologi Bus adalah:
• Instalasi relatif lebih murah
• Kerusakan satu komputer client tidak akan mempengaruhi komunikasi antar client lainnya
• Biaya relatif lebih murah
Kelemahan topologi Bus adalah:
• Jika kabel utama (bus) atau backbone putus maka komunikasi gagal
• Bila kabel utama sangat panjang maka pencarian gangguan menjadi sulit
• Kemungkinan akan terjadi tabrakan data(data collision) apabila banyak client yang mengirim pesan dan ini akan menurunkan kecepatan komunikasi.
Topologi Ring (Cincin)
Topologi ring biasa juga disebut sebagai topologi cincin karena bentuknya seperti cincing yang melingkar. Semua komputer dalam jaringan akan di hubungkan pada sebuah cincin. Cincin ini hampir sama fungsinya dengan concenrator pada topologi star yang menjadi pusat berkumpulnya ujung kabel dari setiap komputer yang terhubung.
• Secara lebih sederhana lagi topologi cincin merupakan untaian media transmisi dari satu terminal ke terminal lainnya hingga membentuk suatu lingkaran, dimana jalur transmisi hanya “satu arah”.
Tiga fungsi yang diperlukan dalam topologi cincin : penyelipan data, penerimaan data, dan pemindahan data.

GAMBAR: Prinsip Koneksi Topologi Ring
• Penyelipan data adalah proses dimana data dimasukkan kedalam saluran transmisi oleh terminal pengirim setelah diberi alamat dan bit-bit tambahan lainnya.
• Penerimaan data adalah proses ketika terminal yang dituju telah mengambil data dari saluran, yaitu dengan cara membandingkan alamat yang ada pada paket data dengan alamat terminal itu sendiri. Apabila alamat tersebut sama maka data kiriman disalin.
• Pemindahan data adalah proses dimana kiriman data diambil kembali oleh terminal pengirim karena tidak ada terminal yang menerimanya (mungkin akibat salah alamat). Jika data tidak diambil kembali maka data ini akan berputar-putar dalama saluran. Pada jaringan bus hal ini tidak akan terjadi karena kiriman akan diserap oleh “terminator”.
• Pada hakekatnya setiap terminal dalam jaringan cincin adalah “repeater”, dan mampu melakukan ketiga fungsi dari topologi cincin.
• Sistem yang mengatur bagaimana komunikasi data berlangsung pada jaringan cincin sering disebut token-ring.
• Kemungkinan permasalahan yang bisa timbul dalam jaringan cincin adalah:
o Kegagalan satu terminal / repeater akan memutuskan komunikasi ke semua terminal.
o Pemasangan terminal baru menyebabkan gangguan terhadap jaringan, terminal baru harus mengenal dan dihubungkan dengan kedua terminal tetangganya.
Topologi Star (Bintang)
Disebut topologi star karena bentuknya seperti bintang, sebuah alat yang disebut concentrator bisa berupa hub atau switch menjadi pusat, dimana semua komputer dalam jaringan dihubungkan ke concentrator ini.
• Pada topologi Bintang (Star) sebuah terminal pusat bertindak sebagai pengatur dan pengendali semua komunikasi yang terjadi. Terminal-terminal lainnya melalukan komunikasi melalui terminal pusat ini.
• Terminal kontrol pusat bisa berupa sebuah komputer yang difungsikan sebagai pengendali tetapi bisa juga berupa “HUB” atau “MAU” (Multi Accsess Unit).

GAMBAR: Prinsip Koneksi Topologi Star
• Terdapat dua alternatif untuk operasi simpul pusat.
o Simpul pusat beroperasi secara “broadcast” yang menyalurkan data ke seluruh arah. Pada operasi ini walaupun secara fisik kelihatan sebagai bintang namun secara logik sebenarnya beroperasi seperti bus. Alternatif ini menggunakan HUB.
o Simpul pusat beroperasi sebagai “switch”, data kiriman diterima oleh simpul kemudian dikirim hanya ke terminal tujuan (bersifat point-to-point), akternatif ini menggunakan MAU sebagai pengendali.
• Bila menggunakan HUB maka secara fisik sebenarnya jaringan berbentuk topologi Bintang namun secara logis bertopologi Bus. Bila menggunakan MAU maka baik fisik maupun logis bertopologi Bintang.
• Kelebihan topologi bintang :
o Karena setiap komponen dihubungkan langsung ke simpul pusat maka pengelolaan menjadi mudah, kegagalan komunikasi mudah ditelusuri.
o Kegagalan pada satu komponen/terminal tidak mempengaruhi komunikasi terminal lain.
• Kelemahan topologi bintang:
o Kegagalan pusat kontrol (simpul pusat) memutuskan semua komunikasi
o Bila yang digunakan sebagai pusat kontrol adalah HUB maka kecepatan akan berkurang sesuai dengan penambahan komputer, semakin banyak semakin lambat.
Topologi Tree (Pohon)
• Topologi pohon adalah pengembangan atau generalisasi topologi bus. Media transmisi merupakan satu kabel yang bercabang namun loop tidak tertutup.

GAMBAR: Prinsip Koneksi Topologi Tree
• Topologi pohon dimulai dari suatu titik yang disebut “headend”. Dari headend beberapa kabel ditarik menjadi cabang, dan pada setiap cabang terhubung beberapa terminal dalam bentuk bus, atau dicabang lagi hingga menjadi rumit.
• Ada dua kesulitan pada topologi ini:
o Karena bercabang maka diperlukan cara untuk menunjukkan kemana data dikirim, atau kepada siapa transmisi data ditujukan.
o Perlu suatu mekanisme untuk mengatur transmisi dari terminal terminal dalam jaringan.
Topologi Mesh (Tak beraturan)
• Topologi Mesh adalah topologi yang tidak memiliki aturan dalam koneksi. Topologi ini biasanya timbul akibat tidak adanya perencanaan awal ketika membangun suatu jaringan.
• Karena tidak teratur maka kegagalan komunikasi menjadi sulit dideteksi, dan ada kemungkinan boros dalam pemakaian media transmisi.

GAMBAR: Prinsip Koneksi Topologi Mesh
Topologi Wireless (Nirkabel)
• Jaringan nirkabel menjadi trend sebagai alternatif dari jaringan kabel, terutama untuk pengembangan LAN tradisional karena bisa mengurangi biaya pemasangan kabel dan mengurangi tugas-tugas relokasi kabel apabila terjadi perubahan dalam arsitektur bangunan dsb. Topologi ini dikenal dengan berbagai nama, misalnya WLAN, WaveLAN, HotSpot, dsb.
• Model dasar dari LAN nirkabel adalah sbb:

GAMBAR: Prinsip LAN Nirkabel
• Blok terkecil dari LAN Nirkabel disebut Basic Service Set (BSS), yang terdiri atas sejumlah station / terminal yang menjalankan protokol yang sama dan berlomba dalam hal akses menuju media bersama yang sama.
• Suatu BSS bisa terhubung langsung atau terpisah dari suatu sistem distribusi backbone melalui titik akses (Access Point).
• Protokol MAC bisa terdistribusikan secara penuh atau terkontrol melalui suatu fungsi kordinasi sentral yang berada dalam titik akses.
• Suatu Extended Service Set (ESS) terdiri dari dua atau lebih BSS yang dihubungkan melalui suatu sistem distribusi.
• Interaksi antara LAN nirkabel dengan jenis LAN lainnya digambarkan sebagai berikut:

GAMBAR: Koneksi Jaringan Nirkabel
• Pada suatu jaringan LAN bisa terdapat LAN berkabel backbone, seperti “Ethernet” yang mendukung server, workstation, dan satu atau lebih bridge / router untuk dihubungkan dengan jaringan lain. Selain itu terdapat modul kontrol (CM) yang bertindak sebagai interface untuk jaringan LAN nirkabel. CM meliputi baik fungsi bridge ataupun fungsi router untuk menghubungkan LAN nirkabel dengan jaringan induk. Selain itu terdapat Hub dan juga modul pemakai (UM) yang mengontrol sejumlah stasiun LAN berkabel.
• Penggunaan teknologi LAN nirkabel lainnya adalah untuk menghubungkan LAN pada bangunan yang berdekatan.
• Syarat-syarat LAN nirkabel :
o Laju penyelesaian: protokol medium access control harus bisa digunakan se-efisien mungkin oleh media nirkabel untuk memaksimalkan kapasitas.
o Jumlah simpul: LAN nirkabel perlu mendukung ratusan simpul pada sel-sel multipel.
o Koneksi ke LAN backbone: modul kontrol (CM) harus mampu menghubungkan suatu jaringan LAN ke jaringan LAN lainnya atau suatu jaringan ad-hoc nirkabel.
o Daerah layanan: daerah jangkauan untuk LAN nirkabel biasanya memiliki diameter 100 hingga 300 meter.
o Kekokohan dan keamanan transmisi: sistem LAN nirkabel harus handal dan mampu menyediakan sistem pengamanan terutama penyadapan.
• Teknologi LAN nirkabel:
o LAN infrared (IR) : terbatas dalam sebuah ruangan karena IR tidak mampu menembus dinding yang tidak tembus cahaya.
o LAN gelombang radio : terbatas dalam sebuah kompleks gedung, seperti bluetooth, WiFi, dan HomeRF.
o LAN spektrum penyebaran: beroperasi pada band-band ISM (industrial, scientific, medical) yang tidak memerlukan lisensi.
o Gelombang mikro narrowband : beroperasi pada frekuensi gelombang mikro yang tidak termasuk dalam spektrum penyebaran.

jaringan komputer

1. Pengertian Jaringan Komputer

Jaringan computer adalah sekelompok komputer yang saling dihubungkan dengan menggunakan suatu protokol komunikasi sehingga antara satu komputer dengan komputer yang lain dapat berbagi data atau berbagi sumber daya (sharing resources).



2. TIPE JARINGAN

 Jarak Geografis
 Local Area Networks (LAN)
 Metropolitan Area Networks (MAN)
 Wide Area Networks (WAN)

 Tipe Informasi
 Jaringan data vs. jaringan telekomunikasi

 Tipe Aplikasi
 Jaringan yang digunakan secara khusus: reservasi pesawat terbang, jaringan perbankan, aplikasi SIGO dan SIMAS
 Jaringan yang digunakan secara umum : Internet

3. Wide Area Networks
 Area yang dilingkupi luas
 Menggunakan saluran komunikasi publik
 Kecepatan transfer datanya relatif rendah
 Beberapa teknologi alternatif :

 Circuit switching
 Packet switching
 Frame relay
 Asynchronous Transfer Mode (ATM)

4. Local Area Networks
 Area yang dilingkupi terbatas
 Dalam gedung atau kampus kecil
 Dimiliki oleh sebuah organisasi
 Kecepatan transfer datanya besar (>= 10 MBps)
 Biasanya menggunakan sistem broadcast
 Beberapa teknologi alternatip :
 switched systems dan ATM
 Wifi

5. Topologi Jaringan (1)

 Jaringan Terpusat (Star)
jaringan yang terdiri dari beberapa node (client ) yang terhubung dengan sebuah komputer pusat atau disebut server melalui peralatan jaringan, yaitu switch atau hub.

server

6. Topologi Jaringan (2)
 Ring
jaringan yang terdiri dari beberapa komputer yang saling berhubungan antara satu dengan lainnya tanpa komputer pusat.


7. Topologi Jaringan (3)

 Topologi Bus : beberapa komputer terkoneksi melalaui sebuah saluran komunikasi secara bus


8. Klasifikasi Jaringan Komunikasi

 Jaringan komunikasi dapat diklasifikasikan berdasarkan cara pertukaran informasi:


9. Broadcast vs. Switched Communication Networks

 Broadcast communication networks
Informasi yang ditransmisikan oleh suatu simpul (node) diterima oleh setiap simpul di jaringan
contoh: biasanya di LANs (Ethernet, Wavelan)
Persoalan: koordinasi akses semua simpul ke media komunikasi (Multiple Access Problem)
 Switched communication networks
 Informasi ditransmisikan ke sub-set simpul-simpul tertentu
contoh: WANs (Telephony Network, Internet)
Persoalan: bagaimana menyampaikan informasi ke simpul yang dituju
Hal ini dilakukan oleh simpul khusus (routers, switches)
A. Circuit Switching
 Komunikasi secara khusus dibangun selama proses transfer data (dedicated communications)
 Tiga fase
1. circuit establishment
2. data transfer
3. circuit termination
 Bila jaringan tidak terjadi -> “Busy signal”
Contoh :
1. Jaringan Telepon
2. ISDN (Integrated Services Digital Networks)





B. Circuit Switching

 Sebuah node (switch) di dalam jaringan circuit switching

C. Packet Switching
 Data yang dikirim tidak dijamin datang secara berurutan
 Data tersebut berupa paket dengan ukuran kecil
 Paket dilewatkan dari simpul satu ke simpul lain antara pengirim dan penerima (Store and forward)
 Metode ini digunakan untuk komunikasi dari terminal ke komputer, dan juga dari komputer ke komputer
D. Protokol
 Digunakan untuk komunikasi antar entitas dalam suatu sistem
 Harus ‘berbicara’ dalam bahasa yang sama
 Entitas
 User applications
 e-mail facilities
 terminals
 Sistem
 Komputer
 Terminal
 Remote sensor






E. Elemen Kunci dari Protokol
 Syntax
 Format data
 Level signal
 Semantiks
 Control information
 Penanganan kesalahan
 Timing
 Speed matching
 Sequencing
F. Arsitektur Protokol
 Proses komunikasi dibagi menjadi modul modul
Contoh :
Transfer file dapat dipecah menjadi 3 modul :
 Aplikasi transfer file
 Layanan komunikasi
 Akses jaringan

G. Arsitektur Sederhana Transfer File

Senin, 11 Januari 2010

Cara UpLOad weB ke InterNet

Cara Upload Website ke Internet

1. Signup ke salah satu web penyedia webhosting utk menaruh isi web kita, misal :
www.phpnet.us
Cara daftarnya sama dengan membuar email, tinggal klik Sign up
2. Setelah berhasil mendaftar maka anda akan mendapatkan accout pada phpnet.us seperti :

Welcome to phpnet.us
Your account details are:

--------------------------------------------------------
FTP
Server/Host: ftp.phpnet.us
Username: pn_624448
Password: xxxxx

Short flash movie: How to FTP connect to your web site:
http://www.phpnet.us/videos/FTP.swf
--------------------------------------------------------
MySQL
Username: pn_624448
Password: xxxxx
Server: sql1.phpnet.us

**Please Create your database in the cpanel**

Cpanel URL: http://cpanel.phpnet.us
Cpanel User: pn_624448
Cpanel Password : xxxxx

3. Setelah itu, login ke phpnet.us melalui http://cpanel.phpnet.us
4. Apabila berhasil login maka akan muncul halaman sebagai berikut :


5. ZIP seluruh file Website anda menggunakan Winzip/winrar menjadi satu file .zip (cara : klik kanan folder website anda pilih add to archieve dan kompres menggunakan ZIP ) utk mempercepat proses upload, bila anda menggunakan xampp sebagai webserver dan mysql server maka letak website Anda pada C:\Program Files\xampp\htdocs\
6. Upload file zip web anda dengan mengklik file manager
7. klik link www 

8. klik tombol upload 

9. Upload file zip anda pada bagian archieve dengan mengklik tombol browse


10. pilih file zip anda dan klik open



11. Setelah di pilih klik tombol centang pada pojok kiri atas.


12. Phpnet.us akan melakukan file checking pada file anda, jika sukses maka akan muncul tampilan spt ini :



13. Selanjutnya klik gambar centang 
14. Cek pada file manager apakah website telah terupload pada folder www
15. Lakukan upload databases, dengan cara :

Apabila anda telah membuat website dari rumah, dan akan mengupload web tersebut, maka anda perlu membackup databases web yang telah anda buat dengan menggunakan phpmyadmin, dengan cara :
- Buka browser baru
- Pada Address isikan http://localhost/phpmyadmin
- pada Pilihan databases klik database auracms (sesuai dengan nama databases yang anda buat )


- Klik bar Export untuk membackup -- >

- pada web browser paling bawah centang Save As dan beri nama file backup (misal : auracms) dan klik go



- download file tersebut letakkan pada flashdisk/media penyimpanan lain agar dapat diupload pada warnet atau kampus.






- Buat databases melalui cpanel phpnet.us dengan mengklik link MySQL manager.


- Buat databases dengan nama auracms lalu klik klik create


- databases anda telah berhasil di buat


- kembali ke menu cpanel phpnet.us, lalu lakukan upload databases
dengan mengklik link phpmyadmin.


- Lakukan koneksi ke databases yang telah anda buat, dengan mengklik databases yang telah anda create tadi


- Lakukan import databases dengan mengklik bar Import



- Browse databases yang telah anda backup (auracms) tadi dan klik open


- Lalu klik Go
- Kembali ke cpanel phpnet.us

16. Lakukan editing script pada config.php aura cms dengan masuk ke file manager phpnet.us, klik link www, edit file config.php yang terletak pada include





17. Isikan mysql user dengan user,password anda dengan username dan password anda pada phpnet.us, sedangkan mysql_databases diisikan dengan databases yang telah anda ciptakan pada phpnet.us , sedangkan mysql_host diisi dengan sql1.phpnet.us

18. Klik icon disket 
19. Anda telah berhasil mengupload web ke internet






Langkah memforward domain menjadi alamat lain (misal : www.trainingseason.co.nr)

1. Buka www.co.nr pada address bar web browser
2. isikan alamat yang anda inginkan misal trainingseason (tapi akhiran tetep co.nr)


3. Jika alamat tsb belum dipake orang maka dapat anda signup

4. Isi pertanyaan untuk menghindari spam, lalu go to next step

5. Baca peraturan dan klik I have read and I agree

6. Isi formulir seperti anda membuat website, yang paling penting adalah target url di arahkan pada alamat web anda pada phpnet.us, contoh :

7. Klik Next Step
8. Isikan informasi mengenai isi web anda

9. Klik Next Step
10. Anda telah mempunyai alamat domain baru, dalam contoh ini
http://www.trainingseason.co.nr

11. Klik Complete untuk mengakhiri dan anda akan dikirimi email oleh co.nr yang berisi aktivasi code buka email anda dan klik link untuk mengaktifkan lalu isi dengan benar.


























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.

 
Nama Buku Jenis_buku Deskripsi Penulis Penerbit