Selamat datang di Blog AndhikaC15_Person blog ini akan membahas tentang Teknik-teknik komputer, Jaringan komputer, Desain dengan Komputer dan hal yang lain-lainnya lagi. Terima Kasih sudah berkunjung semoga bermanfaat :)

Translate

Kamis, 30 September 2021

SIP (Session Initiation Protocol)


A. Pengertian


SIP adalah singkatan dari Session Initiation Protocol merupakan protocol pensinyalan pada layer aplikasi yang berfungsi untuk membangun, memodifikasi, dan mengakhiri suatu sesi multimedia yang melibatkan satu user atau lebih. Sesi ini adalah pertukaran data antar user yang meliputi suara,video,dan text.

SIP tidak menyediakan layanan secara langsung tapi menyediakan layanan yang dapat digunakan oleh protokol aplikasi lainnya untuk memberikan layanan yang lebih lengkap bagi pengguna, misalnya dengan RTP (Real Time Transport Protocol) untuk transfer data secara realtime, dengan SDP (Session Description Protocol) untuk mendiskripsikan sesi multimedia , dengan MEGACO (Media Gateway Control Protocol) untuk komunikasi dengan PSTN (Public Switch Telephone Network). Dengan demikian, fungsi dan operasi dasar SIP tidak tergantung pada protocol-protocol tersebut. SIP juga tidak tergantung pada protokol layer transport yang digunakan.

B. Tahapan membangun dan mengkonfigurasi jaringan berbasis SIP

Pembangunan suatu komunikasi multimedia dengan SIP dilakukan melalui beberapa tahap :

  1. User location : menentukan lokasi pengguna yang akan berkomunikasi.
  2. User availability : menentukan tingkat keinginan pihak yang dipanggil untuk terlibat dalam komunikasi.
  3. User capability : menentukan media maupun parameter yang berhubungan dengan media yang akan digunakan untuk komunikasi
  4. Session setup : “ringing”, pembentukan hubungan antara pihak pemanggil dan pihak yang dipanggil.
  5. Session management : meliputi transfer, modifikasi, dan pemutusan sesi.
Tahapan Implementasi

Biasanya ada 3 tahapan implementasi SIP sebagai berikut :

  1. Menghubungkan SIP Proxy ke existing PBX
  2. Migrasi User dan terminal ke SIP Proxy
  3. Migrasi koneksi ke PSTN dari existing PBX ke SIP

Tahap 1: Tahap pertama adalah menghubungkan SIP proxy dengan PBX system existing sebagai gateway ke PSTN. Untuk menghubungkan dari IP Network ke PSTN, SIP proxy akan me-routing-kan seluruh panggilan dari panggilan VoIP ke PSTN. Link koneksi bisa menggunakan PRI ISDN maupun T1. Pertama yang harus dilakukan adalah setup SIP proxy (SIP call manager), setelah set-up berjalan dengan baik, selanjutnya tinggal menghubungkan ke PBX existing dengan link ISDN, E1 atau T1.

Tahap 2 : Tahap selanjutnya adalah migrasi existing user dan services ke SIP. Migrasi semua handset ke SIP baik menggunakan gateway maupun mengganti dengan handset yang native SIP. Pendekatan dengan menggabungkan keduanya biasanya menjadi pilihan yang baik. Selanjutnya adalah set-up SIP application server untuk mengakomodasi fitur-fitur yang dibutuhkan user seperti voice mail, multi-party conferencing, IVR, fine me follow me dan masih banyak lagi fitur yang disupport SIP.

Tahap 3 : Tahap ketiga adalah melakukan routing panggilan ke luar melalui koneksi internet.Banyak operator memulai menjual SIP based dengan menawarkan layanan long distance dengan harga yang lebih murah. Yang perlu diantisipasi adalah nature network internet yang unpredictable (seperti jitter dan error rate) dan tentu saja security. Sebagai tahap awal SIP dapat digunakan sebagai alternatif untuk melakukan panggilan ketika di luar kantor atau teleworkers.

