Minggu, 09 Agustus 2020

Pemrograman Berbasis Web



A. Pengertian Pemrograman Berbasis Web

Pemrograman web adalah proses penulisan kode / koding bahasa pemrograman tingkat tinggi untuk membangun sebuah program web. Dikarenakan berbasis web, maka untuk membuka program ini harus menggunakan sebuah browser dan melalui jaringan intranet ataupun internet.

Berdasarkan penjelasan di atas, maka dapat diterjemahkan bahwa program berbasis web merupakan sebuah aplikasi yang diakses melalui web browser dengan menggunakan jaringan sebagai media transmisi.

Program berbasis web dapat digunakan untuk berbagai macam tujuan yang berbeda. Jika dalam perusahaan ritel atau pergudangan, aplikasi web dapat digunakan untuk mengolah data persediaan barang dan lain - lain.


B. Alur Kerja Website


Penjelasan untuk gambar cara kerja web diatas adalah USER atau pengguna yang akan mengakses suatu website berupa URL melalui Web Browser (media untuk menuju URL yang diakses).

Selanjutnya Web Browser tersebut mengirimkan permintaan berupa HTTP request kepada Web Server melalui layer-layer TCP/IP kemudian Web Server memberikan Web files yang di-request jika ada. Web files yang telah diberikan tidak langsung ditampilkan/di-display begitu saja namun Web Server memberikan respon kembali ke Web Browser melalui HTTP response yang juga melalui layer-layer TCP/IP. Kemudian baru diterima oleh Web browser lalu dikirimkan kepada USER berupa Display.

Secara umum cara kerja web adalah sebagai berikut:
Informasi web disimpan dalam dokumen dalam bentuk halaman-halaman web (web page). Halaman web tersebut disimpan dalam computer server web. Sementara di pihak pemakai ada komputer yang bertindak sebagai computer client yang mana ditempatkan program untuk membaca halaman web yang ada di server web (browser).

Browser membaca halaman web yang ada di server web. Ada 2 bagian utama dalam aplikasi web, yaitu yang pertama adalah sisi client dan yang kedua ialah sisi server. Sisi client dalam hal ini adalah PC atau bisa disebut juga dengan perangkat mobile yang terhubung ke jaringan internet. Client dapat mengakses aplikasi web melalui web browser, seperti mozilla firefox, google chrome, internet explorer, dan web browser lainnya. Sedangkan server adalah perangkat komputer dengan spesifikasi yang bagus dan digunakan untuk menyimpan aplikasi web beserta database server yang siap untuk diakses oleh client. Client bertugas meminta halaman web browser melalui web browser lalu web browser akan meneruskannya ke server yang mana aplikasi web berada.

Selanjutnya komputer server akan mengolah permintaan dari client saat halaman web yang diminta ditemukan maka komputer server akan mengirimkannya ke computer client dan halaman web yang diminta akan ditampilkan di web browser pada computer client.


C. Keunggulan Pemrograman Berbasis Web

Keunggulan aplikasi berbasis web antara lain:
  • Tidak memerlukan sebuah lisensi ketika menggunakan aplikasi berbasis web dikarenakan lisensi merupakan sebuah tanggung jawab dari penyedia layanan aplikasi
  • Tidak memerlukan spesifikasi yang tinggi untuk melakukan dan menggunakan aplikasi web
  • Dapat dijalankan dimanapun dan kapanpun tanpa harus melakukan installasi
  • Dapat digunakan di berbagai jenis sistem operasi
  • Dapat diakses melalui banyak media seperti komputer, laptop, smartphone

D. Kekurangan Pemrograman Berbasis Web

Kekurangan aplikasi berbasis web antara lain:
  • Membutuhkan keamanan yang tinggi, hal ini di karenakan pada jenis aplikasi berbasis web dijalankan secara terpusat, sehingga apabila sistem server mengalami down maka sistem aplikasi disisi client tidak dapat beroperasi dengan normal
  • Dibutuhkan sebuah jaringan dan atau koneksi internet untuk melakukan atau menggunakan aplikasi ini

E. Jenis Bahasa Pemrograman Bebasis Web

