Selasa, 28 Juli 2020

Pengertian Bahasa Pemrograman




A. Definisi
        
        Program memiliki arti sebuah kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang dapat dieksekusi oleh komputer. Dengan kata lain program adalah sebuah rangkaian bahasa yang digunakan untuk memberi perintah / intruksi ke komputer.
            
        Bahasa Pemrograman adalah prosedur/tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting, yaitu sintaks dan semantik. 
  • Sintaks adalah aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan. 
  • Semantik adalah aturan-aturan untuk menyatakan arti.
        Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pengguna / user dengan komputer.

        Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya kode_mesin|MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
        Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.

        Sedangkan menurut generasinya, bahasa pemrograman digolongkan menjadi 5 generasi:
  1. Generasi ke-1: machine language
  2. Generasi ke-2: assembly language: Assembler
  3. Generasi ke-3: high level programming language, contoh: C dan Pascal
  4. Generasi ke-4: 4 GL (fourth-generation language), contoh: SQL
  5. Generasi ke-5: Programming Language Based Object Oriented & Web Development
B. Bahasa Pemrograman 

        Secara umum ada beberapa jenis bahasa yang sering digunakan, yaitu:

  • HTML / CSS
banyak yang tidak menggaggap ini bagian dari bahasa pemprograman, tetapi jika di lihat dari mana program web berasal maka bisa di pastikan html/CSS adalah dasar dari itu semua,jadi jika anda ingin belajar membuat web statis terebih dahulu anda pasti akan belajar HTML/CSS dasar.
  • JavaScript
JavaScript adalah cara yang sangat populer untuk menambahkan fitur interaktif untuk halaman web dan aplikasi . Ini adalah salah satu bahasa yang paling mudah untuk dipelajari dan dapat digunakan untuk apa pun seperti memvalidasi data formulir untuk mengembangkan permainan, menjadikannya pilihan yang sangat populer untuk pemula .
  • PHP
Hypertext PreProcessor atau lebih dikenal dengan PHP (bukan pemberi harapan palsu) adalah bahasa program yang digunakan terutama untuk mengembangkan halaman web dinamis . Ini berarti bahwa daripada menciptakan sebuah file terpisah penuh kode untuk setiap halaman situs, Anda dapat menulis seperangkat aturan untuk mengakses dan menampilkan informasi dari database yang kemudian dapat membuat halaman dan memanggil mereka ketika mereka dibutuhkan
  • Python
Sangat populer dalam komunitas ilmiah dan akademik, tetapi juga telah digunakan untuk membuat situs web populer seperti Pinterest . Hal ini relatif mudah untuk belajar dibandingkan dengan sesuatu seperti C atau turunannya, tetapi masih sangat fleksibel dalam hal apa yang dapat Anda lakukan dengan itu .
  • Java
Digunakan oleh Google sebagai bagian integral dari sistem operasi Android, dan oleh pengembang independen untuk membuat aplikasi Android ( serta kegunaan lain ) . Java diciptakan dengan " tulis sekali, jalankan di mana saja " ( WORA ) pendekatan untuk memudahkan kode yang ditulis pada satu mesin untuk berjalan di lain mesin.
  • Ruby
Ini adalah OOP murni populer dari Jepang. Bahasa pemrograman open source dinamis, mudah dimengerti dan produktif. Sintaks Ruby elegan, natural, mudah dibaca dan ditulis.
  • Visual Basic
Berasal dari ' BASIC ', yang sangat populer pada hari-hari awal komputasi pribadi, Visual Basic ( VB ) memungkinkan program sederhana yang akan dibuat dengan cepat dan mudah, sementara juga memungkinkan untuk coding yang lebih kompleks.

Senin, 27 Juli 2020

Konfigurasi Ekstensi Dan Dial Plan Pada Server Softswitch




A. Pengertian Extension dan Dial Plan

Extension adalah sekumpulan perintah yang dijalankan berdasarkan urutan2 dari tingkat prioritasnya. Berbeda dengan PABX , dimana extension biasanya berasosiasi dengan telepon, interface atau menu. Beberapa perintah, seperti Dial atau GotoIf, mempunyai kemampuan untuk berjalan ke perintah lain berdasarkan kondisinya.
Dalam extension asterisk sintax yang digunakan di file extensions.conf , setiap tahapan perintah dalam sebuah extension di tulis dalam format seperti

                                exten = extension,priority,Command(parameter)