C. Elemen pendukung SIP dalam komunikasi Voice



    Jaringan SIP terdiri dari elemen-elemen sebagai berikut :

  • User Agent (UA) berfungsi untuk menginisiasi atau merespon transaksi SIP. Sebuah UA dapat bertindak sebagai klien atau server.
  • User Agent Client (UAC) berfungsi untuk menginisiasi permintaan SIP dan menerima respon SIP.
  • User Agent Server (UAS) berfungsi untuk menerima permintaan SIP dan mengirimkan kembali respon SIP
  • SIP Proxy adalah entitas yang berfungsi untuk proses routing dan meneruskan permintaan SIP kepada UAS atau proxy lain atas permintaan UAC.
  • Redirect Server adalah sebuah UAS yang membangkitkan respon SIP terhadap permintaan yang diterima, memungkinkan UAC secara langsung menghubungi Uniform Resource Identifiers (URI).
  • Register Server adalah sebuah UAS yang menerima permintaan registrasi SIP dan memperbaharui informasi dari pesan tersebut ke dalam database lokasi.
  • Back-to-Back User Agent (B2BUA) adalah entitas yang berfungsi untuk memproses permintaan SIP yang diterima. B2BUA akan bertindak sebagai UAC, sehingga membangkitkan kembali permintaan SIP dan mengirimkannya ke dalam jaringan.

Selasa, 21 April 2020

Membuat Form Data Anggota Menggunakan NetBeans dengan Xammp dan MySQL Database #2




Hai sahabat bloger kembali di blog ini, kali ini saya akan melanjutkan cara Membuat Form Data Anggota Menggunakan NetBeans dengan Xammp dan MySQL Database part #2. Bagi yang belum tau Part1 nya silahkan cek disini

Okeeee langsunggg ajaaaaa...............

Langkah-langkah :


1. Buka NetBeans.
2. Setelah itu buat project baru, Pilih “File” > “New Project” atau (CTRL+SHIFT+N).

3. Pada bagian ini pilih Java  > JavaAplication > Next, atau seperti di gambar.


4. Kemudian pada bagian ini beri nama (FormDataAnggota), kemudian Finish.



5. Kemudian pada bagian “formdataanggota” klik kanan kemudian “new” > “JFrame Form”.



6. Kemudian bagian ini beri nama (data_anggota) kemudian “Finish”.



7. Pallete yang di gunakan adalah  6 Label, 4 TextField, 5 Button, 1 ComboBox, dan 1 Table.



8. Kemudian atur sesuai di gambar, perhatian posisi jTextField dan jButton.



9. Jika sudah, klik kanan pada ComboBox, pada bagian “Properties” ganti pada bagian “model” menjadi “Laki-laki dan Perempuan” seperti di gambar.




10. Ubah tampilan seluruh text dengan klik kanan pada bagian yang akan di ubah kemudian pilih “edit text” (note: pada bagian jTextField koksongkan saja).



11. Tampilannya akan jadi seperti ini.



12. Okeyyy… Jika sudah, kembali ke bagian project, Klik kanan pada bagian “Libraries > Add Library”.



13. Cari dan pilih “MySQL JDBC DRIVER” kemudian tekan “Add Library”.




14. Okey kita ke tahap coding, masuk ke Source, kemudian tambahkan codingan seperti di gambar.

code : 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;


15. Jika sudah di bagian bawahnya seperi di gambar tambahkan codingan ini.

code :
DefaultTableModel model; 

initComponents();
String []judul={"ID","NAMA","JENIS KELAMIN","ALAMAT"};
model = new DefaultTableModel(judul,0);
jTable1.setModel(model);
tampilkan();

16. Jika sudah pergi ke paling bawah dan tambahkan codingan seperti di gambar.