Bahasa pemrograman berbasis web sangat diminati masyarakat luas. Maka dari itu berkembang sangat cepat, beberapa jenis bahasa pemrograman yang umum digunakan adalah:

1. Bahasa Pemrograman HTML (HyperText Markup Language)
HTML merupakan bahasa standar yang digunakan untuk membuat suatu dokumen atau halaman web, terdiri dari kode-kode singkat tertentu yang akan ditampilkan oleh web browser.

2. Bahasa Pemrograman JavaScript
JavaScript adalah bahasa script yang dapat bekerja di sebagian besar browser. JavaScript dapat disisipkan dalam halaman web menggunakan tag SCRIPT. JavaScript pertama kali dikembangkan oleh Brendan Eich. Walaupun namanya JavaScript namun bahasa pemrograman ini tidak ada hubungannya dengan bahasa pemrograman java. JavaScript dapat digunakan untuk membuat efek rollover baik gambar maupun teks dan yang paling utama untuk membuat AJAX.

3. Bahasa Pemrograman PHP (Hypertext Preprocessor)
PHP adalah bahasa pemrograman yang digunakan secara luas untuk penggunaan, pembuatan, dan pengembangan sebuah situs web dan bisa digunakan bersamaan dengan HTML.

4. Bahasa Pemrograman ASP (Active Server Pages)
ASP merupakan script yang bersifat server-side yang ditambahkan pada HTML untuk membuat situs web menjadi lebih menarik, dinamis dan efektif sehingga isi dari sebuah website dapat diprogram untuk mendapatkan hasil yang berbeda.

5. Bahasa Pemrograman XML (Extensible Markup Language)
XML adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C, untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam. XML didesain untuk menyimpan data secara ringkas sehingga menjadi lebih efisien dan mudah diatur.

6. Bahasa Pemrograman WML (Wireless Markup Language)
WML adalah bahasa markup yang digunakan untuk mengimplementasikan WAP dokumen WML berbasis XML, dimana versinya mempunyai DPD dokumen type devinition. WML merupakan analog dari HTML yang berjalan pada protocol nirkabel.

7. Bahasa Pemrograman CSS (Cascading Style Sheet)
CSS merupakan aturan untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS bukan merupakan bahasa pemrograman. Sama halnya Microsfot Word yang dapat mengatur beberapa style, misalnya heading, subbab, bodytext, footer, images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa berkas (file).

8. Bahasa Pemrograman AJAX (Asynchronous JavaScript And XML)
AJAX adalah bahasa pemrograman yang membuat web lebih interaktif. Salah satu contoh web yang banyak menggunakan AJAX adalah Facebook. Dengan menggunakan AJAX web terlihat lebih dinamis karena tidak semua page terload.

9. Bahasa Pemrograman PYTHON
Python adalah bahasa pemrograman interpretatif multiguna dengan sintaks yang sederhana. Bahasa ini banyak digunakan untuk menulis aplikasi website, namun pada beberapa tahun terakhir juga mampu menarik perhatian dalam ruang coding IoT. Perusahaan-perusahaan besar yang menggunakan Python sebagai bahasa pemrogramannya adalah Google, Instagram, Youtube dan masih banyak lagi.

10. Ruby
Selain Python, Ruby juga menggunakan struktur sintaks yang sederhana. Selain itu, Ruby juga mempunyai kelebihan lain yaitu memiliki exception handling yang baik, bahasa Pemrograman Berorientasi Objek, mengusung konsep single inheritance, serta bersifat Open Source.

Untuk belajar pemrograman dasar paling mudah melalui web w3schools. Atau klik disini.

Selasa, 04 Agustus 2020

Tutorial Membuat Blog Dari HP Android





Blog merupakan singkatan dari web log adalah bentuk aplikasi web yang berbentuk tulisan-tulisan (yang dimuat sebagai posting) pada sebuah halaman web. Tulisan-tulisan ini sering kali dimuat dalam urutan terbalik (isi terbaru dahulu sebelum diikuti isi yang lebih lama), meskipun tidak selamanya demikian. Situs web seperti ini biasanya dapat diakses oleh semua pengguna Internet sesuai dengan topik dan tujuan dari si pengguna blog tersebut. (sumber :wikipeda)

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.