Kesimpulanya, setiap “context” memiliki nama,setiap context dapat mendefenisikan satu atau lebih “extension”.didalam extension kita dapat memasukan sekumpulan perintah.

Komponen yang membangun tahapan perintah extension:
  1. Extension adalah label dari extension, dapat berupa string atau pola yang harus di evaluasi secara dinamik untuk mencocokan dengan banyak kemungkinan nomor telepon.dan setiap bagian dari extension harus memiliki label yang sama.
  2. Priority biasanya berupa angka integer. Adalah urutan dari perintah yang harus dijalankan dalam sebuah extension. Perintah pertama yang dijalankan harus dengan prioritas 1, jika tidak ada prioritas 1 maka asterisk tidak akan menjalankan perintah extension.dan seterusnya
  3. Command atau perintah adalah “aplikasi” yang akan di jalankan oleh Asterisk.
  4. Parameter adalah parameter yang harus diberikan kepada sebuah command. Tidak semua command / perintah membutuhkan parameter, beberapa perintah dapat dijalankan tanpa parameter

Dial-Plan berfungsi sebagai routing panggilan antar ekstensi, baik yang berada dalam satu IP-PBX ,(lokal) maupun antar IP-PBX, atau biasa disebut dial trunk. Dalam Asterisk, Dial Plan diprogram dalam satu file yang bernama extensions.conf. Secara umum, setiap ekstensi dalam Asterisk merujuk pada user tertentu yang ter-register ke Asterisk tersebut sehingga biasanya nomor ekstensi sama dengan id user.


B. Konfigurasi Ekstensi dan Dial Plan Server Softswitch

    1. Konfigurasi Ekstensi Server Softwitch
Konfigurasi Data Account Umum :
[general] –>> context umum,harus ada
context=default –>> nama context user
port=5060 –>> default port untuk SIP
binaddr=0.0.0.0 –>> listen semua ip_addr yg request
srvlookup=yes
tos=0x18
videosupport=yes
Konfigurasi Data Account User / Extensions :
;softphone –>> nama atau nomor account
[101] (user/extension)
type=friend –>> tipe account
username=101 –>> login account
secret=101 –>> password account
host=dynamic –>> host yang menjadi IP PBX,dpt berubah
nat=no –>> tanpa NAT
dtmfmode=rfc2833 –>> RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals
allow=all –>> mode codec, bisa semua jenis codec
callerid=”sip00” –>> id client
context=voipkn –>> context jaringan user
canreinvite=no –>> mekanisme canreinvite
mailbox=101@voipkn –>> username@context

     2. Konfigurasi dial-plan server Softwitch
Untuk mengkonfigurasi dial plan, edit file extensions.conf dengan mengetik:
nano /etc/asterisk/extensions.conf.
Pastikan bahwa seluruh perintah pada file ini sudah dinon aktifkan. Ketik perintah di bawah ini
pada bagian paling akhir dari isi file extensions.conf.

;Dial antar ekstensi pada IP-PBX
[voipkn] –>> seluruh dial plan di bawah ini hanya berlaku bagi context ‘voipkn’
exten =>101,1,Dial(SIP/101,20) –>> Dial ext 101 dengan protokol SIP, time out 20 detik
exten =>101,2,Hangup –>> setelah timeout dilakukan hangup
exten =>102,1,Dial(SIP/102,20)
exten =>102,2,Hangup


Minggu, 26 Juli 2020

Algoritma Pemrograman




     A. Definisi Algoritma
Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis. Artinya algoritma adalah sebuah jalan atau alur untuk melakukan sesuaty. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.


Perangko dari Rusia pada gambar ini adalah seorang pria dengan nama Muhammad bin Musa al-Khwarizmi. Bagi kalian yang sedang berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa orang di samping ini. Dia adalah seorang ilmuwan Islam yang karya karyanya dalam bidang matematika, astronomi, astrologi dan geografi banyak menjadi dasar perkembangan ilmu modern atau dikenal dengan sebutan Al-Jabar. Dan dari Namanya istilah yang akan kita pelajari dalam bab ini muncul. Dari Al-Khawarizmi kemudian berubah menjadi algorithm dalam Bahasa Inggris dan diterjemahkan menjadi algoritma dalam bahasa Indonesia.

       B.  Penulisan Algoritma
