Rabu, 25 Desember 2013

Mesran.blogspot.com

Mesran.blogspot.com juga Merupakan salah satu tempat berbagi ilmu sama seperti Mesran.net yg terdapat banyak panduan belajar bahasa pemrograman seperti Visual Basic 6, VB Net, Visual C#, Pascal, C/C++, PHP, dll.
memang terdapat perbedaan kalau di blog ini tugas-tugas kuliah Mahasiswa/i STMIK Budidarma Medan yang di bimbing oleh Pak Mesran di postingnya ke blog ini. di blog ini juga terdapat banyak silabus & modul perkuliahan, E-book juga bisa di Download di sini loh.
Untuk lebih jelasnya kunjungin aj Mesran.blogspot.com



Kamis, 19 Desember 2013

Mengenal Cara Kerja SMS Gateway

Artikel ini merupakan kelanjutan dari artikel sebelumnya yang berjudul “Mengenal Cara Kerja SMS”, disini akan dijelaskan mengenai cara kerja SMS Gateway. Jika kita mendengar istilah SMS Gateway maka kita akan membayangkan sebuah sistem aplikasi yang dapat menerima dan melakukan pengiriman sms, dan biasanya sistem tersebut terdiri dari sebuah receiver, misal: GSM modem atau HP yang terhubung ke sebuah PC/Komputer dan aplikasi yang berjalan didalamnya. Namun, penjelasan dalam artikel ini akan sedikit berbeda, disini akan dijelaskan mengenai cara kerja SMS Gateway yang digunakan disisi provider telekomunikasi (operator), seperti Telkomsel, XL, Indosat dll. Anda juga akan mengetahui bagaimana proses yang terjadi pada layanan polling, sms premium, sms-banking, sms Broadcast dll di Operator.
Apa itu SMS Gateway ?
SMS gateway adalah sebuah perangkat yang menawarkan layanan transit SMS, mentransformasikan pesan ke jaringan selular dari media lain, atau sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS dengan atau tanpa menggunakan ponsel. (wikipedia).
Sebagaimana penjelasan diatas, SMS Gateway dapat terhubung ke media lain seperti perangkat SMSC dan server milik Content Provider melalui link IP untuk memproses suatu layanan SMS.
Sebuah sistem SMS Gateway, umumnya terdiri komponen Hardware ( Server/Komputer yang dilengkapi dengan perangkat jaringan) dan Software (Aplikasi yang digunakan untuk pengolahan pesan). Dan untuk sebuah sistem yang besar umumnya menggunakan Database untuk penyimpanan data.
Kedudukan SMS Gateway dalam Network GSM.
Berikut ini adalah contoh kedudukan SMS Gateway di dalam jaringan milik operator beserta protokol komunikasi yang dipakai.

