Selasa, 21 Juli 2020

Logika dan Algoritma

1. Pengertian Logika dan Algoritma

Pengertian algoritma sangat lekat dengan kata logika, yaitu kemampuan seorang manusia untuk berfikir dengan akal tentang suatu permasalahan menghasilkan sebuah kebenaran, dibuktikan dan dapat diterima akal, logika seringkali dihubungkan dengan kecerdasan, seseorang yang mampu berlogika dengan baik sering orang menyebutnya sebagai pribadi yang cerdas. Dalam menyelesaikan suatu masalahpun logika mutlak diperlukan.
Logika identik dengan masuk akal dan penalaran. Penalaran adalah salah satu bentuk pemikiran. Pemikiran adalah pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran mungkin benar dan mungkin juga tak benar.Definisi logika sangat sederhana yaitu ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku. Pelajaran logika menimbulkan kesadaran untuk menggunakan prinsip-prinsip untuk berfikir secara sistematis.
Logika berasal dari dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika dapat diartikan ilmu yang mengajarkan cara berpikir untuk melakukan kegiatan dengan tujuan tertentu. Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu JafarMuhammad Ibnu Musa Al Khuwarizmi penulis buku berjudul Al Jabar Wal Muqabala.
Kata Al Khuwarizmi dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi Algorithm diserap dalam bahasa Indonesia menjadi Algoritma.Algoritma dapat diartikan urutan penyelesaian masalah yang disusun secara sistematis menggunakan bahasa yang logis untuk memecahkan suatu permasalahan.
Meski demikian terdapat beberapa definisi algoritma yang lain. Diantaranya menurut Rinaldi Munir, algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Sedang menurut Kamus Besar Bahasa Indonesia, definisi algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. Menurut tim Gunadarma:1988, algoritma adalah suatu himpunan berhingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik. Dari pengertian diatas maka dapat disimpulkan bahwa Logika danAlgoritmaadalah ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu.
Untuk lebih mudah memahami arti dari algoritma dicontohkan sebuah permasalahan penukaran isi dari dua gelas. Diberikan dua buah gelas A dan B, gelasA berisi air teh dan gelasB berisi air kopi. Pertukarkan isi gelas tersebut sehingga menghasilkan gelasA yang semula berisi air teh menjadi berisi air kopi dan gelasB yang semula berisi air kopi menjadi berisi air teh. Ilustrasi permasalahan ini dapat dilihat pada Gambar 1.1.


Gambar 1.1. Penukaran gelas isi gelas A dan gelas B.

Cara penyelesaian permasalahan ini adalah sebagai berikut. Untuk mempertukarkan isi gelasdengan benar, maka diperlukan gelastambahan yang kita namakan gelasCsebagai tempat penampungan sementara. Berikut Algoritmanya:
1.    Siapkan gelas cadangan C

2.    Tuangkan air teh dari gelas A ke dalam gelas C (gelas A menjadi kosong).
3.    Tuangkan air kopi dari gelas B ke dalam gelas A (gelas B menjadi kosong).
4.    Tuangkan air teh dari gelas C ke dalam gelas B.