Perhatikan algoritma sederhana berikut :
Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain langkah yang harus dilakukan adalah :
1.      Menyiapkan peralatan tullis,
2.      Menulis surat,
3.      Surat dimasukkan ke dalam amplop tertentu
4.      Pada bagian amplop ditulis alamat pengirim dan penerima
5.      Pergi ke tempat Jasa Pengiriman seperti Tiki, JNE, Pos dan lainya.


Algoritma menghitung luas persegi panjang :
1.      Masukkan panjang (P)
2.      Masukkan Lebar (L)
3.      Luas ß P * L
4.      Tulis luas

Kelihatan sederhana bukan? Namun jangan salah. ALGORITMA ADALAH JANTUNG ILMU KOMPUTER ATAU INFORMATIKA. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identic dengan ilmu komputer saja. Dalam kehidupan sehari – hari pun banyak yang terdapat proses yang dinyatakan dalam suatu algoritma.
Cara – cara membuat kue atau masakan yang dinyatakan dalam suatu resep selalu ada urutan langkah – langkah membuat masakan. Bila langkah – langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu – ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah – langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot, atau alat – alat elektronik lainnya Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Pembuatan algoritma mempunya banyak keuntungan diantaranya :
a.       Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
b.      Notasi algoritma dapat diterjemahkan kedalam berbagai bahasa pemrograman
c.       Apapun bahasa pemrogramanya, output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
1.      Teks algoritma berisi deskripsi langkah – langkah penyelesaian masalah. DESKRIPSI TERSEBUT DAPAT DITULIS DALAM NOTASI APAPUN ASALKAN MUDAH DIMENGERTI DAN DIPAHAMI.
2.      Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
3.      Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
4.      Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalankannya. Pseudecode adalah kode yang mirip dengan instruksi kode program sebenarnya.
5.      Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6.      Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Agar lebih semangat dalam belajar pemrograman.  Silahkan melihat video dari Google Development berikut ini:




~ T E R I M A    K A S I H ~

Rabu, 22 Juli 2020

Ragam Komunikasi Data