Dari gambar diatas terlihat bahwa SMS Gateway berfungsi sebagai penghubung yang melakukan relay sms antara ESME (External Short Message Entitiy) dan SMSC dan sebaliknya. Komunikasi antara ESME dan SMS Gateway dapat menggunakan protokol SMPP atau dengan HTTP, sementara ke SMSC menggunakan SMPP.
ESME adalah entitas luar yang dapat berupa server aplikasi penyedia layanan (Application Service Provider) yang dimiliki oleh Content Provider, aplikasi Perbankan, server polling, dan lain-lain yang dapat menerima pesan, memproses pesan dan mengirim respons atas pesan yang masuk , serta perangkat lain seperti email gateway, WAP proxy server , Voice mail server.
Protokol SMPP (Short Message Peer to Peer )
SMPP adalah protokol yang cukup populer yang terbuka, protokol standar industri yang dirancang untuk menyediakan antarmuka komunikasi data yang fleksibel untuk transfer data pesan singkat antar entitas SMS, seperti ESME dan SMSC. SMPP yang banyak digunakan sekarang adalah SMPP v3.4. SMPP cukup populer dipakai karena memberikan kapasitas yang besar dan kecepatan transfer sms yang cepat.
Dalam komunikasi dengan menggunakan SMPP protokol, ada yang berfungsi sebagai SMPP server dan yang lain sebagai SMPP Client. Sebagaimana diagram diatas SMS Gateway selain berfungsi sebagai SMPP server juga dapat berfungsi sebagai SMPP Client.
[ ESME ] ————–> [ SMSGW]
ESME = SMPP Client, SMSGW = SMPP Server
[ SMPP ] ————–> [ SMSC ]
SMSGW  = SMPP Client, SMSC = SMPP Server
Sebuah SMPP Client setidaknya memerlukan 4 buah parameter untuk dapat berkomunikasi dengan SMPP Server, seperti: IP Address SMPP Server, Nomor Port, User name dan Password.
Protokol HTTP ( Hypertext Transfer Protocol)
HTTP adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Kita semua cukup familiar dengan protokol ini, protokol yang digunakan untuk aplikasi web. Sebagaimana SMPP, dalam komunikasinya bersifat client-server, misal : Web Browser sebagai client dan Web Server.
Ada dua metode dalam protokol HTTP, yaitu metode GET dan POST. Dua metode tersebut dapat dipilih sesuai kebutuhan.
Contoh Alur SMS
Dari keterangan diatas kita dapat membayangkan bagaimana alur suatu layanan berbasis sms berjalan, misal: Sms premium.
1) Customer/Mobile Station(MS) melakukan pengiriman pesan.
2) SMS masuk ke SMSC melalui jaringan mobile.
3) Dari SMSC, pesan akan ditransfer ke Content Provider melewati SMS Gateway.
4) Pesan yang masuk ke Content Provider akan diproses oleh aplikasi, kemudian respons dikirim ke MS.

Kamis, 12 Desember 2013

Listview Perhitungan Penjualan Barang menggunakan VB

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        BuatTabel()

        kdbrg.Items.Add("TS001")
        kdbrg.Items.Add("TS002")
        kdbrg.Items.Add("VG001")
        kdbrg.Items.Add("VG002")


    End Sub


    Private Sub kdbrng_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kdbrg.SelectedIndexChanged
        Dim X As String
        Dim y As String

        X = Microsoft.VisualBasic.Left(kdbrg.Text, 2)
        y = Microsoft.VisualBasic.Right(kdbrg.Text, 3)
        Select Case X
            Case "TS" : merk.Text = "Toshiba"
            Case "VG" : merk.Text = "V-GEN"
        End Select
        Select Case y
            Case "001" : nmbrg.Text = "Flashdisk 4GB"
            Case "002" : nmbrg.Text = "Flashdisk 2GB"
        End Select

        If X = "TS" And y = "001" Then
            harga.Text = 105000
        ElseIf X = "TS" And y = "002" Then
            harga.Text = 75000
        ElseIf X = "VG" And y = "001" Then
            harga.Text = 50000
        ElseIf X = "VG" And y = "002" Then
            harga.Text = 80000

        End If
    End Sub


    Sub BuatTabel()
        lv.Columns.Add("Pembeli", 80, HorizontalAlignment.Center)
        lv.Columns.Add("Kode Barang", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Nama Barang", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Merk", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Jumlah Beli", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Harga", 100, HorizontalAlignment.Left)
        lv.Columns.Add("total harga", 100, HorizontalAlignment.Left)
        lv.View = View.Details
        lv.GridLines = True
        lv.FullRowSelect = True
    End Sub
    Sub isitabel()
        Dim lst As New ListViewItem
        lst.Text = pembeli.Text
        lst.SubItems.Add(kdbrg.Text)
        lst.SubItems.Add(nmbrg.Text)
        lst.SubItems.Add(merk.Text)
        lst.SubItems.Add(jlhbeli.Text)
        lst.SubItems.Add(harga.Text)
        lst.SubItems.Add(harga.Text * jlhbeli.Text)
        lv.Items.Add(lst)
    End Sub

    Private Sub btnbersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbersih.Click
        pembeli.Text = ""
        kdbrg.Text = ""
        nmbrg.Text = ""
        merk.Text = ""
        harga.Text = ""
        ttalharga.Text = ""
        jlhbeli.Text = ""

    End Sub

    Private Sub Btnhapussemua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapussemua.Click
        pembeli.Text = ""
        kdbrg.Text = ""
        nmbrg.Text = ""
        merk.Text = ""
        harga.Text = ""
        ttalharga.Text = ""
        jlhbeli.Text = ""
        lv.Text = ""

    End Sub

    Private Sub btnhapusdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapusdata.Click
        pembeli.Text = ""
        kdbrg.Text = ""
        nmbrg.Text = ""
        merk.Text = ""
        harga.Text = ""
        ttalharga.Text = ""
        jlhbeli.Text = ""

    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        End

    End Sub

    Private Sub btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsimpan.Click

        isitabel()

        ttalharga.Text = harga.Text * jlhbeli.Text


    End Sub


