Monday, April 13, 2020

Materi X TKJ : ARRAY


11.1.   Definisi Array 
Array atau biasa disebut larik merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Bagian yang menyusun array atau setiap nilai yang tersimpan dalam array biasa dinamakan elemen array. Masing-masing elemen dapat diakses dengan menggunakan nilai urut yang disebut indeks array.
Hal ini tentu berbeda dengan variabel biasa yang hanya mampu menampung satu buah nilai.
Sebagai contoh,misalkan terdapat array A yang memiliki 10 buah elemen nilai yang bertipe integer, maka kita dapat merepresentasikannya dengan gambar berikut ini:

Setiap elemen array di atas menyimpan nilai bertipe integer dan akan menempati alamat memori yang berbeda.


11.2.    DEKLARASI ARRAY

Suatu array yang akan digunakan di dalam program Pascal harus dideklarasikan terlebih dahulu. Deklarasi array didahului dengan kata cadangan Array dan tipe data yang akan disimpan didalamnya, selain itu juga harus disertai dengan batas-batas indeksnya yang diapit oleh tanda bracket ([ ]).

Array dapat bertipe data sederhana byte, word, integer, real, boolean, char atau string. Tipe array ini artinya isi dari array atau komponen-komponennya atau subrange. Tipe dari array ditunjukkan pada waktu mendeklarasikannya.


Bentuk umum pendeklarasiannya:

Array X telah dideklarasikan sebagai array tipe integer dengan jumlah array tipe integer dengan jumlah elemennya maksimum sebanyak 100 elemen. Nilai-nilai elemen array ini harus berisi nilai-nilai integer. Misalnya elemen-elemen dari array X adalah:

Bila nilai elemen ke 3 dari array X akan ditampilkan, maka dapat dipergunakan statemen:

                        Writeln(X[3]);

Program Contoh_Array;
Uses winCrt;
Var
X : array[1..50] of Integer;
Begin
     ClrScr;
     X[1]:=10;
     X[2]:=20;
     X[3]:=30;
     X[4]:=40;
     X[5]:=50;
     Writeln('nilai variabel bilangan ke 3 =',X[3]);
     Readln;
End.

 
Contoh:

















Bila program dijalankan akan didapatkan output:
                        Nilai variabel bilangan ke 3 = 30

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini :
1.    Untuk mendeklarasikan array dengan tipe string, maka tipe string harus dideklarasikan terlebih dahulu di bagian deklarasi tipe sebagai berikut:
     Type
           Angka = String[20];
     Var
        Nama : Array [1..50] of Angka;
2.    Bila nilai-nilai dari elemen array dibatasi nilainya dalam suatu jangkauan nilai yang tertentu, maka dapat dideklarasikan dengan tipe array subrange.
            Type
           Rangeusia = 17..100;
     Var
           Usia : array[1..200] of rangeusia;
