KONFIGURASI MIKROTIK

Konfigurasi Mikrotik

system identity set name=isikan nama akun mikrotik

user set admin password=isikan password

interface ethernet enable ether1-n

interface ethernet set ether1-n name=isikan nama 1-n

ip address add interface=isikan nama 1-n address=isikan ip

ip route add gateway=isikan  ip gateway

ip dns set primary-dns=isikan dns isp allow-remote-requests=yes

ip dns set secondary-dns=isikan dns isp allow-remote-requests=yes

ip firewall nat add chain=scrnat action=masquerade uot-interface=etheri

ip pool add name=dhcp-pool ranges=xxx.xxx.xx.x – xxx.xxx.xx.254

ip dhcp-server network add address=xxx.xxx.xx.x/24

gateway=xxx.xxx.xx.x dns-server=xxx.xxx.xx.x , xxx.xxx.xx.x

ip dhcp-server add name=DHCP_LAN disable=no interface=ether2 address-pool=dhcp-pool

Iklan

TAG PROGRAM REPEAT UNTIL DALAM PASCAL

REPEAT . . . UNTIL

Perintah Repeat . . . Until mirip dengan perintah While . . . Do, yaitu untuk melakukan perulangan jika banyak perulangan yang akan dikerjakan belum diketahui.

Syntax  :

Repeat

Statement1;

Statement2;

………;

Until <kondisi logika>

Perbedaan antara Repeat . . . Until dengan While . . . Do adalah bahwa pada  Repeat  . . . Until statement akan dikerjakan secara berulang-ulang sampai kondisi logika bernilai TRUE.  Dengan demikian selama kondisi bernilai FALSE, maka perulangan akan terus dilakukan.

Pada Repeat . . . Until, pemeriksaan kondisi untuk menentukan benyaknya perulangan setelah statement dikerjakan.  Dengan demikian statement pada perulangan ini akan selalu dikerjakan minimal satu kali.

Contoh:

Program Cetak_Kata;

Uses Crt;

Var

N : Integer;

Begin

Clrscr;

N := 1;

Repeat

Write(‘Looping ke- ’,N);

Writeln(‘PASCAL);

N := N + 1;

Until N > 5;

Readln;

End.

TAG PROGRAM WHILE DO DALAM PASCAL

WHILE . . . DO

Bila banyaknya perulangan suatu pernyataan belum bisa diketahui, maka perintah For . . . Do tidak bisa digunakan.  Untuk itu, perintah yang digunakan salah satunya adalah While . . . Do.

Syntax 1 :

While <syarat logika> Do

Statement;

Syntax 2 :

While <syarat logika> Do

Begin

Statement1;

Statement2;     Block Statement

………;

End;

Contoh:

Program CetakChar;

Uses Crt;

Var

Ch : Char;

Begin

Clrscr;

Write(‘Masukkan sebuah Karakter : ’);Readln(Ch);

While (Ch <> ‘.’) Do    {Jika Bukan Character ‘.’}

Begin                   {Lakukan Proses Looping}

Write(‘Masukkan Sebuah Karakter : ’);Readln(Ch);

End;

Readln;

End.

 

Contoh:

Program berikut adalah mencetak tulisan PASCAL sebanyak 5 buah dengan perintah looping While . . . Do.

Program CetakChar;

Uses Crt;

Var

N : Integer;

Begin

Clrscr;

N := 0;

While N > 5 Do

Begin

N := N + 1;

Write(‘Looping ke- ’,N);

Writeln(‘  PASCAL);

End;

Readln

End.

TAG PROGRAM FOR DO DALAM PASCAL

FOR . . . DO

Perintah For . . . Do digunakan untuk melakukan perulangan determinitif.  Artinya sebuah pernyataan (tunggal atau majemuk) akan dikerjakan secara berulang-ulang sebanyak n kali, dimana n adalah sebuah bilangan yang telah diketahui sebelumnya.