End Class

hasil programnya:

Senin, 18 November 2013

Contoh Program Pencarian Nilai Huruf dan Pemakaian Fungsi Mid, Right dalam VB.Net

Masukkan NPM (13111000,13111011,13112011)
Masukkan Kode Dosen (kd001,kd002,kd003)
Masukkan Kode Matakuliah (mk001,mk002,mk003)

Ketentuan :
1 digit dari sebelah kanan NPM menentukan jenjang yaitu S1,D3,D1
4 digit dari sebelah kanan NPM dan dari 4 digit tsb diambil 2 karakter untuk menentukan jurusan
2 digit dari sebelah kanan Kode Dosen menentukan Nama Dosen
2 digit dari sebelah kanan Kode Matakuliah menentukan Nama Matakuliah    

ini coding programnya:

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Npm.Items.Add("13111000")
        Npm.Items.Add("13111011")
        Npm.Items.Add("13112011")

        kd_dosen.Items.Add("kd001")
        kd_dosen.Items.Add("kd002")
        kd_dosen.Items.Add("kd003")

        Kd_mkul.Items.Add("mk001")
        Kd_mkul.Items.Add("mk002")
        Kd_mkul.Items.Add("mk003")


        Dim i As Integer
        For i = 100 To 1 Step -10
            Nlai_kehadiran.Items.Add(i)
            Ntugas.Items.Add(i)
            N_uts.Items.Add(i)
            N_uas.Items.Add(i)

        Next

    End Sub

    Private Sub Npm_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Npm.SelectedIndexChanged

        Dim x As String
        x = Microsoft.VisualBasic.Right(Npm.Text, 1)
        If x = "0" Then
            jenjang.Text = "S1"
        ElseIf x = "1" Then
            jenjang.Text = "D3"
        Else
            jenjang.Text = "D1"
        End If

        x = Microsoft.VisualBasic.Mid(Npm.Text, 4, 2)
        If x = "11" Then
            jurusan.Text = "Teknik Informatika"
        ElseIf x = "11" Then
            jurusan.Text = "Sistem Informasi"
        ElseIf x = "12" Then
            jurusan.Text = "Manajemen"
        Else
            jurusan.Text = "-"
        End If
        Select Case Npm.Text
            Case "13111000"
                Nama.Text = "deni M"
            Case "13111011"
                Nama.Text = "Indra S"
            Case "13112011"
                Nama.Text = "Agus H"
            Case Else
                Nama.Text = "-"

        End Select
    End Sub

    Private Sub btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapus.Click

        Npm.Text = ""
        Nama.Text = ""
        jenjang.Text = ""
        jurusan.Text = ""
        kd_dosen.Text = ""
        Nm_dosen.Text = ""
        Kd_mkul.Text = ""
        Nm_mkul.Text = ""
        Nlai_kehadiran.Text = ""
        Ntugas.Text = ""
        N_uts.Text = ""
        N_uas.Text = ""
        Nakhir.Text = ""
        N_hruf.Text = ""
        keterangan.Text = ""
    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        End
    End Sub

    Private Sub btnproses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproses.Click

        Nakhir.Text = 0.1 * Nlai_kehadiran.Text + 0.15 * Ntugas.Text + 0.3 * N_uts.Text + 0.45 * N_uas.Text

      
        If Nakhir.Text >= 60 Then
            keterangan.Text = "LULUS"
        Else
            keterangan.Text = "GAGAL"
        End If
        Select Case Nakhir.Text
            Case Is >= 80
                N_hruf.Text = "A"
            Case 70 To 79
                N_hruf.Text = "B"
            Case 60 To 69
                N_hruf.Text = "C"
            Case 50 To 59
                N_hruf.Text = "D"
            Case Is <= 49
                N_hruf.Text = "E"
        End Select
      
    End Sub

    Private Sub Kd_mkul_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Kd_mkul.SelectedIndexChanged

        Dim y As String
        y = Microsoft.VisualBasic.Right(Kd_mkul.Text, 2)
        If y = "01" Then
            Nm_mkul.Text = "Pemograman Visual"
        ElseIf y = "02" Then
            Nm_mkul.Text = "Arsitektur Informasi"
        ElseIf y = "03" Then
            Nm_mkul.Text = "Sistem informasi"
        End If
    End Sub

    Private Sub kd_dosen_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kd_dosen.SelectedIndexChanged

        Dim z As String
        z = Microsoft.VisualBasic.Right(kd_dosen.Text, 2)
        If z = "01" Then
            Nm_dosen.Text = "Mesran S.Kom, M.Kom"
        ElseIf z = "02" Then
            Nm_dosen.Text = "Sony Bahagia S.Kom"
        ElseIf z = "03" Then
            Nm_dosen.Text = "Sinar Sinurat S.Kom, M.Kom"
        End If

    End Sub
