Pengantar Algoritma dan Pemrograman

Program dan Bahasa Pemrograman

Program merupakan sekumpulan perintah yang digunakan untuk mengatur komputer agar melakukan tindakan tertentu sesuai dengan kebutuhan pembuat dan pengguna. Program menjadi aspek penting dalam sistem komputer, dimana masuk dalam salah satu aspek penting komputer, yaitu:

  1. Perangkat keras (hardware)
  2. Perangkat lunak (software)
  3. Perangkat akal (brainware) atau orang

Program ditulis menggunakan bahasa pemorgraman dengan kaidah tertentu. Bahasa yang dapat digunakan juga beragam, seperti bahasa manusia. Bahasa pemrograman dapat dikelompokkan menjadi:

  1. Bahasa mesin: bahasa yang penggunaannya menggunakan angka biner, 10010011 (hanya 0 dan 1).
  2. Low level language (bahasa tingkat rendah): berisi kode-kode singkat. Contohnya: Bahasa Assembly.
  3. Middle level language (bahasa tingkat menengah): campuran bahasa manusia dengan unsur simbolik. Contohnya: bahasa C.
  4. High level language (bahasa tingkat tinggi): bahasa manusia, mudah dimengerti. Bahasa ini yang paling mudah dipahami oleh manusia, program sering menggunakan istilah atau kata dari bahasa inggris, seperti: “IF” untuk menyatakan “Jika”, “AND” untuk menyatakan “Dan”, dan lain-lain. Contoh dari bahasa pemrograman tingkat tinggi, diantaranya: Java, C++, Pascal, BASIC, PHP, dan lain-lain.

Semakin tinggi bahasa yang digunakan, maka akan semakin manusiawi cara memberikan perintahnya.

Penerjemah Bahasa

Program yang ditulis dalam bahasa seperti bahasa pemrograman C++ misalnya, tidaklah dimengerti oleh komputer. Hal ini dikarenakan komputer hanya mengenal bahasa mesin, yaitu: 1 dan 0. Agar program tersebut bisa dipahami oleh komputer maka diperlukan penerjemah ke dalam bahasa mesin yang prosesnya biasa disebut dengan translator, yang meliputi:

1. Interpreter

Interpreter menerjemahkan instruksi selama program diminta untuk dieksekusi, bertahap per-instruksi.

2. Kompiler

Kompiler menerjemahkan ke dalam kode secara keseluruhan. Sesudah proses kompilasi terbentuklah program yang executable.

Kode objek inilah yang disebarkan kepada pengguna.

Penyelesaian Masalah dengan Program

Ada tiga langkah penting dalam penyelesain masalah dengan program, sebagai berikut

1. Menganalisis masalah dengan membuat algoritma

Sebagai contoh sederhana, Anda diminta untuk menghitung luas persegi panjang.

Seperti kita ketahui, rumus luas persegi panjang adalah: L= p x l

Kita bisa menuangkan algoritma:

  1. Peroleh nilai panjang dan lebar persegi panjang
  2. Menuangkan algoritma ke dalam bentuk program
  3. Mengeksekusi dan menguji program

Algoritma bisa diwujudkan dalam bentuk pseudokode yaitu suatu algoritma yang terdiri dari notasi untuk penyederhanaan dari kalimat algoritma seperti diatas.

Berikut contohnya:

Input p
Input l
Luas = p * l
Hitung luas
Hasil

Atau juga bisa disajikan dalam bentuk diagram alir (flowchart), seperti berikut ini.

2. Menuangkan Algoritma ke dalam Bentuk Program

Menuangkan algoritma ke dalam bentuk program mengharuskan pemrogram harus mengetahui seluk beluk terkait bahasa pemrograman. Berikut ini contoh implementasi algoritma menghitung luas persegi panjang dalam bahasa C++.

#include <iostream>
Using namespace_std;
 
Int main ()
{
double panjang;
double lebar;
panjang = 10;
lebar = 5;
luas = p*l;
cout << “Luas persegi pangang adalah = “ << luas << endl;
return 0;
}

3. Mengeksekusi dan Menguji Program

Setelah program dibuat dan dikompileasi, program perlu dijalankan dan diuji, Berukut beberapa kemungkinan kesalahan yang dapat terjadi:

  1. Kesalahan sintaksis
  2. Kesalahan logika
  3. Kesalahan runtime