Ilustrasi   langkah-langkah   algoritma dapat dilihat pada Gambar 1.2.
Gambar 1.2. Langkah-langkah penukaran gelas isi gelas A dan gelas B.

Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua buah gelas sangat sederhana. Disini digunakan urutan langkah yang masuk akal atau logis sehingga isi dari kedua nya sudah berpindah media, dari A ke B dan B ke A. Inilah yang dinamakan “Algoritma”, urutan penyelesaian sebuah permasalahan dengan urutan dan langkah yang logis dan masuk akal menghasilkan sesuatu langkah yang benar.
Contoh lain penggunaan logika dan algoritma adalah membuat algoritma untuk menghitung luas lingkaran, caranya:
1.              Menentukan nilai jari-jari (r) lingkaran.
2.              Menentukan nilai phi.
3.              Menghitung luas lingkaran dengan cara mengkalikan nilai jari-jari (r) dengan (r) lalu dikalikan dengan nilai phi.
4.              Maka luas lingkaran ditemukan.
5.              Selesai.
Saat menggunakan logika, sebaiknya jangan berfikir terlalu rumit tentang sebuah masalah, karena belum tentu masalah itu serumit yang kita pikir. Pikirkan hal yang paling sederhana untuk menyelesaikan masalah itu, sehingga tidak terjebak dalam pikiran rumit yang dibuat sendiri. Meski demikian jangan meremehkan masalah sekecil apapun, tapi berfikir sederhana untuk menghasilkan solusi yang efektif
Dalam menentukan algoritma untuk menyelesaikan suatu permasalahan, mungkin kita dihadapkan oleh beberapa pilihan algoritma. Oleh karena itu kita harus memiliki rambu- rambu dalam menentukan pilihan algoritma. Pertimbangan dalam pemilihan algoritmaadalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran susuai seperti yang diharapkan dari sejumlah masukan yang diberikan. Tidak
peduli sebagus apapun algoritma, jika memberikan keluaran yang salah, maka sudah pasti algoritma tersebut bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahuiseberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini pentingterutama pada algoritma yang memerlukan aproksimasi hasil yaitu algoritma yang hasilnya hanya berupa pendekatan. Algoritma yangbaik harus mampu memberikan hasil yang sedekat mungkin dengan nilaiyang sebenarnya.Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari dua hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar atau paling mendekati, tetapi jika kita harus menunggu lama untuk mendapatkan hasil semisal berjam-jam untuk mendapatkan keluarannya maka biasanya algoritma tersebut biasanyatidak akan menjadi pilihan utama, setiap orang menginginkan keluaran yang relatif cepat. Begitujuga dengan memori, semakin besar memori yang terpakai maka semakin jelek algoritma tersebut.Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaandalam menyusun algoritma, tentunya kita mengharapkan keluaran yang mirip atau sama. Jika dihadapkan pada permasalahan seperti ini maka sebaiknya pilih algoritma yang paling efisien dan cepat.
Tujuan dari belajar logika dan algoritma adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila menyelesaikan suatu masalah.Karena suatu permasalahan yang diselesaikan dengan suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan.

1.1 Ciri-ciri Dasar Algoritma

Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth, algoritma mempunyai lima ciri penting yang meliputi:
1.        Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah proses.
2.        Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda.
3.        Input (masukan), algoritma memiliki nol atau lebih data masukan (input).
4.        Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output).
5.        Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar.

Sedang sifat algoritma adalah:
1.        Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu.
2.        Tidak tergantung pada suatu bahasa pemrograman tertentu.
3.        Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
4.        Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari



Senin, 20 Juli 2020

Menerapkan konfigurasi ekstensi dan dial-plan Server softswitch.


Pengertian Ekstensi
Gambar.1.1 Ekstensi


Extensi dan dial plan server voip dianalogikan seperti PABX. Ekstensi adalah data client voip , misalnya komputer ke 1 ekstensinya 001 , komputer kedua eksetnsinya 002, komputer ketiga ekstensinya 003 dan seterusnya.

Semua ekstensi di atas ditulis di dlam sebuah file konfigurasi yaitu  file extensions.conf. Setiap  ekstensi memiliki komponen dan tahapan perintah yang tersimpan di dalam file tersebut. Di dalam file tersebut di tulis dalam format exten = extension,priority,Command(parameter). Utuk setiap extension/ekstensi, dapat didefinisikan sekumpulan perintah. Komponen yang membangun tahapan perintah extension atau command line adalah sebagai berikut :

  1. Extension adalah label dari extension, dapat berupa sebuah string (angka, huruf dan simbol yang diijinkan) atau pola yang harus di evaluasi secara dinamik untuk mencocokan dengan banyak kemungkinan nomor telepon. Setiap command line yang menjadi bagian dari extension tertentu harus mempunyai label yang sama.
  2. Priority biasanya berupa angka integer. Merupakan urutan dari perintah yang harus dijalankan dalam sebuah extension. Perintah pertama yang akan dijalankan harus dimulai dengan prioritas 1, jika tidak ada prioritas 1 maka Asterisk tidak akan menjalankan perintah extension. Setelah  prioritas 1 di jalankan, Asterisk akan menambah prioritas ke prioritas 2 dan seterusnya, tentunya jika tidak ada perintah yang menentukan prioritas mana yang selanjutnya harus dijalankan. Jika ternyata perintah selanjutnya ternyata tidak terdefinisi maka Asterisk akan menghentikan proses menjalankan perintah walaupun masih ada perintah dengan prioritas yang lebih tinggi.
  3. Command  adalah perintah 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.