Syntax 1 :

For NamaVarCounter := Awal To Akhir Do

Statement;

Syntax 2 :

For NamaVarCounter := Awal To Akhir Do

Begin

Statement1;

Statement2;     Block Statement

………;

End;

Syntax 3 :

For NamaVarCounter := Awal DownTo Akhir Do

Statement;

Syntax 4 :

For NamaVarCounter := Awal DownTo Akhir Do

Begin

Statement1;

Statement2;     Block Statement

………;

End;

Jika Awal lebih kecil dari Akhir digunakan perintah To, sedangkan jika Awal lebih besar dari Akhir digunakan perintah DownTo.

Contoh:

Program CetakChar;

Uses Crt;

Var

Awal, Akhir, Karak : Char;

Begin

Clrscr;

Write(‘Karakter Awal  : ’);Readln(Awal);

Write(‘Karakter Akhir : ’);Readln(Akhir);

Writeln;

Write(‘Naik  : ’);

For Karak := Awal To Akhir Do

Write(Karak);

Writeln;

Write(‘Turun : ’);

For Karak := Akhir DownTo Awal Do

Write(Karak);

Readln;

End.

TYPE DATA HIMPUNAN (SET) DALAM PASCAL

Type data himpunan merupakan type yang unik dari PASCAL.  Type ini memungkinkan kita untuk mengadakan operasi himpunan.  Pembentukan type data himpunan dan variable bertype himpunan adalah :

o       Dalam Deklarasi Type

Type

NamaTypeData = set Of TypeData;

 

NamaTypeData :  adalah type himpunan yang didefinisikan.

TypeData :  adalah data bertype ordinal.

 

o       Dalam Deklarasi Variabel

Var

NamaVar, NamaVar, … : NamaTypeDataHimpunan;

Contoh :

Const  JawabSah = [‘T’, ‘t’, ‘Y’, ‘y’];

Type   Abjad = Set Of Char;

Var    Vokal : Abjad;

Pilih : [1..4];

Jawab : [‘A’, ‘B’, ‘C’];

 

Operasi Set

Operator untuk variable / data bertype himpunan adalah :

Jika A, B adalah variable bertype himpunan :

=       :    A = B   bernilai TRUE jika set A sama dengan set B.

<>     :    A <> B bernilai TRUE jika set A tidak sama dengan set B.

<=     :    A <= B bernilai TRUE jika set A adalah himpunan bagian set B.

<>     :    A >= B  bernilai TRUE jika set A adalah himpunan pemuat set B.

in       :    keanggotaan.

 

Contoh :

Untuk variable yang didefinisikan diatas

‘A’ in Jawab bernilai TRUE

2  in Pilih bernilai TRUE

[‘A’, ‘a’] <= Jawab bernilai FALSE

Jawab <= Vokal bernilai TRUE

 

Yang harus diingat bahwa variable bertype Set tidak dapat dibaca  dan dicetak. Jika kita melakukan pembacaan atau penulisan akan muncul pesan “Cannot Read and Write Variable in This Type”.

CONTOH:

Program CekVokal;

Uses Crt;

Const

Vokal = [‘A’,‘a’,‘I’,‘i’,‘U’,‘u’,‘E’,‘e’,‘O’,‘o’];

Var

Tampung : String;

Huruf  : Char;

 

Begin

Clrscr;

Tampung := ‘ ’;

Repeat

Write(‘Ketik Huruf <tanpa ENTER> Esc Selesai : ’);

Huruf := Readkey; Write(Huruf);

If Huruf in Vokal Then

Writeln(‘   VOKAL’)

Else

Writeln(‘   BUKAN’);

Tampung := Tampung + Huruf;

Until Huruf = #27;

Writeln(‘Ketikan : ’,Tampung);

End.