Subnetting dan Contoh Kasus Penyelesaiannya (Kelas C)

Contoh soal IP kelas C:

IP 20.20.20.20/30, tentukan Network ID, Broadcast, Jumlah host, Netmask:

Max IP

Mencari jumlah Max IP dengan rumus 2­­­(32-n), dimana n=subnetmask

Dalam soal 2­­­(32-30) = 22 = 4

Network ID dan Broadcast

Pertama kita harus menentukan range network dimana IP tersebut berada, yaitu:

Max IP nya 4 pada byte terakhir:

20.20.20.0 – 20.20.20.3

20.20.20.4 – 20.20.20.7

20.20.20.8 – 20.20.20.11

20.20.20.12 – 20.20.20.15

20.20.20.16 – 20.20.20.19

20.20.20.20 – 20.20.20.23

20.20.20.24 – 20.20.20.27 dan seterusnya sampai dengan 20.20.20.256

Kemudian kita ambil bahwa IP 20.20.20.20 berada di range network 20.20.20.20 – 20.20.20.23

Network ID diambil dari IP terkecil dari range network yaitu 20.20.20.20, sedangkan broadcast diambil dari IP terbesarnya yaitu 20.20.20.23

Jumlah Host dan IP Host

Jumlah Host diperoleh dari Max IP dikurangi 2 (Network ID dan Broadcast)

Sehingga diperoleh 4 – 2 = 2

Oleh karena itu, IP Host yaitu: 20.20.20.21 – 20.20.20.22

Subnet Mask

Subnet Mask dihitung dari rumus 255.255.255.(255-n), n adalah Max IP sehingga diperoleh 255.255.255.(255-4) = 255.255.255.251

Subnetting dan Contoh Kasus Penyelesaiannya (Kelas B)

Subnetting adalah memecah satu buah network menjadi beberapa network kecil. Subnetting menjadi materi dasar-dasar jaringan komputer yang berperan penting dalam suatu network jaringan komputer.

Subnetting hanya dapat dilakukan pada IP Address kelas A, B, dan kelas C. Tujuan subnetting adalah mengurangi jumlah maksimum host yang ada dalam tiap network.

Rumus untuk mencari banyak subnet 2n-2

n = jumlah bit yang diselubungi

dan rumus untuk mencari jumlah host per subnet adalah 2m-2

Berikut kami berikan contoh kasus dengan penyelesaian (Kelas B)

IP Address 130.150.0.0 dengan subnet mask 225.225.224.0 yang diidentifikasi sebagai kelas B.

Subnet mask 11111111.11111111.11100000.00000000

3 bit dari octet 3 telah digunakan artinya bit yang sudah diselubungi.

Hanya ada 5 bit yang belum di selubungi maka banyak kelompok subnet yang bisa dipakai adalah kelipatan 25 = 32 (256-224 = 32)

32 64 96 128 160 192 224

Jadi kelompok IP yang bisa digunakan yaitu:

130.150.0.0 – 130.150.31.254

130.150.32.1 – 130.150.63.254

130.150.64.1 – 130.150.95.254

130.150. 96.1 – 130.150.127.254

130.150.128.1 – 130.150.159.254

130.150.160.1 – 130.150.191.254

130.150.192.1 – 130.150.224.254

Praktik Membuat Kabel STRAIGHT

Kali ini penulis akan berbagi informasi bagaimana cara memasang kabel UTP (Unshielded Twisted Pair) dan Konektor RJ 45 menjadi jenis kabel straight. Alat yang digunakan, yaitu:

  1. Kabel LAN (sesuai kebutuhan)
  2. Konektor RJ 45 sebanyak 2 buah
  3. Crimping tool
  4. Tester Kabel LAN

Berikut langkah-langkahnya:

1. Siapkan kabel UTP yang akan kita buat menjadi kabel straight dan konektor RJ 45.

2. Kupas kabel UTP bagian terluar kira-kira 2 cm dengan menggunakan pisau pada crimping tool. Setelah itu akan terlihat didalamnya kabel yang berjumlah 4 pasang atau 8 buah kabel.

3. Susunlah pin kabel sesuai dengan aturan kabel straight, yaitu:

  1.     Putih-orange.
  2.     Orange.
  3.     Putih-hijau.
  4.     Biru.
  5.     Putih-biru.
  6.     Hijau.
  7.     Putih-coklat.
  8.     Coklat.