Pengertian Dial Plan

Gambar 1.2 Dial Plan


Dial Plan berfungsi sebagai routing (proses dimana suatu item dapat sampai ke tujuan dari satu lokasi ke lokasi lain) panggilan antar ekstensi, baik yang berada dalam satu IP-PBX (lokal) maupun antar IP-PBX, atau biasa disebut dial trunk.

Dalam server voip asterisk, Dial Plan diprogram dalam suatu file yang bernama extentions.conf, Setiap ekstensi dalam asterisk merujuk kepada user tertentu yang telah terdaftar di asterisk tersebut sehingga biasanya nomor ekstensi sama terhadap user id.


Pengertian Softswitch


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.
     Menurut isc (International softswitch concortium) definisi softswitch adalah suatu perangkat yang memiliki kemampuan :
  1. Memilih proses yang di terapkan pada suatu panggilan
  2. Routing untuk panggilan dalam jaringan
  3. Mentransfer kontrol panggilan ke elemen jaringan



Konsep kerja softswitch


     Antara MCG dan MG sendiri akan saling berhubungan dengan protocol Megaco atau MGCP (Media Gateway Control Protocol). Sementara itu, satu MGC akan berhubungan dengan MGC lain, baik itu yang berada di jaringan yang sama maupun berbeda, dengan mengirimkan protocol sinyal tertentu. Untuk jaringan sirkit, MGC akan mengirimkan SS7 (Signalling System 7), maka MGC akan menggunakan H.323 atau SIP (Season Initiation Protocol).
      Sedangkan MG sendiri ‘hanya’ akan bekerja sebagai converter antara jaringan sirkuit dengan jaringan paket. Di sini fungsi softswitch menjadi hanya setara dengan ‘switch analog’ dan tidak akan memberikan layanan yang lain. MG juga bias bekerja di sisi pelanggan maupun penyedia layanan, dimana softswitch bukan hanya berfungsi sebagai converter, namun juga memberikan feature lebih, termasuk dial-tone tentunya. Pada posisi ini, maka softswitch akan bekerja lebih kompleks.


Komponen – komponen softswitch
  1. Gateway Controller (GC) berfungsi untuk mengontrol semua sesi layanan dan komunikasi, mengatur interaksi elemen-elemen jaringan yang lain.
  2. Signaling Gateway (SG)  suatu jembatan antara jaringan SS7 dengan jaringan IP dibawah kendali dari MGC.SG hanya menangani pensinyalan SS7
  3. Media Gateway (MG) berfungsi sebagai elemen transport untuk merutekan trafik dalam jaringan softswitch dan juga mengirim atau menerima trafik dari jaringan lain yang berbeda
  4. Feature Server (FS) menggunakan sumber daya dan layanan yang terkait dengan komponen yang lain pada softswitch tersebut.
  5. Media Server (MS) fungsinya yakni, untuk memperkaya softswitch dengan kemampuan media. Misalnya yakni untuk menanggapi respon suara, tugas itu akan dilakukan oleh media server.


Mengenal Ragam Aplikasi Komunikasi Data


A. Ragam Aplikasi Komunikasi Data
1. Pengertian Komunikasi Data
Komunikasi Data merupakan sebuah proses pengiriman paket/data atau informasi dari suatu sumber (source) menuju ke suatu tujuan(destination). komunikasi data berhubungan dengan pengiriman paket/data yang menggunakan sistem transmisi elektronika dari satu komputer kekomputer lain atau menuju ke terminal tertentu. 



