Belajar Pemrograman Komputer Tidak Harus Bayar

Monday, July 16, 2012

Posted by Nur Rochim | Monday, July 16, 2012 | 8 comments
Sumber gambar: skill-guru.com 
Layanan web merupakan fenomena yang sangat panas saat ini karena, banyak kelebihan yang ditawarkan oleh Web Service terutama interoperabilitas tinggi dan penggunaannya yang dapat diakses kapanpun dan dimanapun selama mesin kita terhubung oleh jaringan internet salah satunya.

Layanan web Sepenuhnya berdasarkan standard web dan xml. Web Service dapat membantu: 
1. Perantara pada integrasi platform sepanjang eksekusi mesin virtual. 
2. Integrasi antara Web dan OO middleware. 
3. Integrasi dari aliran kerja terisolasi dan sevice-service (Web Services Flow Language - WSFL). 
4. Pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++) 
5. (Masa depan: standardisasi dari info konteks antara web servis dan klien – integrasi servis horizontal). 
6. Pemain utama dan standard-standard 
Keuntungan penggunaan Web Service: 1) Format penggunaan terbuka untuk semua platform. 2) Mudah di mengerti dan mudah men-debug. 3) Dukungan interface yang stabil. 4) Menggunakan standard-standard “membuka service sekali” dan mempunyai pemakai banyak. 5) Mudah untuk menengahi pesan-pesan proses dan menambahkan nilai. 6) Routing and pengiriman. 7) Security. 8) management and monitoring. 9) schema and service design. 10) Akselerasi. 11) mudah untuk mengembangkan dengan semantic transport tambahan. 12) Terbuka, standard-standard berbasis teks. 13) Pencapaian modular. 14) Tidak mahal untuk diimplementasikan (relatif). 15) Mengurangi biaya integrasi aplikasi enterprise. 16) Implementasi yang incremental. 


Mekanisme Kerja: Sebelum memasuki mekanisme kerja yang terjadi pada Web Service, akan dibahas terlebih dahulu komponen-kompenen yang mempunyai peranan penting pada Web Service, komponen-komponen tersebut dapat dilihat pada standard-standard web service itu sendiri, dimana standard-standard web service adalah sebagai berikut: WSDL Web Services Description Language http://www.w3.org/TR/wsdl Deskripsi-deskripsi dari web service UDDI Universal Discovery, Description & Integration http://www.uddi.org/specification.html Registry mengenai deskripsi servis SOAP Simple Object Access Protocol http://www.w3.org/TR/SOAP/ Protokol transport untuk berkomunikasi antar web service Standard-standard lain: WSRP, WSIA, WSXL……. 

Selain standard-standard Web Service, juga ada Bagian-bagian Web Service (Web Service Dumpstack) yang mendeskripsikan task-task yang akan terjadi pada proses berjalannya web service, dimana task-task tersebut antara lain: Wire Protocols, Description, Discovery. Untuk lebih lanjut mengenai bagian-bagian Web Service maka dapat dilihat ilustrasinya pada gambar 5: Bagian-bagian Web Service. 

Desain Database
Struktur Tabel
Berikut ini struktur tabel dari rancangan sistem webservice pada database nilai mahasiswa: 


Dalam tutorial ini kami hanya membuat satu buah tabel saja yaitu tabel mahasiswa yang terdiri dari tujuh buah field.

Script (Source Code)
Berikut adalah kode program untuk sistem webservice pada database nilai mahasiswa:
1. Kode Program Database webservice data nilai mahasiswa