4. Setelah diurutkan dan rapi, potong ujung kabel secara bersamaan menggunakan crimping tool sehingga ujungnya nampak sejajar rata.

5. Setelah itu masukkan ujung kabel UTP ke dalam konektor RJ 45 dengan ujung per kabelnya sampai mentok di bagian dalam konektor RJ 45.

6. Masukkan konektor yang sudah menyatu dengan kabel UTP tersebut ke mulut crimping tool yang sesuai dengan konektor RJ 45. Pastikan ujung kabel menempel di konektor bagian dalam lalu tekan pangkal konektor dengan crimping tool.

A hand holding a computer mouse and keyboard

Description automatically generated

7. Pada ujung kabel UTP yang satunya, lakukan persis seperti langkah 1-6.

8. Ujikan kedua kabel straight tersebut dengan tester kabel LAN pada tester, yang satu ke induk tester dan lainnya ke anak tester.

9. Nyalakan tester kabel LAN (menggeser posisi ke on) dan klik auto.

Pengembangan Mobile Learning berbasis Android pada Mata Pelajaran Rekayasa Perangkat Lunak di SMK Sultan Trenggono Kota Semarang

Berikut artikel penelitian saya yang dipublish dalam Jurnal Teknologi Informasi dan Komputer Universitas Brawijaya.

Standard Wireless 802.11

Jenis yang paling populer dari jaringan wireless adalah berdasarkan standard 802.11 yang biasa kita sebut dengan jaringan wifi. Berikut ini beberapa standard yang digunakan:

Standard wireless-B 802.11b

  1. Memiliki frekuensi 2.4 GHz dengan kecepatan transmisi sampai 22 Mbps.
  2. Mampu mencakup area 100 m.
  3. Menggunakan modulasi DSSS (Direct Sequence Spread Spectrum).
  4. Mudah mengalami interferensi sinyal radio. Namun, hal ini dapat dihindari dengan mengatur jarak antar perangkat elektronik, seperti: microwave, televisi, dan perangkat lain yang menggunakan frekuensi 2.4 GHz.

Standard wireless 802.11a

  1. Beroperasi pada band 5 GHz dengan kecepatan transmisi sampai maksimum 54 Mbps.
  2. Namun frekuensi pembawa yang tinggi membawa kerugian mudah diserap oleh dinding dan benda padat lain di jalurnya karen panjang gelombangnya yang kecil.
  3. Mampu bekerja dengan bagus pada populasi yang padat.
  4. Tidak bisa beroperasi pada standard 802.11b/g.
  5. Metode transmisi yang digunakan adalah Orthogonal Frequency Division Multiplexing (OFDM).
  6. Range maksimum untuk indoor hanya mencapai 15 meter sedangkan outdoor mencapai 30 meter.

Standard wireless-G 802.11g

  1. Memiliki frekuensi 2.4 GHz dengan kecepatan transmisi sampai 54 Mbps.
  2. Menggunakan modulasi DSSS (Direct Sequence Spread Spectrum).Metode transmisi yang digunakan adalah Orthogonal Frequency Division Multiplexing (OFDM).
  3. Range maksimum untuk indoor hanya mencapai 45 meter sedangkan outdoor mencapai 90 meter.
  4. Jangkauan yang lebih pendek (beberapa jenis piranti wireless G dikuatkan dengan teknologi yang bisa mencakup area yang lebih luas seperti teknologi MIMO/Multiple Input Multiple Output).

Standard wireless-N 802.11n

  1. Memiliki frekuensi 2.4 GHz dengan kecepatan transmisi sampai 100 Mbps.
  2. Dengan menggunakan teknologi MIMO/Multiple Input Multiple Output bisa mencakup area 300 – 400 meter.

Standard wireless AC 802.11ac

  1. Standard ini memanfaatkan dual band yang mendukung koneksi secara bersamaan pada frekuensi 2.4 GHz dengan kecepatan transmisi mencapai 450 Mbps dan 5 GHz dengan kecepatan transmisi mencapai 1300 Mbps.
  2. Standard ini memiliki kompabilitas dengan standard 802.11b/g/n.