Kamis, 03 November 2016

Hal Yang Harus Dilakukan Mahasiswa IT


Dalam dunia kerja khususnya yang bergelut bidang IT, diharapkan mampu memberikan kontribusi serta mampu bersaing untuk membuat perusahaan semakin lebih baik. Karena materi yang diberikan saat kuliah itu dasarnya saja. Mahasiswa IT dituntut untuk lebih terampil dan mandiri untuk mempersiapkan dirinya dalam menghadapi dunia kerja atau justru menciptakan lapangan kerja. Ini ada beberapa hal yang perlu dilakukan mahasiswa jurusan IT:
                
                1. Belajar Membuat Aplikasi
Belajar bahasa pemrograman di dunia akademis biasanya hanya terbatas hingga mata kuliah algoritma dan pemrograman. Bila kita mengikuti kuliah tersebut dengan serius, tentu saja akan menjadi awal yang bagus untuk kita sendiri. Tapi bila kita menganggap remeh, kita harus mampu memilih apa yang akan kita ambil. Bisa dibilang case yang akan dihadapi ketika bekerja akan lebih sulit dan lebih dramatis ketimbang tugas - tugas waktu kuliah. Ada kalanya kita harus meningkatkan jam terbang dari waktu yang sudah kita dapatkan di kampus. Mungkin sekarang kita dapat mulai menekuni salah satu bahasa pemrograman, katakanlah Java. Dengan bahasa pemrograman tersebut kita dapat memilih karir untuk menjadi web developer dengan menggunakan teknologi SpringMVC atau menjadi mobile developer dengan menggunakan teknologi Android.
Untuk mengejar hal tersebut, mau tidak mau kita harus merelakan waktu kita untuk bersenang - senang untuk sedikit demi sedikit mulai menaikkan kemampuan kita. Tergantung fokus kita mau kemana, dengan meluangkan waktu lebih bukan hal tidak mungkin kita dapat menguasai suatu bahasa pemrograman tanpa harus tergantung kepada mata kuliah pemrograman yang diberikan kampus. Ketika kita menggunakan suatu bahasa pemrograman, kita dapat membuat berbagai hal dengan bahasa pemrograman tersebut. Taruhlah kita senang dengan bahasa pemrograman C#. Dengan menggunakan bahasa pemrograman C# saja, kita sudah dapat mulai membuat aplikasi mobile untuk Windows Phone, aplikasi desktop untuk Windows, aplikasi web, ataupun membuat sebuah library untuk digunakan developer lain.
Karena bahasa pemrograman tidak hanya digunakan untuk menyelesaikan tugas kuliah saja, kita dapat mulai curi start untuk membuat suatu aplikasi prakarya yang kompleks untuk membangkitkan kemampuan kita yang terpendam dalam membangun suatu aplikasi. Tentu saja kita pun harus mandiri mencari sumber belajar, entah itu dari web tutorial, slide dari kampus lain, ataupun buku yang dirilis oleh komunitas. Kalau punya uang lebih, mungkin Anda dapat membeli e-book dari toko online yang sudah banyak menyediakan buku - buku bidang IT.

2. Mencoba Versioning Control System
Pernahkah kita membuat aplikasi untuk tugas besar, namun untuk menggabungkan source code masih secara manual dengan copy source code dari teman - teman sekelompok kita? Ada suatu teknologi yang dinamakan dengan versioning control system. Dengan menggunakan versioning control system, kita dapat mulai berkolaborasi dengan banyak orang, mengatur source code mana yang akan digabungkan untuk dirilis pada versi tertentu, termasuk menjaga source code dari kefatalan akibat bencana yang tidak diinginkan.
Ada banyak sekali VCS yang dapat digunakan seperti Git, Mercurial, dan SVN. Salah satu VCS yang paling ramah digunakan adalah Git, karena dapat dipasang di lokal dan sudah banyak layanan Git yang tersedia baik gratis maupun berbayar. Kita dapat mengakses layanan Git gratis seperti Github, BitBucket, Gitlab, atau memasangnya sendiri di server kita dengan menggunakan software seperti GOGS (Go Git Service) atau Phabricator. Kedua software terakhir diberikan secara gratis oleh pengembangnya.
Lalu apakah keuntungan mempelajari Git atau semacamnya? Selain memang digunakan di beberapa perusahaan, menguasai Git atau SVN dapat menjadi nilai lebih bagi kita ketika nanti akan bekerja ataupun melamar kerja. Paling tidak kita dapat menjadi orang yang lebih mudah beradaptasi untuk menggunakan VCS.