CREATE TABLE IF NOT EXISTS `mahasiswa` ( 
`NIM` varchar(8) NOT NULL, 
`Nama` varchar(25) NOT NULL, 
`Kelas` varchar(3) NOT NULL, 
`Kelompok` varchar(3) NOT NULL, 
`Tugas` int(11) NOT NULL, 
`UTS` int(11) NOT NULL, 
`UAS` int(11) NOT NULL, 
PRIMARY KEY (`NIM`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

INSERT INTO `mahasiswa` (`NIM`, `Nama`, `Kelas`, `Kelompok`, `Tugas`, `UTS`, `UAS`) VALUES 
('M3110111', 'Nur Rochim', 'TIB', '1', 85, 90, 92), 
('M3110112', 'Nurgust Fikrin', 'TIB', '2', 80, 92, 75), 
('M3110110', 'Nugroho Dwi H', 'TIB', '1', 79, 87, 85), 
('M3110089', 'Linda Anugrah', 'TIB', '2', 70, 90, 85), 
('M3110086', 'Laras Seytowati', 'TIB', '3', 71, 92, 80), 
('M3110155', 'Trisnayanti', 'TIC', '4', 69, 90, 90), 
('M3110156', 'Vena', 'TIC', '4', 89, 80, 80), 
('M3110056', 'Fajar Faruq', 'TIA', '5', 89, 82, 85), 
('M3110021', 'Asih Putri', 'TIA', '5', 89, 72, 85);

2. Kode Program Webservice Php
configureWSDL("mahasiswaWSDL", "urn:mahasiswaWSDL"); 
$server->wsdl->addComplexType( 
'mahasiswa', 
'complexType', 
'struct', 
'all', 
'', 
array( 
'nim'=>array('name'=>'nim', 'type'=>'xsd:string'), 
'nama'=>array('name'=>'nama', 'type'=>'xsd:string'), 
'kelas'=>array('name'=>'kelas', 'type'=>'xsd:string'), 
'kelompok'=>array('name'=>'kelompok', 'type'=>'xsd:string'), 
'tugas'=>array('name'=>'tugas', 'type'=>'xsd:string'), 
'uts'=>array('name'=>'uts', 'type'=>'xsd:string'), 
'uas'=>array('name'=>'uas', 'type'=>'xsd:string') 
) 
); 

$server->wsdl->addComplexType( 
'arrayOfmahasiswa', 
'complexType', 
'array', 
'', 
'SOAP-ENC:Array', 
array(), 
array(array('ref'=>'SOAP-ENC:arrayType', 'wsdl:arrayType'=>'mahasiswa[]')), 
'mahasiswa' 
); 

$server->wsdl->addComplexType( 
'retVal', 
'complexType', 
'struct', 
'all', 
'', 
array( 
'retNum'=>array('name'=>'retNum', 'type'=>'xsd:integer'), 
'retStr'=>array('name'=>'retStr', 'type'=>'xsd:string') 
) 
); 

//membuat register(simpan) methods 
$server->register( 
'simpan', 
array('datamahasiswa'=>'tns:mahasiswa'), 
array('return'=>'tns:retVal'), 
'urn:mahasiswaWSDL', 
'urn:mahasiswaWSDL#simpan', 
'rpc', 
'encoded', 
'metode simpan() digunakan untuk proses simpan data kelompok mahasiswa' 
); 

//membuat register(tampil) methods 
$server->register( 
'tampil', 
array('prodi'=>'xsd:string'), 
//array('return'=>'tns:mahasiswa[]'),// 
array('return'=>'tns:arrayOfmahasiswa'), 
'urn:mahasiswaWSDL', 
'urn:mahasiswaWSDL#tampil', 
'rpc', 
'encoded', 
'metode tampil() digunakan untuk menampilkan seluruh data nilai mahasiswa berdasarkan nomor induk mahasiswa'
); 

//membuat register(cari) methods 
$server->register( 
'cari', 
array('nim'=>'xsd:string'), 
array('return'=>'tns:mahasiswa'), 
'urn:mahasiswaWSDL', 
'urn:mahasiswaWSDL#cari', 
'rpc', 
'encoded', 
'metode cari() digunakan untuk melakukan pencarian mahasiswa berdasarkan kata kunci nim ' 
); 

//membuat function simpan 
function simpan($datamahasiswa){ 
$cn = mysql_connect('localhost', 'root', ''); 
mysql_select_db('mahasiswa_ocim', $cn); 
if (!empty($datamahasiswa['nim'])){ 
$nim = $datamahasiswa['nim']; 
$nama = $datamahasiswa['nama']; 
$kelas = $datamahasiswa['kelas']; 
$kelompok = $datamahasiswa['kelompok']; 
$tugas = $datamahasiswa['tugas']; 
$uts = $datamahasiswa['uts']; 
$uas = $datamahasiswa['uas']; 
$sql="UPDATE mahasiswa SET Kelompok='$kelompok' WHERE NIM='$nim' "; 
mysql_query($sql, $cn); 
$affected = mysql_affected_rows($cn); 
$msg = ($affected > 0)?"berhasil":"gagal"; 
return array('retNum'=>$affected, 'retStr'=>'Proses simpan data kelompok mahasiswa ' . $msg . '!'); 
}else{ 
return array('retNum'=>0, 'retStr'=>'Data mahasiswa yang dimasukkan tidak valid!'); } }
//membuat function tampil 
function tampil($kelompok){ 
$cn = mysql_connect('localhost', 'root', ''); 
mysql_select_db('mahasiswa_ocim', $cn); 
if ($kelompok=="SEMUA"){ 
$sql = "SELECT p.nim, w.nama, w.kelas, p.kelompok, w.tugas, w.uts, w.uas FROM mahasiswa w, posisi p WHERE p.nim=w.nim "; } else { 
$sql = "SELECT p.nim, w.nama, w.kelas, p.kelompok, w.tugas, w.uts, w.uas FROM mahasiswa w, posisi p WHERE p.nim=w.nim AND w.kelompok='$kelompok' ";} 
$hasil=mysql_query($sql, $cn); 
if (mysql_num_rows($hasil)){ 
while ($baris=mysql_fetch_row($hasil)){ 
$items[]=array('nim'=>$baris[0], 
'nama'=>$baris[1], 
'kelas'=>$baris[2], 
'kelompok'=>$baris[3], 
'tugas'=>$baris[4], 
'uts'=>$baris[5], 
'uas'=>$baris[6] ); 
} 

} else { 

$items[]=array('nim'=>'n/a', 'nama'=>'n/a', 'kelas'=>'n/a', 'kelompok'=>'n/a', 'tugas'=>'n/a', 'uts'=>'n/a', 'uas'=>'n/a' ); 
} 
return $items; 
} 

//membuat function cari 
function cari($nim){ 
$cn = mysql_connect('localhost', 'root', ''); 
mysql_select_db('mahasiswa_ocim', $cn); 
$sql = "SELECT SELECT p.nim, w.nama, w.kelas, p.kelompok, w.tugas, w.uts, w.uas FROM mahasiswa w, posisi p WHERE p.nim=w.nim AND p.nim='$nim' "; 
$hasil=mysql_query($sql, $cn); 
if (mysql_num_rows($hasil)){ 
$baris=mysql_fetch_row($hasil); 
$items=array('nim'=>$baris[0], 
'nama'=>$baris[1], 

'kelas'=>$baris[2], 

'kelompok'=>$baris[3], 
'tugas'=>$baris[4], 
'uts'=>$baris[5], 
'uas'=>$baris[6] ); 
} else { 
$items=array('nim'=>'n/a', 'nama'=>'n/a', 'kelas'=>'n/a', 'kelompok'=>'n/a', 'tugas'=>'n/a', 'uts'=>'n/a', 'uas'=>'n/a'); 
} 
return $items; 
} 
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA:''; 
$server->service($HTTP_RAW_POST_DATA); 
?>

3. File Php Lampiran
Untuk membuat webservice server, kita harus melampirkan file-file librarynya, diantaranya yaitu

File-file diatas dapat di unduh melalui internet. Lampirkan satu folder dengan file php webservice server.

D. Hasil Program Webservice Server

Berikut adalah tampilan hasil cetakan (generate) dari program yang telah dibuat:

Terdapat tiga buah menu yaitu simpan, tampil dan cari. Apabila kita klik link-link tersebut maka akan tampil informasi mengenai file program yang telah kita buat diatas.
Pada link Simpan  (terlampir dalam file, bisa didownload dibawah)
 
Pada link tampil  (terlampir dalam file, bisa didownload dibawah)
 
Pada Link Cari  (terlampir dalam file, bisa didownload dibawah)
 
Pada Link WSDL (terlampir dalam file, bisa didownload dibawah) 

Kesimpulan 

Dari tutorial ini dapat diambil kesimpulan diantaranya:

  1. Web service adalah teknologi dengan risiko rendah (relatif) yang dapat digunakan untuk mengimplementasikan strategi bisnis berisiko tinggi. 
  2. Web service berdasarkan middleware OO, XML dan konsep Internet Protokol, dan membantu pergerakkan dari sistem-sistem heterogen menuju sistem yang lebih homogen 
  3. Banyak-vendor turut membuat standard 
  4. Membuka semua jenis kesempatan untuk semua orang 
  5. Incremental, non-intimidating, minimal technology play 
  6. Kostumer memulai tanpa menunggu vendor-vendor 
  7. Web service mentransformasikan web browser centris menjadi servis centris 
  8. Tool-tool yang lebih baik bersifat open source
Cukup mudah bukan? semoga tutorial ini dapat membantu anda. Selamat mencoba

8 comments:

  1. Blog super cepat tanpa loding ! Mantap

    ReplyDelete
  2. Replies
    1. Maaf file tidak saya lampirkan. Bisa meniru seperti tutorial ini. Semoga membantu...

      Delete
  3. gan bisa bantu untuk bimbingan pembuatan web service ga ?

    ReplyDelete
  4. jika fungsi2 dari web service ditaruh android bisa gk ya?
    jadi webservice(server) dan android(client tmpat memanggil fungsi lewat aplikasi , bukan browsernya)

    ReplyDelete
    Replies

    1. boleh minta link tutornya (atau mau membuatnya :D) ?

      oh ya.. kang rochim
      register java web service online gimana ya?
      jadi ntar web service server, bisa kita akses online

      Delete

Terima kasih anda telah meninggalkan komentar.
Jangan lupa berkunjung kembali - AIMAGU

Bookmark Us

Delicious Digg Facebook Favorites More Stumbleupon Twitter