code :
    private void tampilkan() {
         int row = jTable1.getRowCount();
        for (int a=0; a<row; a++) {
            model.removeRow(0);
        }
        try {
            Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/data_anggota","root","");
            ResultSet rs = koneksi.createStatement().executeQuery("select * from crud");
            while(rs.next()) {
                String data[]={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4)};
                model.addRow(data);
            }
        } catch (SQLException ex) {
            Logger.getLogger(crud.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


17. Kemudian tambahkan lagi codingan dibawahnya  seperti di gambar.

code :
    private void reset() {
        jTextField1.setText("");
        jTextField2.setText("");
        jComboBox1.setSelectedItem("Laki-laki");
        jTextField3.setText("");
        jTextField4.setText("");
    }

    private static class crud {

        public crud() {
        }
    }

18. Kemudian kembali ke desain.
19. Pada setiap Button (simpan, ganti, hapus , tambah, dan cari) klik kanan kemudian pilih “Event > Action > ActionPerformed”.



20. Pada table klik kanan pilih “Event > Mouse > mouseCliked”.



21. Kembali ke Source
22. Pada jButton1ActionPerformed hingga ke jButton ke 5 dan jTable1MouseClicked masukan code berikut. (note: jangan tertukar)

Contoh penempatan code
jButton1ActionPerformed :
        try {
            Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/data_anggota","root","");
            koneksi.createStatement().executeUpdate("insert into crud values"+"('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+jComboBox1.getSelectedItem()+"','"+jTextField3.getText()+"')");
            tampilkan();
            reset();
        } catch (SQLException ex) {
            Logger.getLogger(crud.class.getName()).log(Level.SEVERE, null, ex);
        }

jButton2ActionPerformed :
        try {
            Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/data_anggota","root","");
            koneksi.createStatement().executeUpdate("update crud set nama='"+jTextField2.getText()+"', jenis_kelamin='"+jComboBox1.getSelectedItem()+"', alamat='"+jTextField3.getText()+"' where id='"+jTextField1.getText()+"'");
            tampilkan();
            reset();
        } catch (SQLException ex) {
            Logger.getLogger(crud.class.getName()).log(Level.SEVERE, null, ex);
        }

jButton3ActionPerformed :
        try {
            Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/data_anggota","root","");
            koneksi.createStatement().executeUpdate("delete from crud where id='"+jTextField1.getText()+"'");
            tampilkan();
            reset();
        } catch (SQLException ex) {
            Logger.getLogger(crud.class.getName()).log(Level.SEVERE, null, ex);
        }

jButton4ActionPerformed :
        tampilkan();
        reset();

jButton5ActionPerformed :
        int row = jTable1.getRowCount();
        for (int a=0; a<row; a++) {
            model.removeRow(0);
        }
        try {
            Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/data_anggota","root","");
            ResultSet rs = koneksi.createStatement().executeQuery("select * from crud where nama='"+jTextField4.getText()+"'");
            while(rs.next()) {
                String data[]={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4)};
                model.addRow(data);
            }
        } catch (SQLException ex) {
            Logger.getLogger(crud.class.getName()).log(Level.SEVERE, null, ex);
        }

jTable1MouseClicked :
        int i = jTable1.getSelectedRow();
        if(i>-1) {
            jTextField1.setText(model.getValueAt(i, 0).toString());
            jTextField2.setText(model.getValueAt(i, 1).toString());
            jComboBox1.setSelectedItem(model.getValueAt(i, 2).toString());
            jTextField3.setText(model.getValueAt(i, 3).toString());
        }


23. Jika sudah coba di Run (SHIFT+F6).




Oke, sampai di sini cara pembuatannya kalau ada yang bingung atau ada kesalahan silahkan komentar aja di bawah. Terima kasih.











Membuat Form Data Anggota Menggunakan NetBeans dengan Xammp dan MySQL Database





Halo sahabat Bloger kembali lagi di sini, kali ini saya akan memberikan cara membuat Form Data Anggota Menggunakan NetBeans dengan Xammp dan MySQL Database. Untuk itu bagi yang baru mencoba ikuti step by step nya dengan benar yaaa.. Pada bagian ini akan saya buat menjadi 2 part.

Okey langsung saja kita mulai part  #1 Membuat table di MySQL Database.

Langkah-langkah :

      1. Buka dahulu Xammp Control Panel, dan start pada “Apache dan MySQL”.



      2.  Kemudian buka browser saya menggunakan Google Chrome, masuk ke “http://localhost/phpmyadmin/”.



      3. Setelah masuk pada menu sebelah kiri pilih “new”.



      4.  Buatlah nama database seperti di bawah (data_anggota), kemudian tekan “create”.



      5.  Kemudian pada table beri nama (crud) dan berikan 4 kolom, kemudian tekan “go”.



      6.  Kemudian isikan seperti di bawah ini.



      7.  Untuk di bagian jenis kelamin tekan “edit ENUM/SET values”, kemudian sesuaikan dan jika sudah tekan go.


      8.  Jika sudah di rasa sama tekan “save”.


Okey sampai di sini dulu next nya di Part2






Sabtu, 18 April 2020

Membuat Aplikasi Kasir Sederhana berbasis JAVA menggunakan NetBeans



Halo sahabat blogger kembali lagi bersama saya disini, Kali ini kita akan belajar membuat Aplikasi Kasir Sederhana berbasis JAVA Menggunakan NetBeans. NetBeans IDE ini diperuntukkan bagi pengembangan dalam Java. Namun, aplikasi ini juga mendukung program-program pembuatan bahasa lain secara khusus seperti PHP, C/C++, HTML5.
Okey kita langsung ke langkah pembuatannya saja.

Langkah-langkah :

     1.  Buka Aplikasi NetBeans IDE.


     2.  Pilih “FILE > New Project > Java-JavaApplication > Next > beri nama (kasir) > Finish”.


     3. Pada bagian kasir Klik kanan pilih new kemudian JFrameForm.


     4.  Beri nama (belanja) kemudian Finish.


     5. Pallete yang akan di gunakan adalah 6 Label, 2 Button, 5 TextField.


     6. Kemudian desain dahulu form nya, silahkan berkreasi atau ikuti dulu seperti gambar di bawah.


     7. Untuk merubah tulisannya, Klik kanan pada palate kemudian pilih Edit Text, pada bagian TextField dikosongkan saja.


     8.  Pada bagian iTextField1, iTextField2, iTextField3, iTextField4, iTextField5, secara berurut ubah variable nama nya menjadi angka1, angka2, bayar, total, kembali. (cara merubahnya klik kanan pada iTextField nya kemudian pilih “Change Variable Name”.


     9.  Pada jButton1, dan jButton2 klik kanan kemudian pilih Event > Action > actionPerformed.



    10.  Kemudian pergi ke Source.
    11.  Kemudian di bagian atas tambahkan kode di bawah.


     import java.awt.event.KeyEvent;

     import javax.swing.JOptionPane;

    12. Untuk codingannya pada bagian jButton1ActionPerformed, dan jButton2ActionPerformed, kodenya :


        jButton1 =         // TODO add your handling code here:
        int totaljumlah = Integer.parseInt(angka1.getText()) * Integer.parseInt(angka2.getText());
        total.setText(""+totaljumlah);
        
        int kembalianjumlah = Integer.parseInt(bayar.getText()) - Integer.parseInt(total.getText());
        kembali.setText(""+kembalianjumlah);

        jButton2 = // TODO add your handling code here:
        angka1.setText("");
        angka2.setText("");
        bayar.setText("");
        total.setText("");
        kembali.setText("");

    13.  Jika sudah tekan kombinasi “SHIFT + F6” untuk menjalankannya.


Sekian cara membuat aplikasi kasir sederhana yang cukup sederhana, jika ada yang salah / kurang, atau ingin bertanya silahkan komentar di bawah, Terima Kasih semoga bermanfaat. Sampai jumpa 😊.