3.    Bila nilai-nilai elemen array dibatasi dengan nilai-nilai tertentu yang tidak dapat ditulis dalam suatu range, tetapi dapat ditentukan secara berurutan, maka dapat digunakan array tipe skalar.
            Type
           Hari = (Minggu,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
     Var
           jamKerja : array[1..25] of hari;
dari deklarasi ini, array JamKerja mempunyai maksimum 25 elemen dan masing-masing nilai elemennya hanya  dapat mempunyai nilai sebanyak 7 macam nilai saja. 

Wednesday, April 8, 2020

Materi XII TKJ : Static Routing 2 Router di Cisco Packet Tracer

Static Routing 2 Router di Cisco Packet Tracer

Perangkat yang disiapkan di packet tracert :

  • Router 1841 ada 2 buah
  • Switch 2950 ada 2 buah
  • PC ada 4 buah


Topologi Static Routing 2 Router di Cisco Packet Tracer

Tabel Routing konfigurasi static routing di cisco packet tracer

Konfigurasi Router0 :
Router>enable
Router#configure
Router(config)#interface fa0/0
Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit

Router(config)#interface fa0/1
Router(config-if)#ip add 192.168.100.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit

Router(config)#ip route 192.168.200.0 255.255.255.0 192.168.1.2


Konfigurasi Router1 :
Router>enable
Router#configure
Router(config)#int fa0/0
Router(config-if)#ip add 192.168.1.2 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit

Router(config)#int fa0/1
Router(config-if)#ip add 192.168.200.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit

Router(config)#ip route 192.168.100.0 255.255.255.0 192.168.1.1

Konfigurasi PC :
PC0
ip address : 192.168.100.10
netmask : 255.255.255.0
gateway : 192.168.100.1

PC1
ip address : 192.168.100.11
netmask : 255.255.255.0
gateway : 192.168.100.1

PC2
ip address : 192.168.200.10
netmask : 255.255.255.0
gateway : 192.168.200.1

PC3
ip address : 192.168.200.11
netmask : 255.255.255.0
gateway : 192.168.200.1

Cek koneksi menggunakan perintah ping dari PC0 ke PC2 dan PC3 ke PC1

Tuesday, April 7, 2020

Materi XI TKJ : FTP Server

Pengertian FTP
File Transfer Protocol (FTP) adalah protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP. Dalam FTP harus ada FTP Server dan FTP Client.
FTP Server adalah suatu server yang menjalankan software yang memberikan layanan tukar menukar file dengan selalu siap memberikan layanan FTP apabila mendapat request dari FTP client.
FTP Client adalah computer yang merequest koneksi ke FTP server untuk tukar menukar file. Jika terhubung dengan FTP server, maka client dapat men-download, meng-upload, merename, men-delete, dll sesuai dengan izin yang diberikan oleh FTP server.

Keamanan FTP
FTP sebenarnya tidak aman dalam mentransfer suatu file karena file dikirimkan tanpa di-enkripsi terlebih dahulu tetapi bila menggunakan SFTP (SSH FTP) yaitu FTP yang berbasis pada SSH atau menggunakan FTPS (FTP over SSL) sehingga data yang akan dikirim dienkripsi terlebih dahulu.

 Mode Dalam FTP
FTP biasanya menggunakan dua buah port untuk koneksi yaitu port 20 dan port 21 dan berjalan exclusively melalui TCP bukan UDP. FTP server mendengar pada port 21 untuk incoming connection dari FTP client. Biasanya port 21 adalah command port dan port 20 adalah data port. Pada FTP server, terdapat 2 mode koneksi yaitu aktif mode (active mode) dan pasif mode (passive mode).

§  Active Mode
Pada aktif mode ini, server secara aktif terhubung dengan client. Untuk melakukan pengaturan aktif mode, client mengirimkan sebuah port command ke server, menentukan alamat dan nomor port dari client yang sedang mendengar. Bila suatu koneksi diperlukan, server memulai suatu koneksi ke client di alamat ini. Secara umum, server bertanggung jawab untuk menutup koneksi-koneksi ini.

§  2. Passive Mode
Pada pasif mode, client memulai koneksi dengan server dengan memecahkan permasalahan dalam firewall penyaring koneksi port data ke client menuju server. Pertama, client menghubungi server pada command port dan mengeluarkan perintah PASV. Server kemudian memberikan jawaban dengan port 2024, memberitahu client bahwa port tersebut sedang mendengarkan untuk koneksi data. Kemudian, client memulai koneksi data dari data port-nya ke data port yang telah ditentukan oleh server.


Contoh aplikasi FTP server :
§  Proftpd
§  Vsftpd
§  Wuftpd
§  IIS (didalamnya terdapat FTP Server)

Contoh aplikasi FTP client
§  CuteFTP, Wget
§  WsFTP
§  GetRight
§  AbsoluteFTP


Perintah FTP
Perintah-perintah FTP yang dikirimkan terdiri atas string teks sederhana. Sebagai contoh, untuk mendapatkan kembali file, client mengirimkan “RETR filename” di koneksi kendali ke FTP server. Untuk mentransfer file, client mengirimkan “STOR filename”. FTP server mengetahui setiap perintah pada setiap balasan FTP, dimana terdiri atas tiga digit. Digit pertama menandai adanya tanggapan yang baik, tidak baik, atau yang tidak sempurna. Jika satu kesalahan terjadi, maka digit kedua digunakan untuk mendeteksi kesalahan yang terjadi. Dengan cara yang sama, digit ketiga digunakan untuk lebih menspesifikasikan kesalahan yang terjadi. Digit pertama merupakan digit yang paling utama, dan kemungkinan nilai yang muncul adalah sebagai berikut :
·         1yz Positive Preliminary reply. Permintaan diketahui, namun balasan lain dari client tetap diharapkan
·         2yz Positive Completion reply. Permintaan sukses dilakukan, sehingga client dapat mengirim permintaan lain
·         3yz Positive Intermediate reply. Perintah telah diterima, namun masih membutuhkan informasi yang lain. Client diharuskan untuk mengirimkan balasan perintah lainnya
·         4yz Transient Negative reply. Perintah gagal, namun masih ada kesempatan untuk mencobanya lagi
·         5yz Permanent Negative Completion reply. Perintah gagal, namun tidak harus diulangi lagi

Contoh perintah FTP :
·         Untuk mengubah direktori yang dikirimkan oleh client :
CWD namadirektori
Server akan merespon dengan :
250 CDW command successful
Sebagai balasan, dimulai dengan a ’2’, dimana urutan perintah diselesaikan.
·         Bila ingin merubah salah satu direktori dan itu tidak ada, maka perintahnya :
CWD namadirektoriyanghilang
Server akan merespon dengan :
550 namadirektoriyanghilang : The system cannot find the file spesified
Balasannya ialah a ‘5’, berarti gagal dan tetap gagal jika diulangi (kecuali direktori hilang diciptakan di server).
·         Sesi Perintah (Session Commands)
Untuk memulai sesi perintah FTP, maka perintah dari USER yang dikirimkan ke server adalah :
USER chafid
Server akan memberikan balasan :
331 Password required for javaftp
Client harus memberikan balasan dengan mengisi password :
PASS 123456
Server akan memberikan balasan :
230 User chafid logged in
Setelah login user dapat menggunakan perintah yang berhubungan dengan direktori dan file. Untuk mengakhiri, client mengirimkan perintah sebagai berikut :
QUIT
Server akan memberikan balasan :
221
Sesi akhirnya ditutup, sehingga perintah apapun yang dikirimkan sudah tidak diterima lagi.

Sunday, April 5, 2020

Materi X TKJ : Parameter Dalam Prosedur


Parameter merupakan suatu nilai atau referensi yang dikirimkan kedalam rutin tertentu dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat didalam rutin itu sendiri. Parameter ditempatkan didalam tanda kurung setelah nama rutin bersangkutan. Setiap parameter harus memiliki tipe data tersendiri.
Jenis parameter dibedakan menjadi dua yaitu parameter formal dan aktual. Parameter formal adalah parameter yang terdapat pada saat pembuatan prosedur atau fungsi, sedangkan parameter aktual adalah parameter yang terdapat pada saat pemanggilan prosedur atau fungsi. Contoh pembuatan dan pemanggilan fungsi:
Procedure Hitung(A,B:   integer );
Var
      C  :  integer ;
Begin
     C  := A + B;
      Writeln('Nilai C  = ' , C ) ;
End;    (*  procedure Hitung   *)

Pada prosedur diatas, variabel A, B disebut dengan parameter formal. Sekarang pada saat kita memanggil prosedur misal dengan kode sbb:

Var     
     X,Y     :  integer ;
 Begin                             
                                  
    
          
     Hitung   ( X, Y ) ; 
                       
 End.

Variabel  X,Y yang terdapat pada pemanggilan prosedur Hitung akan disebut sebagai parameter aktual.

Pengiriman parameter secara nilai
Bila parameter dikirim secara nilai (by value) ,parameter formal di prosedur akan berisi nilaI yang akan dikirimkan yang kemudian bersifat lokal diprosedur. Bila nilai parameter formal di prosedur tersebut berubah, tidak akan mempengaruhi nilai parameter nyata  (nilai parameter nyata tetap tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang tidak dikirimkan balik dari parameter formal ke parameter nyata.
Parameter-paramete yang digunakan dengan pengiriman secara nilai ini disebut dengan parameter nilai (value parameter).
Contoh :
program contoh1;


uses crt;
 Procedure Hitung (A,B     :   integer ) ;
 Var
      C  :  integer ;
 Begin
     C  := A + B;
      Writeln(#10,'Nilai C  = ' , C ) ;
 End;    (*  procedure Hitung   *)
 Var     
     X,Y     :  integer ;
 Begin                             
     Write(' Nilai   X  ?  ' ) ;                            
     ReadLn(X) ;
     Write ( ' Nilai   Y  ?  ' ) ;
     ReadLn(Y) ;
     Hitung   ( X, Y ) ;                         
 End.


Bila program dijalankan:
           Nilai   X  ?  2
           Nilai   Y  ?  3
           Nilai   C  =  5
Penjelasan:
 1. Prosedur dimulai dengan deklarasi prosedur dengan judul prosedur:

 2. Variabel lokal yang hanya dipergunakan di prosedur dan tidak termasuk sebagai parameter formal ( parameter nilai ), harys didefinisikan sendiri, sebagai berikut
                           Var
                C : integer ;

 3. Hubungan antara parameter formal di prosedur dengan parameter nyata dimodul utama adalah sebagai berikut:
      


Terlihat bahwa nilai –nilai parameter nyata X Dan Y dimodul utama dikirimkan ke  parameter formal A dan B di prosedur . dengan demikian, nilai parameter A dan B di prosedur akan berisi nilai yang sama dengan parameter X dan Y di modul utama

Wednesday, April 1, 2020

Materi XII TKJ : Materi Persiapan Uji Kompetensi


ROUTER
Router bertugas untuk menyampaikan paket data dari satu jaringan ke jaringan lainnya, jaringan pengirim hanya tahu bahwa tujuan jauh dari router. Dan routerlah yang mengatur mekanisme  pengiriman selain itu router juga memilih “jalan terbaik” untuk mencapai tujuan. Ada dua jenis router  berdasarkan cara ruting-nya, yaitu Router Statis dan Router Dinamis.

Router Statis
Router Statis adalah Router yang me-rutekan jalur spesifik yang ditentukan oleh user  untuk   meneruskan  paket  dari  sumber  ke  tujuan.  Rute  ini  ditentukan  oleh administrator untuk mengontrol perilaku routing dari IP "internetwork".
Rute Statis   -  Rute  yang  dipelajari  oleh  router  ketika  seorang  administratormembentuk  rute secara manual. Administrator harus memperbarui atau meng"update" rute   statik   ini   secara   manual   ketika   terjadi   perubahan   topologi   antar   jaringan (internetwork).
Mengkonfigurasi router  statis adalah dengan memasukkan tabel routing secara manual. Tidak terjadi perubahan dinamik dalam tabel ini selama jalur/rute aktif.

Segment
Kekurangan
Kelebihan
Penggunaan Next Hop
Dapat mencegah terjadinya error dalam meneruskan paket ke router tujuan apabila router yang akan meneruskan paket memiliki link yang terhubung dengan banyak router. Itu disebabkan karena router telah mengetahui next hop, yaitu IP Address router tujuan
static routing yang menggunakan next hop akan mengalami multiple lookup atau lookup yg berulang. lookup yg pertama yang akan dilakukan adalah mencari network tujuan,setelah itu akan kembali melakukan proses lookup untuk mencari interface mana yang digunakan untuk menjangkau next hopnya.
Penggunaan exit interface
Proses lookup hanya akan terjadi satu kali saja ( single lookup ) karena router akan langsung meneruskan paket ke network tujuan melalui interface yang sesuai pada routing table
Kemungkinan akan terjadi eror keteka meneruskan paket. jika link router terhubung dengan banyak router, maka router tidak bisa memutuskan router mana tujuanya karena tidak adanya next hop pada tabel routing. karena itulah, akan terjadi eror

Routing static dengan menggunakan next hop cocok digunakan untuk jaringan multi-access network atau point to multipoint sedangkan untuk jaringan point to point, cocok dengan menggunakan exit interface dalam mengkonfigurasi static route.
Recursive route lookup adalah proses yang terjadi pada routing tabel untuk menentukan exit interface mana yang akan digunakan ketika akan meneruskan paket ke tujuannya.

Router Dinamis
Router  Dinamis  adalah  Router  yang  me-rutekan  jalur  yang  dibentuk  secara otomatis  oleh   router  itu  sendiri  sesuai  dengan  konfigurasi  yang  dibuat.  Jika  ada perubahan topologi antar jaringan, router otomatis akan membuat ruting yang baru.
Dynamic router mempelajari sendiri Rute yang terbaik yang akan ditempuhnya untuk meneruskan paket dari sebuah network ke network lainnya. Administrator tidak menentukan rute yang harus ditempuh oleh paket-paket tersebut. Administrator hanya menentukan bagaimana cara router mempelajari paket, dan kemudian router mempelajarinya sendiri. Rute pada dynamic routing berubah, sesuai dengan pelajaran yang didapatkan oleh router.

Macam-macam Routing Dinamis (Dynamic Router) :
§  RIP (Routing Information Protocol)
§  IGRP (Internal Gateway Routing Protokol)
§  OSPF (Open Shortest Path First)
§  EIGRP (Enhanced Internal Gateway Routing Protokol)
§  BGP (Border Gateway Protokol) Info Lanjut BGP

Routing Static
Routing Dynamic
Berfungsi pada protocol IP
Berfungsi pada inter-routing protocol
Router tidak dapat membagi informasi routing
Router membagi informasi routing secara otomatis
Routing table dibuat dan dihapus secara manual
Routing table dibuat dan dihapus secara otomatis
Tidak menggunakan routig protocol
Terdapat routing protocol, seperti RIP atau OSPF
Microsoft mendukung multihomed system seperti router
Microsoft mendukung RIP untuk IP dan IPX/SPX

Materi XI TKJ : Membuat Tabel Baru

Bentuk umum SQL untuk membuat suatu table secara sederhana sebagai berikut : CREATE TABLE nama_tabel ( field1 tipe(panjang), field2 t...