3. Mengenal Berbagai Macam Database Relasional dan NoSQL
Coba ingat - ingat lagi, siapa yang waktu kuliah diajarkan MySQL atau Oracle? pada umumnya bila kuliah di IT akan mendapatkan materi tentang database dengan menggunakan MySQL atau Oracle. Ada juga yang menggunakan MS SQL Server bila kampus tersebut melakukan kerjasama dengan Microsoft. Untuk topik yang satu ini, mahasiswa tidak perlu terlalu khawatir karena materi dasar dan menengah sudah diberikan di kampus. Hanya saja walaupun tidak mendalam hingga dapat melakukan cluster database ataupun administrasi database tingkat lanjut, harus tetap kita pelajari di luar jam kuliah, khususnya kita coba bekerja di suatu perusahaan, karena agak sulit untuk mendapatkan infrastruktur dunia nyata bila mengandalkan perkuliahan saja. Lowongan pekerjaan saat ini masih tetap memiliki spesifikasi untuk database seperti Oracle, MySQL, PostgreSQL, ataupun MS SQL Server. Namun yang perlu ditekankan adalah kita harus menguasai lebih dalam berbagai skill dengan database tersebut seperti menguasai SQL advance, stored procedure, cluster database, administrasi database, hingga kalau bisa dapat memasang database-nya sendiri paling tidak di laptop sendiri.
Namun tidak sedikit juga ada lowongan kerja yang menuntut si pelamar untuk menguasai database yang tidak dipelajarinya di perkuliahan semisal MongoDB, Elasticsearch, ArangoDB, Neo4j, Redis, dan database non relasional lainnya. Masih jarang kampus yang memberikan kuliah tentang database non relasional, padahal di tahun 2016 ini tidak sedikit lowongan kerja yang membutuhkan skill tersebut. Bila menyerah pada "gak bisa", tentu saja pemenangnya adalah mereka yang dengan mandiri menguasai hal tersebut bisa jadi dari mahasiswa diluar jurusan IT atau malah yang sudah lama bekerja namun tetap semangat untuk menambah skill.
Kehadiran database non relasional tersebut menjadi salah satu keunggulan tambahan bagi kita, bila kita memang tertarik ke arah tersebut. Atau tetap fokus saja pada database relasional yang pernah kamu pelajari di kampus sebagai modal awal untuk berkarir.