Standard wireless 8022.11ax

  1. Mampu mencapai kecepatan sekitar 1.4 GB/s.
  2. Mampu membagi saluran wireless menjadi beberapa sub saluran, setiap saluran ini membawa data yang ditujukan pada perangkat yang berbeda melalui Orthogonal Frequency Division Multiplexing (OFDM).

CIDR (Classles Inter-Domain Routing) dan Contoh Penerapan dalam Perhitungan Subnetting

CIDR (Classles Inter-Domain Routing) merupakan cara alternatif untuk pengklasifikasian alamat-alamat IP yang berbeda ke dalam kelas A, kelas B, kelas C, kelas D, dan kelas E. CIDR biasa juga disebut dengan supernetting. Metode ini ditujukan untuk mengalokasikan IP Address agar lebih efisien.  

CIDR merupakan mekanisme routing yang lebih efisien dibandingkan dengan cara yang asli, yakni dengan membagi alamat IP jaringan ke dalam kelas A, B, dan C. Sebab, pada sistem yang lama sering terjadi masalah yaitu meninggalkan banyak alamat IP yang tidak digunakan.

Berikut tabel CIDR.

A screenshot of a cell phone

Description automatically generated

Berikut contoh menuliskan notasi IP Address dengan metode CIDR.

IP : 192.168.23.5, Netmask : 255.255.255.0

diubah mengunakan metode CIDR menjadi

IP : 192.168.23.5/24 (penulisan dengan notasi “/” atau CIDR)

Berikut contoh penerapan CIDR dalam perhitungan subnetting yang saya cuplik dari laman website: https://kedai.or.id/konsep-cidr-dan-perhitungan-subnetting-dengan-cidr.html

SUBNETTING PADA IP ADDRESS CLASS C

Ok, sekarang mari langsung latihan saja. Subnetting seperti apa yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ?

Analisa: 192.168.1.0 berarti kelas C dengan Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192).

Penghitungan: Seperti sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan berpusat di 4 hal, jumlah subnet, jumlah host per subnet, blok subnet, alamat host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu:

  1. Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22= 4 subnet
  2. Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah 26 – 2 = 62 host
  3. Blok Subnet = 256 – 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
  4. Bagaimana dengan alamat host dan broadcast yang valid? Kita langsung buat tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.
Subnet192.168.1.0192.168.1.64192.168.128192.168.1.192
Host Pertama192.168.1.1192.168.1.65192.168.1.129192.168.1.193
Host Terakhir192.168.1.62192.168.1.126192.168.1.90192.168.1.254
Broadcast192.168.1.63192.168.1.127192.168.1.191192.168.1.255

 

Protokol Jaringan – Serial Line Internet Protocol (SLIP)

Protokol jaringan merupakan perangkat aturan yang digunakan untuk mengatur komunikasi di antara beberapa komputer dengan platform yang berbeda dalam suatu jaringan. Berikut akan penulis bahas tentang salah satu protokol jaringan, yaitu Serial Line Internet Protocol (SLIP).

Protokol ini memungkinkan pemindahan data IP melalui saluran telepon. Sistem ini membutuhkan satu komputer server sebagai penampungnya. Namun, secara perlahan-lahan akan digantikan oleh standar PPP (Point to Point Protocol) yang memiliki kecepatan proses lebih tinggi. Point to Point Protocol (PPP) merupakan protokol enkapsulasi paket jaringan yang sering digunakan pada jaringan WAN (Wide Area Network). Protokol ini dikembangkan sebab masalah-masalah atau kekurangan yang terjadi di Serial Line Internet Protocol yang hanya mendukung pengalamatann statis pada para kliennya. PPP memiliki kemampuan menawarkan koreksi kesalahan dan negoisasi sesi secara dinamis tanpa adanya intervensi dari pengguna.

SLIP memodifikasi standar TCP / IP (Transmission Control Protocol/Internet Protocol) datagram dengan menambahkan “SLIP END” karakter untuk itu, yang membedakan batas datagram dalam aliran byte. SLIP memerlukan konfigurasi port serial 8 bit data, no parity, dan either EIA hardware flow control, atau mode CLOCAL (3-wire null-modem) UART pengaturan operasi.

SLIP diperuntukkan point to point koneksi serial yang menjalankan TCP/IP dan memiliki kecepatan jalur antara 1200bps dan 19.2Kbps. SLIP bermanfaat untuk perpaduan antara host dan router untuk berkomunikasi satu sama lain baik host-host, host-router, dan router-router.