Gambar 1.1 Komunikasi data

Komunikasi Data saat ini menjadi bagian dari kehidupan masyarakat, karena telah diterapkan dalam berbagai bentuk aplikasi misal: komunikasi antar komputer yang populer dengan istilah internet, Handphone ke komputer, Handphone ke Handphone, komputer atau handphone ke perangkat lain misal: printer, fax, telpon, camera video dll.

2. Model Komunikasi data:
a. Komunikasi data Simplex: satu arah


Gambar 1.2 Komunikasi data simplex



b. Komunikasi data Half Duplex: Dua arah bergantian
Gambar 1.3 Komunikasi data half duplex

c. Komunikasi data Full Duplex : Dua arah bisa bersamaan

Gambar 1.4 Komunikasi data full duplex


3. Komponen atau elemen-elemen dasar pada proses Komunikasi Data adalah sebagai berikut.
Gambar 1.5 Elemen Komunikasi Data

1. Sumber [Source]
Sumber atau source merupakan komponen yang membangkitkan data atau informasi yang nantinya akan ditransmisikan bisa berbentuk alat input di komputer. Alat ini bisa mengubah informasi audio atau suara, video atau teks menjadi satuan data untuk diproses di sistem komputer seperti contohnya telepon dan komputer.
2. Pengirim [Transmitter]
Pengirim atau transmitter merupakan alat yang berguna untuk memproses data yang berasal dari sumber atau source dan nantinya akan disalurkan menuju ke sistem transmisi. Untuk bentuk fisiknya bisa berupa komputer personal yang bisa mengolah semua pesawat telepon untuk berkomunikasi dengan informasi berbentuk audio atau suara, contoh lainnya yaitu modem memiliki fungsi menyalurkan satu digital bit stream dari sebuah alat yang sudah dipersiapkan.

3. Sistem Transmisi

Sistem transmisi merupakan jalur penghubung antara sistem sumber dengan sistem tujuan media yang dipakai, sebagai contoh yaitu kabel dan juga gelombang elektro magnetik. Berupa jalur Single transmission line (transmisi tunggal) atau Complex network (jalur kompleks).
Jalur transmisi tunggal yaitu antara perangkat penerima dan pengirim satu jenis media dalam satu segmen jaringan. Sedangkan jalur kompleks yaitu perangkat penerima dan pengirim dihubungkan oleh satu sistem.

4. Penerima [Receiver]

Penerima atau receiver merupakan alat yang berguna untuk menerima sinyal dari sistem transmisi dan nantinya akan diproses untuk dijadikan sebuah informasi. Salah satu contoh yaitu modem yang difungsikan sebagai pesawat penerima yang nantinya akan menerima sinyal analog dari jaringan transmisi yang kemudian mengubahnya menjadi aliran bit digital supaya dapat diterjemahkan dan dibaca oleh komputer.

5. Tujuan [Destination]

Tujuan atau destination merupakan salah satu komponen yang menerima informasi yang sudah dikirimkan oleh Receiver atau penerima kemudian diubah menjadi informasi yang sama ketika akan dikirimkan.
B. Berbagai standar komunikasi data
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi bagaimana membangun komputer atau menghubungkan peralatan perangkat keras. Protokol secara umum digunakan pada komunikasi real-time dimana standar digunakan untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang. Sangat susah untuk menggeneralisir protokol dikarenakan protokol memiliki banyak variasi di dalam tujuan penggunaanya. Kebanyakan protokol memiliki salah satu atau beberapa dari hal berikut:
a. Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer atau
     mesin lainnya.
b. Melakukan metode "jabat-tangan" (handshaking).
c. Negosiasi berbagai macam karakteristik hubungan.
d. Bagaimana mengawali dan mengakhiri suatu pesan.
e. Bagaimana format pesan yang digunakan.
f. Yang harus dilakukan saat terjadi kerusakan pesan atau pesan yang tidak
    sempurna.
g. Mendeteksi rugi-rugi pada hubungan jaringan dan langkah-langkah yang
    dilakukan selanjutnya
h. Mengakhiri suatu koneksi.