SISTEM TERDISTRIBUSI PERTEMUAN IV ASP.NET WEB SERVICE (1)
Agenda Perkuliahan : 1.
Gambaran Studi kasus Web Service
2.
Implementasi Web Service Untuk Menyelesaikan Permasalahan
Software Developer : Visual Studio .NET 2008/2010 Bahasa Pemrograman : Visual C#.NET 2008/2010
1
GAMBARAN PERMASALAHAN Universitas Gajah Mungkur memiliki beberapa fakultas yang tersebar pada beberapa lokasi wilayah. Tiap fakultas memiliki perpustakaan masing-masing dan universitas memiliki satu perpustakaan pusat. Skema jaringan komputer dan aplikasi perpustakaan yang berjalan saat ini pada Universitas, dapat dijelaskan pada gambar 1 di bawah ini :
Gambar 1. Skema Jaringan dan Aplikasi Perpustakaan Ketentuan dari sistem yang berjalan saat ini, yaitu setiap mahasiswa yang terdaftar pada fakultas tertentu melakukan pendaftaran menjadi anggota perpustakaan dengan cara mendaftar pada perpustakaan fakultasnya masing-masing. Kelemahan dari sistem perpustakaan yang berjalan saat ini, yaitu : 1.
Anggota perpustakaan fakultas x tidak dapat melakukan peminjaman buku pada perpustakaan fakultas y, karena data mahasiswa tersebut tidak terdaftar pada fakultas y. Begitu pula sebaliknya.
2.
Pengguna aplikasi web perpustakaan pusat tidak mampu melakukan pencarian buku yang pada seluruh data koleksi buku yang tersebar di tiap perpustakaan fakultas.
2
Permasalahan
pada
Universitas
Gajah
Mungkur,
anda
selesaikan
menggunakan Web Service, sehingga usulan terhadap sistem aplikasi perpustakaan pusat dan fakultas dapat digambarkan seperti berikut :
Gambar 2. Usulan Sistem Perpustakaan Terintegrasi dengan Web Service Sistem perpustakaan fakultas memiliki web service. Layanan yang tersedia, yaitu : 1.
Layanan input data anggota perpustakaan fakultas.
2.
Layanan pencarian koleksi buku di perpustakaan fakultas.
Dengan adanya 2 layanan tersebut, diharapkan mampu menyelesaikan permasalahan pada sistem perpustakaan Universitas Gajah Mungkur.
3
IMPLEMENTASI SISTEM PERPUSTAKAAN 1.
Sistem Aplikasi Perpustakaan Fakultas MIPA dan Fakultas Teknik. A. Basis Data Perpustakaan Fakultas MIPA dan Teknik. Buat 2 database dengan nama perpustakaan_fakultas_mipa dan perpustakaan_fakultas_teknik dengan skema relasi sebagai berikut :
B. Web Service Perpustakaan Fakultas MIPA. 1) Buat project web service baru, beri nama serviceFakultas. Kemudian, simpan project tersebut pada foldernya masing-masing. 2) Tambahkan Reference MySQL.Data
4
3) Buat Struktur Solution, seperti berikut :
4) Kode program class Member.cs using System; using System.Collections.Generic; using System.Linq; using System.Web;
5
namespace serviceFakultas { public class Member { string nim, nama, kelamin, kode_fakultas; public string Kode_fakultas { get { return kode_fakultas; } set { kode_fakultas = value; } } public string Kelamin { get { return kelamin; } set { kelamin = value; } } public string Nama { get { return nama; } set { nama = value; } } public string Nim { get { return nim; } set { nim = value; } }
6
public Member(string nim, string nama, string kelamin, string kode_fakultas) { this.nim = nim; this.nama = nama; this.kelamin = kelamin; this.kode_fakultas = kode_fakultas; } } } 5) Kode program class Koneksi.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using MySql.Data.MySqlClient; namespace serviceFakultas { public class Koneksi { private static string conn; static Koneksi() { string
strConn
=
"Data
Source=localhost;
Database=perpustakaan_fakultas; User Id=root;"; conn = strConn; }
7
public static MySqlConnection Conn { get { return new MySqlConnection(conn); } } } } 6) Kode program class Fungsi.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using MySql.Data; using MySql.Data.MySqlClient; namespace serviceFakultas { public class Fungsi { static int status; static MySqlConnection conn; //Eksekusi query insert, update, delete public static int EQuery(string query) { status = 0; conn = Koneksi.Conn; MySqlCommand cmd = new MySqlCommand();
8
try { conn.Open(); cmd.Connection = conn; cmd.CommandText = query; status = cmd.ExecuteNonQuery(); } catch (MySqlException ex) { return status; } finally { conn.Close(); } return status; } } } 7) Kode program class MemberManager.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace serviceFakultas { public class MemberManager { public int add(Member J)
9
{ int temp = 0; try { string query = "insert into member values('" + J.Nim + "', " + "'" + J.Nama + "','" + J.Kelamin + "','" + J.Kode_fakultas + "')"; temp = Fungsi.EQuery(query); } catch (Exception ex) { temp = 0; } finally { } return temp; } } }
8) Kode program Service1.asmx .................. .................. [WebService(Namespace = "http://elibrary.fmipa.ugamu.ac.id/")] .................. .................. [WebMethod] public int inputAnggota(string nim, string nama, string kelamin, string kode_fakultas) { Member
anggota
=
new
Member(nim,
kode_fakultas); MemberManager MM = new MemberManager();
10
nama,
kelamin,
int cek = MM.add(anggota); return cek; } C. Web Service Perpustakaan Fakultas Teknik. Proses pembuatannya sama seperti web service pada perpustakaan fakultas MIPA, hanya saja namespace untuk web service-nya diganti menjadi : [WebService(Namespace = "http://elibrary.fteknik.ugamu.ac.id/")] D. Aplikasi Desktop Perpustakaan Fakultas MIPA. Tugas Praktikum. 2.
Sistem Aplikasi Perpustakaan Pusat. Kita lanjutkan minggu depan
11