4.  Administrasi Server dan Jaringan
Untuk mempelajari administrasi server dan jaringan mungkin perlu waktu luang lebih untuk mempelajarinya bila fasilitas yang disediakan di perkuliahan sangat terbatas. Misal bila ingin mencoba mengetahui beberapa pengaturan web server dan database di server bersistem operasi Ubuntu, kita harus merelakan waktu kita untuk memasang server tersebut, mencari dokumentasi untuk memasang web server dan database, kemudian hingga setting host-nya. Hal praktikal semacam ini memang sulit dipelajari bila hanya mengandalkan kampus, bisa jadi kemampuan tersebut dapat kita peroleh dari forum, komunitas, kursus, atau malah diajari oleh teman kita yang hobi ngulik.
Satu - satunya sumber belajar yang bisa diandalkan adalah dokumentasi. Bila sudah terbiasa menguasai sesuatu dengan membaca dokumentasi, tentu tidak akan terlalu sulit bila suatu saat ditugasi untuk men-deploy aplikasi berbasis Node.js dengan menggunakan PM2 misalnya di server. Atau mungkin Anda ditugasi untuk menyiapkan infrastruktur untuk deploy aplikasi berbasis Django dan PostgreSQL. Memiliki kemampuan untuk mempelajari sendiri dalam waktu cepat, akan menjadi nilai lebih bagi kita karena hal tersebut akan membantu kita lebih mudah menyelesaikan tugas.
Apalagi bila Anda seorang yang ingin bertekad lulus sertifikasi CISCO atau Mikrotik. Meluangkan waktu lebih sehabis kuliah untuk membaca modul pelatihan gratis atau kumpulan soal untuk mengikuti sertifikasi tersebut lebih baik lagi bila dimanfaatkan ketimbang galau - galauan yang tidak berdasar. Apalagi kalau Anda mendapatkan kesempatan untuk melakukan setting jaringan di gedung kampus dengan menggunakan perangkat tersebut, jangan sampai kesempatan tersebut dilewatkan begitu saja.
5. Pengujian Software yang Tidak Hanya Blackbox Testing
Blackbox testing menjadi salah satu pengujian yang digunakan di dunia kerja. Selain testing tersebut, Anda dapat mengeksplorasi berbagai testing yang dapat dipelajari sepulang kuliah. Beberapa teknik software testing yang dapat diulik sepulang kuliah antara lain:
·   Acceptance testing menggunakan Selenium atau Phantom.js
·   Unit testing menggunakan JUnit, UnitTest, PHPUnit, CodeCeption
·   Stress testing dengan Apache Benchmark atau Siege
·   Performance testing dengan GTMatrix
·   dan lainnya.
Mengetahui software testing akan menjadikan hal tersebut sebagai keuntungan bagi kita yang terjun di dunia software development. Materi di kampus saja tidaklah cukup, untuk menghadapi dunia kerja. Jadi tetap semangat meluangkan waktu untuk meningkatkan
6. Manajemen Proyek Aplikasi Perangkat Lunak
Mengelola suatu proyek mesti memiliki pengalaman yang lebih dibandingkan hanya mengetahui teorinya saja. Untuk mengetahui cara mengelola proyek skala kecil, paling tidak kita harus berani mengerjakan proyekan yang diberikan dosen ataupun yang kita terima dari orang yang membutuhkan tenaga kita. Tidak sedikit dari mahasiswa IT yang memberanikan diri untuk menyelesaikan proyek untuk membangun aplikasi bagi suatu perusahaan, padahal dia sendiri masih kuliah. Ada juga yang sudah sedari awal sejak kuliah sudah memiliki tim sendiri untuk menangani berbagai proyek yang ditanganinya.
Mengelola proyek ini bukan hanya sekedar ilmu teknis, ada juga ilmu lain seperti mengelola keuangan, mengelola tim, bernegoisasi dengan client, bahkan sampai presentasi produk agar dapat diterima dan diimplementasikan pun kita tidak akan dapatkan di perkuliahan. Memberanikan diri untuk menangani proyek atau ikut mengerjakan proyek orang lain, dapat menjadi hal yang dapat membantu kamu ketika mengikuti seleksi penerimaan karyawan di suatu perusahaan.
7. Menjalin Relasi
Mungkin menjalin relasi ini bukan hanya sekedar berteman, tapi lebih menjaga silaturahmi untuk tujuan bisnis. Tidak sedikit dari kita yang hobi mencari masalah dengan orang lain, dan dapat merasa menyelesaikan masalah sendiri ataupun dengan kelompok kita sendiri. Dunia kerja tidak dibatasi oleh kita sendiri atau kelompok kita sendiri tapi akan selalu ada orang lain yang harus kita hadapi dengan baik agar tidak merugikan kita di kemudian hari. Misal anggap begini, kita mungkin sering iseng kepada seorang dosen yang tidak disukai misalnya bolos pada jam kuliahnya, ataupun melakukan hal yang tidak baik padanya. Bukan tidak mungkin kita akan sulit bekerja pada suatu perusahaan karena ternyata pemilik perusahaan adalah teman dari dosen kita.
Begitupun menjaga hubungan baik dengan teman kita, bukan hal yang tidak mungkin bila teman kita akan menjadi jalan rezeki kita tanpa kita ketahui dari arah yang tak terduga. Bekerja sama dengan teman pun dapat menjadi referensi baik bagi kita sendiri, yang seperti biasa siapa tahu perusahaan yang kita sambangi ternyata berteman baik dengan teman kita. Setelah masuk dunia kerja apalagi, sangat tidak bijak apabila kita sombong dan merasa memiliki sesuatu dan berkuasa atas sesuatu padahal semua yang ada dikantor adalah milik bersama.
Sebagai mahasiswa yang kreatif, kita harus mulai membaur dengan organisasi, komunitas, atau kelompok - kelompok apapun selama positif. Walaupun teman yang kita bina bukan sejurusan, siapa tahu salah satu jalan rezeki kita malah datang dari dia. Katakanlah teman kita adalah seorang jurusan pendidikan sekolah dasar, siapa tahu suatu hari nanti dia melemparkan proyek untuk pembangunan aplikasi akademik kepada kita. Jadi tetap berteman dengan baik yah.
Etika
Mengasah etika tidak hanya harus dilakukan saat kuliah, suatu saat nanti ketika bekerja tentu kita akan berhadapan dengan orang lain, apalagi bila kita ingin menjadi seorang pemilik usaha. Bisa jadi etika merupakan skill yang akan diutamakan ketimbang kemampuan teknis kita. Etika merupakan perihal yang cukup rumit untuk diasah karena sudut pandang dari setiap orang yang kita hadapi akan berbeda dan memiliki pandangannya sendiri. Etika yang biasa dipelajari di perkuliahan biasanya fokus pada keprofesian, sedangkan ketika kerja sendiri justru etika yang lebih luas lagi yang harus kita terapkan setiap harinya.
Etika memang tidak harus dipelajari, karena nantinya akan dipelajari secara mandiri dan seiring waktu mungkin kita akan menjadi lebih baik. Beberapa sikap yang perlu kita jalankan saat magang misalnya adalah sebagai berikut:
·   berkomunikasi dengan tutur kata yang baik
·   jangan telat masuk kantor bila memang aturannya seperti itu
·   menyelesaikan masalah langsung dengan orang yang bersangkutan secara baik - baik bila memungkinkan (harusnya)
·   tidak bergosip soal teman kerja kita
·   tidak mengklaim source code yang telah kita buat sebagai milik kita sendiri apabila dalam perjanjian kontrak kerja ada peraturan seperti tersebut
·   bila resign jangan mendadak menghilang
·   dan masih banyak lainnya lagi.
Bila memang merasa butuh untuk mempelajari etika, kita dapat membeli buku yang membahas tentang etika entah itu etika profesi, etika kerja, dan etika lainnya atau mungkin berkonsultasi dengan teman kita yang sudah bekerja lebih dulu untuk mendapatkan pencerahan yang lebih nyata.