Komunikasi Data adalah proses pengiriman data / informasi dari dua / lebih device (komputer, smartphone, handphone, dll) yang terhubung dalam suatu jaringan. Dapat juga diartikan sebagai upaya untuk bertukar pesan antara pengirim & penerima informasi. (omong - omongan // boso jowo).   

Konsep Kerja Server Softswitch Dengan PBX

Gambar Skema PBX

A. Pengertian PBX
PBX (private branch exchange) adalah  penyedia layanan telepon yang melayani pertukaran telepon dengan pusat di dalam suatu perusahaan, dan menjadi penghubung antara telepon dari publik ke telepon perusahaan atau jaringan telepon dari perusahaan ke anak perusahaan lainnya di area yang lebih luas atau untuk publik.
PBX dibedakan dari ‘sistem kunci’ yang dilakukan pengguna secara manual ketika ia menekan nomor tujuan. Maka dari itu, secara otomatis PBX akan menuju jalur sesuai dengan nomor yang dituju pengguna. Sistem ini disebut dengan Hybrid systems. ‘Sistem kunci ini dibuat dengan memilih jalur keluar khusus dengan menekan nomor eksternal. Namun, sistem PBX memiliki kode telepon untuk menghubungkan satu saluran dengan saluran luar (DDCO – direct dial central office), dan diikuti dengan nomor eksternal.
Sistem PBX memungkinkan pengguna untuk melakukan panggilan telepon secara internal dan eksternal dengan menggunakan kode telepon yang telah terdaftar di Central Office maupun di DDCO.


B. Fungsi PBX 

Sistem PBX secara fungsional memiliki empat tugas utama, yakni :
  1. Membuat koneksi (sirkuit) maksudnya menghubungkan antara telepon pengguna dengan telepon yang  dituju (misalnya, pemetaan ke nomor tujuan untuk jaringan telepon tidak sibuk)
  2. Menjaga koneksi atau sambungan selama menggunakan telepon (yaitu dengan menyalurkan  sinyal suara antara pengirim dengan penerima pesan)
  3. Mematikan koneksi atau hubungan jaringan telepon sesuai dengan perintah pengguna telepon
  4. Menyediakan informasi untuk kepentingan akuntansi (misal menampilkan lama waktu panggilan atau metering call) Selain fungsi dasar di atas, PBX juga menawarkan layanan panggilan lain dan kemampuan umum lainnya yang tentu saja berbeda dengan layanan yang serupa darisistem yang berbeda.

Fungsi-fungsi yang membedakan PBX dengan sistem lainnya meliputi:
  • Layanan otomatis panggilan (dimana pemanggil dapat dialihkan ke karyawan yang diberikan dengan memasukkan huruf nama karyawan tersebut)
  • Layanan otomatis nada tunggu
  • Metering call atau tampilan waktu panggilan
  • Memblokir panggilan
  • Pengalihan panggilan (dimana panggilan telepon sedang sibuk atau tidak diangkat)
  • Panggilan pick-up
  • Transfer panggilan
  • Panggilan tunggu
  • Panggilan konferensi
  • Modifikasi kata sambutan
  • Panggilan cepat
  • Direct Inward Dialing (dapat melakukan panggilan telepon ke banyak jaringan dalam satuarea, biasa disebut telekonferensi)
  • DISA - direct inward system access adalah kemampuan melakukan panggilan dariinternalke saluran telepon luar
  • Follow-me merupakan rute panggilan yang masuk hingga akhirnya panggilan dijawab ataupada tahap telepon dialihkan ke sistem surat suara. Sistem ini dikonfigurasi dengan daftar nomor seseorang.
  • Respon interaktif suara
  • Layanan musik tunggu
  • Surat suara

C. Softswitch

Gambar Skema Softswitch


Softswitch merupakan entitas berbasis software yang menjadikan fungsi control panggilan pada jaringan IP. Softswicth diperkenalkan dan dikembangkan oleh International Softswicth Consortium (ISC), yang sekarang telah berubah namanya menjadi International Packet Communications Consortium (IPCC) dan terakhir berubah lagi namannya menjadi Multiservice Swicthing Forum (MSF).
Softswitch adalah suatu alat yang mampu menghubungkan antara jaringan sirkuit dengan jaringan paket, termasuk di dalamnya adalah jaringan telpon tetap (PSTN), internet yang berbasis IP, kabel TV dan juga jaringan seluler yang telah ada selama ini.
Perangkat perangkat dalam sofswitch yaitu :
1.     Media Gateway Controller (MGC) yang sering disebut dengan perangkat Callagent.
MGC atau Call Agent adalah elemen utama softswitch, berfungsi untuk mengontrol semua sesi layanan dan komunikasi, mengatur interaksi elemen-elemen jaringan yang lain, dan menjembatani jaringan dengan karakteristik yang berbeda, yakni termasuk PSTN, SS7, dan jaringan IP
2.     Aplication / fitur server untuk Menyediakan fasilitas atau layanan seperti billing, multi-partyconferencing, dll. Feature server menggunakan sumber daya dan layanan yang terkait dengan komponen yang lain pada softswitch tersebut.
Contoh :gatekeeper, dll.
3.     Media server media server melaksanakan fungsinya yakni, untuk memperkaya softswitch dengan    kemampuan  media. Jika diperlukan, ini akan mendukung digital signal processing (DSP). Misalnya yakni untuk menanggapi respon suara, tugas itu akan dilakukan oleh media server.  Media Video juga akan dilayani oleh suatu Media Server manakala bisa diterapkan.Media akses adalah media yang digunakan oleh jaringan softswitch untuk menjangkau pelanggan. Media akses dapat menggunakan cable modem, leasedcircuit, v.52, DSL, HFC, dan radio akses.

 D. Proses kerja PBX pada server softswitch

Sebuah sistem IP PBX terdiri dari satu atau lebih telepon SIP, server IP PBX dan secara opsional VOIP gateway untuk terhubung ke jalur server, klien SIP, baik berupa software(softphone) atau perangkat keras berbasis ponsel, mendaftar ke server IP PBX,dan mereka ingin membuat panggilan mereka meminta IP PBX untuk melakukan panggilan.
IP PBX memiliki daftar semua ponsel atau pengguna dan alamat sesuai dengan SIP mereka dan dengandemikian dapat menghubungkan panggilan internal atau rute panggilan eksternal baik melalui gateway VOIP atau menyedia layanan VOIP.