End Class

hasil programnya:



Sumber : Materi Pak Mesran, S.Kom, M.Kom.

Kamis, 13 Juni 2013

Program Informasi Penjualan Produk

Berikut ini adalah contoh program mengenai Informasi Penjualan Produk :

#include "stdio.h"
#include "conio.h"

void main(){
    int i, kode[15], jumlah[15], jumdata=5;
    char*produk;
    float harga, total, disc, bayar;

    printf("\Input Data Penjualan");
    for(i=0;i<jumdata;i++){
        printf ("\nKode Produk :"); scanf("%d",&kode[i]);
        printf ("Jumlah Produk :"); scanf("%d",&jumlah[i]);
    }
    clrscr();
    printf ("\n                        Informasi Penjualan Produk");
    printf ("\n ---------------------------------------------------------------------------");
    printf ("\n No Kode Produk                  Harga  Jumlah   Total    Discount    Bayar");
    printf ("\n ---------------------------------------------------------------------------");
    for(i=0;i<jumdata; i++){
        if(kode[i]==1){
            produk = "TV"; harga = 2000000;
        }else if(kode[i]==2){
            produk = "DVD"; harga = 650000;
        }else if(kode[i]==3){
            produk = "CD ROOM"; harga = 450000;
        }
        total = harga*jumlah[i];
        if (total<2000000){
            disc=0.1*total;
        }else if (total<4000000){
            disc=0.15*total;
        }else if (total>4000000){
            disc=0.2*total;
        }else{
            disc=0;
        }
        bayar = total-disc;
        gotoxy(1,6+i); printf(" %i   %d   %s", i+1, kode[i], produk);
        gotoxy(30,6+i); printf("%10.0f   %i  %10.0f %10.0f%10.0f", harga, jumlah[i], total, disc, bayar);
    }
    printf("\n ---------------------------------------------------------------------------");
}

Hasil tampilan program :