Wednesday, 17 February 2016

MEMBUAT WEB SERVICE DENGAN WCF C# SQL Server




Web service adalah aplikasi sekumpulan data (database), perangkat lunak (software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh berbagai piranti dengan sebuah perantara tertentu.  Secara umum,web service  dapat diidentifikasikan dengan menggunakan URL seperti hanya web pada umumnya. Namun yang membedakan web service dengan web pada umumnya adalah interaksi yang diberikan oleh web service. Berbeda dengan URL web pada umumnya, URL web service hanya menggandung kumpulan informasi, perintah, konfigurasi atau sintaks yang berguna membangun sebuah fungsi-fungsi tertentu dari aplikasi.
Web service dapat diartikan juga sebuah metode pertukaran data, tanpa memperhatikan dimana sebuahdatabase ditanamkan, dibuat dalam bahasa apa sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web service mampu menjadi sebuah jembatan penghubung antara berbagai sistem yang ada.
Menurut W3C Web services Architecture Working Group pengertian Web service adalah sebuah sistem softwareyang di desain untuk mendukung interoperabilitas interaksi mesin ke mesin melalui sebuah jaringan. Interfaceweb service dideskripsikan dengan menggunakan format yang mampu diproses oleh mesin (khususnya WSDL). Sistem lain yang akan berinteraksi dengan web service hanya memerlukan SOAP, yang biasanya disampaikan dengan HTTP dan XML sehingga mempunyai korelasi dengan standar Web (Web Services Architecture Working Group, 2004).
Web pada umumnya digunakan untuk melakukan respon dan request yang dilakukan antara client dan server. Sebagai contoh, seorang pengguna layanan web tertentu mengetikan alamat url web untuk membentuk sebuahrequestRequest akan sampai pada server, diolah dan kemudian disajikan dalam bentuk sebuah respon. Dengan singkat kata terjadilah hubungan client-server secara sederhana.
Sedangkan pada web service hubungan antara client dan server tidak terjadi secara langsung. Hubungan antaraclient dan server dijembatani oleh file web service dalam format tertentu. Sehingga akses terhadap databaseakan ditanggani tidak secara langsung oleh server, melainkan melalui perantara yang disebut sebagai web service. Peran dari web service ini akan mempermudah distribusi sekaligus integrasi database yang tersebar di beberapa server sekaligus.

sumber : http://saptafina13.blogspot.co.id/2013/04/pengertian-web-service.html

Ok langsung saja kita implementasi pembuatan web servicenya : 

pertama buat database di SQL Server dengan nama testDB, setelah itu buat table dengan nama testTable, field tablenya id,url,status. kemudian isi data seperti berikut.



selanjutnya buat stored procedure untuk menampilkan isi table, stored procedurenya seperti berikut :
CREATE PROCEDURE [dbo].[sp_Selectdata]
      
AS
BEGIN
       SET NOCOUNT ON;

    Select * From tesTable

END


Ok. setelah itu buat project di visual studio dengan nama wcfLearn
susunan projectnya seperti pada gambar ini


didalam entity.cs terdapat sebuah class data yang berfungsi untuk menampung data dari sql kemudian ditampilkan kedalam bentuk json, berikut class data :
public class data
    {
        [DataMember]
        public String id { set; get; }

        [DataMember]
        public String url { set; get; }

        [DataMember]
        public String status { set; get; }
    }

kemudian didalam file IService1.cs kita tambahkan interface seperti dibawah ini :
[OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetAllData")]
        List<data> GetAllData();

kemudian kita implement interface tersebut didalam Service1.cs, berikut source codenya:
//membuat variable koneksi ke sql
string str = @"Data Source=.\SQLEXPRESS;Initial Catalog=SignalRDB;User ID=sa;Password=Admin123456kr";



public List<data> GetAllData()
        {

            SqlConnection con = new SqlConnection(str);
            //membuat list dataRMUsage untuk menampung data dari sql
            List<data> dataRMUsage = new List<data>();
            try
            {
                //membuka koneksi ke sql server            
                con.Open();
                //memanggil nama stored procedure
                SqlCommand command = new SqlCommand("sp_Selectdata", con);
                SqlDataReader reader;
                //set command type
                command.CommandType = System.Data.CommandType.StoredProcedure;
                //execute menggunakan executeReader
                reader = command.ExecuteReader();
                DataTable dt = new DataTable();
                //hasil reader dimasukkan ke dataTable dt
                dt.Load(reader);

                //memasukkan data dari dataTable dt ke list dataRMUsage
                dataRMUsage = (from DataRow row in dt.Rows
                               select new data
                               {
                                   id = row["id"].ToString(),
                                   url = row["url"].ToString(),
                                   status = row["status"].ToString()

                               }).ToList();
                //tutup kembali koneksi yg dibuat
                con.Close();
                //return list dataRMUsage
                return dataRMUsage;
            }
            catch (Exception e)
            {
                string errorMassage = e.Message;
                con.Close();
                return dataRMUsage;
            }
        }

selanjutnya jalankan programnya, jika berhasil hasilnya akan seperti berikut :




untuk projectnya bisa di download DISINI

Semoga bermanfaat.
Terimakasih. :D

Monday, 8 February 2016

Simple CRUD VB.Net SQL Server

Sore sore gini mendung, gak ada kerjaan dikos....!!!

Dari pada nganggur ane mutusin untuk membuat tutorial CRUD sederhana dengan VB.Net dan Sql Server.

Ok. Langsung aja.....

pertama buat database di SQL Server, disini databasenya saya buat dengan nama TestDB,
setelah itu ane buat table dengan nama tb_Data, struktur tablenya seperti berikut gan. :D


Next, buka visual studionya buat project dengan nama simpleCRUD after that let's design winform like this :D, sok inggris dikit gpp, wkwkwkwkwwk


Next step, let's make Database Connections using module, hehehe sok inggris lagi, :D
tambahkan sebuah module kedalam project, caranya pilih menu project terus pilih add Module.
lalu tambahkan source code berikut :

Imports System.Data.SqlClient
Module Module1
    Public sqlCon As New SqlConnection
    Public Sub dbConn()
        Dim server As String
        server = "Data Source=.\SQLEXPRESS;Database=TestDB;Integrated Security=true"
        sqlCon = New SqlConnection(server)
        sqlCon.Open()
    End Sub
End Module


note : Data Source => nama server sql

selanjutnya kita kembali ke form yang sudah dibuat tadi, 
adapun step step yang harus dilakukan disini : 

1. Deklarasi beberapa variable seperti berikut gan 
    
    Dim sql As String
    Dim da As SqlDataAdapter
    Dim ds As DataSet
    Dim dt As DataTable
2. Buat sub untuk menampilkan data dari database
    untuk subnya ane kasih nama tampil_data seperti berikut :
 
Sub tampil_data()
        clear()
        dbConn()
        sql = "Select * From tb_Data"
        Dim da = New SqlDataAdapter(sql, sqlCon)
        Dim ds = New Data.DataSet
        ds.Reset()
        da.Fill(ds)
        DataGridView1.DataSource = ds.Tables(0)

    End Sub

3. tambahkan kode simpan didalam button simpan, double click button simpan dan masukkan source code berikut :

     dbConn()
        Dim query As New SqlCommand("Insert Into tb_Data values('" & TextBox1.Text & "','" & TextBox2.Text & "','" &
                                    ComboBox1.Text & "','" & DateTimePicker1.Text & "')", sqlCon)
        Dim x = query.ExecuteNonQuery()
        If x = 1 Then
            MsgBox("Data Berhasil Disimpan", MsgBoxStyle.Information, "Sukses")
            tampil_data()
        Else
            MsgBox("Data Gagal Disimpan", MsgBoxStyle.Critical, "Gagal")
        End If
        sqlCon.Close()


4. tambahkan kode untuk edit data didalam button edit, source codenya seperti berikut :

     dbConn()
        Dim query As New SqlCommand("Update tb_Data set alamat='" & TextBox2.Text & "', jenis_kelamin='" &
                                    ComboBox1.Text & "', tgl_lahir='" & DateTimePicker1.Text & "' Where nama = '" & TextBox1.Text & "'", sqlCon)
        Dim x = query.ExecuteNonQuery()
        If x = 1 Then
            MsgBox("Data Berhasil Di Edit", MsgBoxStyle.Information, "Sukses")
            tampil_data()
        Else
            MsgBox("Data Gagal Di Edit", MsgBoxStyle.Critical, "Gagal")
        End If
        sqlCon.Close()

5. tambahkan kode hapus didalam button hapus, berikut source code pada button hapus :

     dbConn()
        Dim query As New SqlCommand("Delete tb_Data Where nama = '" & TextBox1.Text & "'", sqlCon)
        Dim x = query.ExecuteNonQuery()
        If x = 1 Then
            MsgBox("Data Berhasil Di hapus", MsgBoxStyle.Information, "Sukses")
            tampil_data()
        Else
            MsgBox("Data Gagal Di hapus", MsgBoxStyle.Critical, "Gagal")
        End If
        sqlCon.Close()

6. tambahkan source code berikut pada properti cellclick pada datagridnya, yang fungsinya akan menampilkan data yang di pilih pada datagridview kedalam textbox, combobox, dan datetimepicker.
berikut source codenya :

TextBox1.Text = DataGridView1.SelectedRows(0).Cells(0).Value
TextBox2.Text = DataGridView1.SelectedRows(0).Cells(1).Value
ComboBox1.Text = DataGridView1.SelectedRows(0).Cells(2).Value
DateTimePicker1.Text = DataGridView1.SelectedRows(0).Cells(3).Value

7. tambahkan sebuah sub lagi seperti berikut :

Sub clear()
        TextBox1.Clear()
        TextBox2.Clear()
        ComboBox1.SelectedIndex = 0
        DateTimePicker1.Value = Today
    End Sub


note : jangan lupa tambahkan namespace sqlclient pada bagian paling atas sendiri seperti berikut

Import System.Data.SqlClient


ok. jika sudah silahkan dijalankan programnya
lihat apa yang terjadi....
:D

yang mau download projectnya ada DISINI











ABAP CDS View Part 10 : Authorization & DCL untuk ABAP CDS

Authorization & DCL di ABAP CDS | Panduan Lengkap (PFCG, @AccessControl, DCL) Authorization & DCL untuk ABAP CDS — Pandua...