Program tersebut akan membaca terus menerus character dengan ReadKey sampai ditekan Esc (#27) dan mengeceknya apakah merupakan anggota Vokal atau Bukan.  Kemudian merangkaikan dalam variable Tampung.

Sekarang apa yang terjadi apabila program diatas diubah sebagai berikut :

Program CekVokal;

Uses Crt;

Type

Abjad = Set Of Char

Var

Vokal  : Abjad;

 

Begin

Clrscr;

Vokal = [‘A’,‘a’,‘I’,‘i’,‘U’,‘u’,‘E’,‘e’,‘O’,‘o’];

…… idem ;

End.

TAG SCRIPT PERINTAH IF DALAM PASCAL

1. IF . . . THEN . . .

Perintah If . . . Then digunakan untuk mewujudkan percabangan bersyarat.  Di dalam PASCAL, statement If . . . Then mempunyai syntax :

Syntax  1:

IF <Syarat Logika> THEN Statement;

Syntax 2:

IF <Syarat Logika> THEN

Begin

Statement 1;

Statement 2;    Block Statement

………;

End;

Syarat Logika adalah operasi relasi (seleksi kondisi) yang apabila bernilai TRUE (benar) maka statement atau block statement setelah Then akan dilaksanakan.  Apabila kondisi bernilai FALSE maka statemen atau block statement tidak akan dikerjakan.  Untuk setiap block statement harus ditandai dengan : BEGIN . . . END;.

Contoh:

Program Kelulusan;

Var Nama : String[30];

Nilai : Real;

Ket  : String[20];

 

Begin

Write(‘Nama Siswa  : ’);readln(Nama);

Write(‘Nilai Angka : ’);readln(Nilai);

Ket := ‘Anda Tidak Lulus’;

If (Nilai > 55) Then         {jika nilai > 55}

Ket := ‘Anda Lulus’;           (Kerjakan statement}

Writeln;

Writeln(‘Hasil     : ’,Ket);

 

2. IF . . . THEN . . . ELSE . . .

Statement  If . . . Then . . . Else . . . ini mirip dengan statement If . . . Then.  Syntax statement ini adalah :

Syntax 1 :

IF <Syarat Kondisi> Then

Statement1

ELSE

Statement2;

Syntax 2:

IF <Syarat Logika> Then

Begin

Statement11;

Statement12;    Block Statement1

………;

End

ELSE

Begin

Statement21;

Statement22;    Block Statement2

………;

End;

Pada bentuk ini jika Syarat Logika bernilai TRUE, maka statement / block statement setelah Then (statement 1 / block statement 1) akan dikerjakan.  Tetapi bila syarat kondisi bernilai FALSE maka maka statement / block statement setelah Else ( statement 2 / block statement 2) yang akan dikerjakan.

Contoh:

Program Kelulusan;

Uses crt;

Var Nama       : String[30];

Nilai      : Real;

Ket, Pesan : String[20];

 

Begin

Clrscr;

Write(‘Nama Siswa  : ’);readln(Nama);

Write(‘Nilai Angka : ’);readln(Nilai);

Ket := ‘Anda Tidak Lulus’;

If (Nilai > 55) Then

Begin

Ket := ‘Anda Lulus’;

Pesan := ‘Selamat Yach’;

End

Else

Begin

Ket := ‘Anda Tidak Lulus’;

Pesan := ‘Belajar Lagi Jack…’;

End;

Writeln;

Write(‘Hasil     : ’);

Writeln(Ket,‘ ’,Pesan);

Readln;

End.

 

3. IF . . . THEN . . . ELSE IF . . .

Statement If . . . Then . . . Else If . . . ini sebenarnya adalah statement kondisi dalam kondisi atau If dalam If.  Syntax statement ini adalah :

Syntax 1 :

IF <Syarat Kondisi> Then

Statement1

ELSE IF <Syarat Kondisi> Then

Statement2

ELSE

Statement3;

Syntax 2:

IF <Syarat Logika> Then

Begin

Statement11;

Statement12;    Block Statement1

………;

End

ELSE IF <Syarat Kondisi> Then

Begin

Statement21;

Statement22;    Block Statement2

………;

End

ELSE

Begin

Statement31;

Statement32;    Block Statement3

………;

End;

Pada bentuk ini jika Syarat Logika bernilai TRUE, maka statement / block statement setelah Then (statement 1 / block statement 1) akan dikerjakan.  Tetapi bila syarat kondisi bernilai FALSE maka program akan mengecek kondisi kedua.  Jika kondisi kedua bernilai TRUE, maka statement / block statement setelah Then (statement 2 / block statement2) akan dikerjakan.  Jika kondisi kedua bernilai FALSE, maka statement / block statement setelah Else ( statement 3 / block statement 3) yang akan dikerjakan.

Contoh:

Program Nilai;

Uses crt;

Var Nama       : String[30];

Nilai1     : Real;

Nilai2     : char;

 

Begin

Clrscr;

Write(‘Nama Siswa  : ’);readln(Nama);

Write(‘Nilai Angka : ’);readln(Nilai1);

 

If (Nilai1 >=75 ) Then

Nilai2 := ‘A’

Else If (Nilai1 >= 50) and (Nilai1 < 75) Then

Nilai2 := ‘B’

Else

Nilai2 := ‘C’;

 

Writeln(‘Nilai Huruf : ’,Nilai2);

Readln;

End.

 

4. CASE . . . OF

Statement Case . . . Of dipakai untuk penyelesaian berganda.  Penyeleksian berganda disini misalnya adalah untuk membuat menu pilihan.  Sedangkan syntax dari statement ini adalah sebagi berikut :

Syntax :

Case <NamaVar> Of

Statement1;

Statement2;

………;

End;

 

NamaVar disini adalah sebuah variable yang harus bertype ordinal seperti Char, Byte atau Integer.

Contoh:

Program Menu;

Uses crt;

Label Baby;

Var Pil            :  Char;

P,L,A,T,J, Luas :  Real;

 

 

Begin

Baby;

Clrscr;

Writeln(‘PILIHAN PROSES’);

Writeln;

Writeln(‘1. Luas Segi Empat’);

Writeln(‘2. Luas Segi Tiga’);

Writeln(‘3. Luas Lingkaran’);

Writeln(‘4. S e l e s a i’);

Writeln;

Write(‘Masukkan Pilihan Anda : ’);Readln(Pil)

Case Pil Of

‘1’ : Begin

Write(‘Panjang : ’);Readln(P);

Write(‘Lebar   : ’);Readln(L);

Luas := P * L;

Write(‘Luas    : ’);Readln(Luas:6:2);

Readln;

End;

‘2’ : Begin

Write(‘Alas   : ’);Readln(A);

Write(‘Tinggi : ’);Readln(T);

Luas := (A * T)/2;

Write(‘Luas   : ’);Readln(Luas:6:2);

Readln;

End;

‘3’ : Begin

Write(‘Jari-jari : ’);Readln(J);

Luas := 3.14 * J * J;

Write(‘Luas      : ’);Readln(Luas:6:2);

Readln;

End;

‘4’ : Halt;

End;

Write(#7);

Goto Baby;

End.

 

Ket :

1. Baby adalah label sebagai cara untuk memutar proses jika pilihan menu tidak 1, 2, 3 atau 4.

2. Halt adalah procedure untuk mengakhiri program ditengah-tengah program.

DASAR-DASAR PEMROGRAMAN TURBO PASCAL

a. Nama Program

Untuk keperluan dokumentasi, suatu program dapat diberi nama.  Nama program ini bersifat optional (boleh ada boleh tidak).  Jika akan diberikan nama program, maka syntaknya sebagai berikut :

Syntax :

Program NamaProgram;

NamaProgram mempunyai ketentuan sebagai berikut :

o          Karakter pertama harus Abjad.

o          Karakter kedua dan seterusnya yang diijinkan adalah Abjad, Angka dan Garis Bawah ( _ ).

(aturan ini berlaku UMUM untuk : Nama Program, Nama ConstantaNama Type Data, Nama Variabel, Nama Fungsi dan  Nama Procedure)

b. Variable

Variabel adalah suatu “wadah data” yang harus dideklarasikan dibagian deklarasi variabel sebelum dipakai dalam program.  Inilah salah satu perbedaan pokok antara PASCAL dengan BASIC.  Di dalam BASIC kita dapat memakai sembarang nama variable tanpa pusing-pusing “memesan” dulu.  Tetapi di dalam PASCAL, variabel yang akan dipakai harus “dipesan” dulu dengan dideklarasikan dalam deklarasi variabel.

Syntax :

Var   NamaVariable :  TipeVariable;

Di dalam program selanjutnya variabel dapat diisi data, dengan cara ditugasi langsung atau dibaca dari keyboard.

Berikut adalah Type Variable dalam PASCAL yang dapat dipilih

Type Variable Kisaran Nilai Ukuran Memory (Byte)
Byte

Word

ShortInt

Integer

LongInt

Real

0  …  255

0 … 65535

-128 … 127

-32768 … 32757

-2147483648 … 2147483648

1 E-38 … 1E+38

1

2

1

2

4

6

Single

Double

Extended

1.5 E-45 … 1.5 E+45

5.0 E-324 … 5.0 E+308

1.9E-4951 … 1.1E+4932

4

8

10

Boolean

Char

String

Kondisi TRUE, FALSE

satu karakter ‘a’, ‘b’,…,’z’, ‘0’,’1’,…,’9’,’^’,dll

rangkaian karakter seperti hari 😦 ‘senin’, ‘selasa’ ,dst)

Array

Record

File

Set

Pointer

Larik karakter , numerik atau demensi

Numerik, string, char

Numerik, string, larik, record

Data ordinal

Alamat memori (menunjukkan letrak data di memori)

 

a. Type Data

Deklarasi Type Data dipakai apabila kita akan mendefinisikan suatu Type Data kita diluar Type Data standard PASCAL.

Cara mendeklarasikan adalah :

Type   NamaTypeData = TypeDataPASCAL;

b. Constanta

Konstanta adalah suatu nilai data yang bersifat tetap selama progarm dijalankan (“run time”). Konstanta dideklarasikan dengan cara :

Syntax :

Const   NamaKonstanta = NilaiData;

Yang harus diingat adalah bahwa antara nama konstanta dengan nilai data dipisahkan tanda  = (Sama Dengan).

c. Unit

Unit adalah suatu satuan kumpulan instruksi  yang harus diaktifkan jika instruksi yang bersangkutan akan dipakai. Di dalam PASCAL ada 4 unit yang sering dipakai yaitu CRT (berhubungan dengan perintah-perintah pengaturan layar), PRINTER (berhubungan dengan media cetak printer), DOS (berhubungan dengan perintah berkaitan dengan DOS) dan GRAPH (perintah-perintah grafik).

Sebagai contoh : Clrscr, adalah prosedur untuk membersihkan layar yang ada di dalam unit CRT, maka untuk dapat memakai Clrscr, unit Crt harus di ‘Uses‘ dalam deklarasi unit.  Uses Crt dan  Clrscr, merupakan pasangan dalam arti Clrscr adalah suatu prosedur PASCAL yang menghendaki dideklarasikannya unit namanya CRT, dengan cara Uses Crt.  Prosedur lain yang memerlukan unit Crt antara lain Gotoxy(x,y), DelLine, InsLine dan lain-lain yang akan dibahas kemudian.

d. Label

Label adalah suatu nama tertentu (dapat terdiri angka atau huruf atau kombinasinya), yang dalam program nanti akan dituju oleh statemen GOTO.  Namun dalam PASCAL sesungguhnya statement GOTO ini hanya diijinkan tetapi sama sekali TIDAK DIANJURKAN.  Karena statemen Goto menyebabkan struktur program menjadi tidak jelas.

e. Fungsi dan Procedure

Pemrograman PASCAL yang terstruktur menghendaki pemecahan masalah menjadi modul-modul yang lebih kecil.  Modul ini nanti dapat diimplementasikan melalui fungsi atau prosedur, sehingga program utama hanyalah bertugas mengelola pemanggilan fungsi dan prosedur yang sudah dideklarasikan.  Pada topik fungsi dan prosedur, deklarasi ini  akan dikupas lebih jauh.

h. Procedure Write dan Writeln

Procedure Write dan Writeln digunakan untuk mencetak suatu  konstanta, variable, ekspresi atau kombinasi dua atau ketiganya, dapat berupa konstanta string atau konstanta numerik.

Syntax :

Write(‘kontanta’, ‘ekspresi’, ‘variabel’)

Writeln(‘konstanta’, ‘ekspresi’, ‘variabel’)

 

Rangkaian karakter yang diapit tanda petik tunggal (‘ …..karakter …’)

Write :    akan mencetak dan  posisi kursor pada baris yang sama.

Writeln :    mencetak dan kursor akan turun satu baris, ke awal  baris.

Example 1:

Begin

Write(‘Halo ‘);

Write(‘  PASCAL’); Writeln;

Write(‘HALO’);

Write(‘   PASCAL’); Writeln;

Writeln(‘Halo’);

Writeln(‘PASCAL’);

Readln;

End.

Hasil Run :

Halo   PASCAL

HALO   PASCAL

Halo

PASCAL

 

h. Procedure Read dan Readln

Prosedur Read dan Readln adalah untuk membaca data DARI KEYBOARD dengan hasil pembacaan akan ditampung dalam variabel yang ada dalam argumen Read dan Readln tersebut.

Syntax :

Read(NamaVar1, NamaVar2, …);

Readln(NamaVar1, NamaVar2, …);

 

Tidak seperti Write atau Writeln dimana argumen (apa-apa yang ada dalam tanda kurung), dapat terdiri dari konstanta, variabel atau ekspresi, maka argumen Read atau Readln hanya dapat berupa Variable-Variable yang dapat satu atau lebih, yang sudah dideklarasikan dalam deklarasi variable.  Data yang masuk haruslah sesuai dengan Type Variable yang bersangkutan.

Example 2:

{file  : P12.Pas

Nama         : Yuni   01.05.2000

Tara   01.05.2005

Hari/tgl/jam : Selasa, 10 01 01, 11.00

Kelp./passw  : SL2-F/22F

Ass          : Winnie}

 

Program menghitung_bilangan;

Uses Crt;;

Var

A,B,C : integer;

P,Q   : real;

Z     : string;

 

Begin

Clrscr;

A := 4; B:= 5; C:=A*B;

Z:= ‘SMKPGRI1NGAWI’;

Writeln(A,B,C);

Writeln(‘ISI Z = ’,Z);

Readln

End.

Hasil Run:

4520

ISI Z = SMKPGRI1NGAWI

 

Example:

{file : P12A.Pas

Nama         : Yuni   02.05.2000

Tara   02.05.2005

Hari/tgl/jam : Selasa, 01 10 02, 11.00

Kelp./passw  : SL2/22F

Ass          : Winnie}

 

Program menghitung_bilangan;

Uses Crt;

Var

A,B,C : integer;

P,Q   : real;

Z     : string;

 

Begin

Clrscr;

A := 4; B:= 5; C:=A*B;

Z:=’SMKPGRI1NGAWI’;

Writeln(‘A=’,A:5, ‘B=’,B:5, ‘C=’,C:5);

Writeln(‘ISI Z=’,Z:10);

Readln;

End.

Hasil Run:

A=    4    B=    5    C=   20

ISI Z =   SMKPGRI1NGAWI