Solusi
Bila memang ingin bekerja di bidang IT tentu saja kita harus mulai mandiri menyiapkan skill yang diperlukan untuk berhadapan dengan dunia kerja tersebut. Tanpa harus disuruh dosen, lebih baik bila kita mulai melakukan aksi nyata ketimbang mengeluh karena dosen "tidak pernah mengajarkan sesuatu" ataupun kampus hanya memberikan fasilitas yang terbatas. Beberapa langkah nyata yang bisa kita persiapkan untuk menghadapi dunia kerja begitu lulus dapat kamu pilih dari salah satu berikut ini:
  • Menjadi pengajar / instruktur di tempat les komputer dan sebidangnya atau praktikum suatu mata kuliah
  • Magang di perusahaan IT walaupun sudah pernah magang sebagai tugas kampus alias kerja praktek
  • Mengerjakan proyek yang diberikan dosen ataupun yang ditawari teman kita, karena hal tersebut dapat meningkatkan skill kita
  • Bekerja fulltime sebelum lulus, bisa jadi bekerja sambil merampungkan skripsi
  • Kalau memang masih takut untuk mulai bekerja, kita bisa mencoba untuk ngulik dengan porsi yang lebih intens dan tentu saja fokus, misal kita hanya fokus ngulik PHP, MySQL, CSS, dan suatu web framework agar nanti lebih mudah menyesuaikan bila diterima di suatu perusahaan yang memerlukan skill tersebut
  • Mengikuti seleksi kewirausahaan di bidang IT, dengan mengikuti seleksi tersebut, siapa tahu kita menjadi pencipta lapangan kerja

Semangat Berkarya :D