Rabu, 03 April 2013

Resume Jaringan komputer 1 - 6 Pertemuan


4 tahap dalam yg terjadi dalam jaringan :
  • Komunkasiantarlink
  • Menghubungkanbeberapalink (internetworking)
  • Mencari dan me-rutekan data kenodes dalam internetwork
  • Menyesuaikan kebutuhan-kebutuhan aplikasi

Tahap pertama
  •   Membentuk ubungan(link) antarnode
  •  Link: jalur yang dilewati bits
o   Wired or wireless
o   Broadcast  ataupoint-to-point (ataukeduanya)
  • Node: suatu perangkat yang terhubungkan pada link

Bentuk kiriman packet data
·         Unicast : Pengiriman packet kesatu penerima
·         Broadcast : Pengiriman packet menuju semua node dalam jaringan
·         Multicast : Pengiriman packet menuju sekelompok node tertentu dalam jaringan
·         Anycast `Pengiriman packet menuju salah satu dari sekelompok node dalam jaringan

Packet Switching
·         Meneruskan packet dari beda sumber
·         Sesuai dengan kebutuhan (resources on demand)
·         General
o   Banyakaplikasi
·         Dapatmengakomodasijenispaketyang datang bersamaan
o   Dibuatantrian

Ciri-ciri Packet Switching
·         Store and forward
o   Packetterbagidalamunit-unit
o   Dapatmelewatijaluralternatif-reordering
·         Permasalahan
o   Congestion
o   Delay

Packet Routing
·         Setiap teknologi jaringan memiliki metode pengiriman data
·         Address resolution menyediakan informasi pengiriman packet antar jaringan
o   Contoh, ARP maps IP addresses keEthernet addresses
o   Local, hanya bekerja pada sebagaian jaringan
·         Routing protocol menentukan jalur antar jaringan


Routing
·         Meneruskan table alamat kemasing-masing router menggunakan protokol-protokol routing.
·         Original Internet: diupdate secara manual
·         Protokol routing melakukan update table gp berdasarkan“cost”
o   Tukar menukar informasi table alamat dengan router tetangga atau semuanya
o   Menggunakan informasi tetangga terdekat atau jalur terpendek

Contoh layer : 7 Layer OSI
·         Physical:  how to transmit bits
·         Data link:how to transmit frames
·         Network:  how to route packets
·         Transport: how to send packets end2end
·         Session: how to tie flows together
·         Presentation:byte ordering security
·         Application: everything else

PrinsipPrinsipLayer
·         Sebuah layer harus dibuat bila diperlukan  tingkat abstraksi yang berbeda.
·         Setiap layer harus memiliki fungsi tertentu.
·         •Fungsi layer di bawah adalah mendukung  fungsi layer di atasnya
·         Fungsi setiap layer harus dipilih dengan teliti  sesuai dengan ketentuan standar protokol  internasional. 

Network Layer
·         Mendefinisikan logical addressing,  mengkombinasikan multiple data link menjadi  satu internetwork Lapisan Network bertanggung  satu internetwork. Lapisan Network bertanggung  jawab untuk membawa paket dari satu simpul ke  simpul lainnya dengan mengandalkan logical  pyggg address yang disebut juga sebagai Network Address (Layer3Address). 
·         Lapisan Network berfungsi sebagai "penerus  pggp paket" (Packet Forwarder), yaitu pengantar  paket dari sumber (Source) ke tujuan  (destinition) Sifat forwarder ini disebut sebagai  (destinition). Sifat forwarder ini disebut sebagai  routing. 
·         Fungsi routing didukung oleh routing protokol, yaitu protokol yang bertujuan :
o   Mencari jalan terbaik menuju tujuan  Tukar menukar informasi tentang topologi
o   Tukar menukar informasi tentang topologi  jaringan dengan router yang lainnya 

UTP Categori5e
·         Kapasitasdata 1000Mbps
·         Panjang 90 meters
·         Model : Solid core cable untukInstalasidalam bangunan
·         Model : Stranded cable tepatnyauntukpatch cables
·         Konektor:  RJ-45

ICMP
·         Internet Control Message Protocol (RFC 792).
·         ICMP digunakan oleh host, router, gateway untuk mengirimkan pesan- pesankesalahan pesan kesalahan.
·         Tugas ICMP adalah mendukung sepenuhnya tugas-tugas protocol IP. sepenuhnya tugas tugas protokol IP.
·         ICMP tidak menggunakan nomor port seperti pad TCP dan UDP.

ICMP dapat digolongkan dalam 2 kelas:
·         Pesan kesalahan Digunakan sebagai umpan balik kepada divais pengirim apabila terjadi kesalahan (error).
·         Pesan informasi Diklhdiidiitk Digunakan oleh divais-divais untuk bertukar informasi, melakukan pengujian pengujian.
Contoh :
o   Program PINGmengirimkan ICMP type 8 (echo request). Host tujuan akanmembalasdengan akan membalas dengan menggunakan ICMP type 0 (echo reply). reply).
o   Program Traceroutemengirimkan IP datagram dengan TTL 1, 2, 3 dst. gg Host tujuan membalas dengan ICMP type 11 (TTL).

ARP : Address Resolution Protocol.
·         Protokol ini bertugas untuk menemukan hardware address (MAC Address) suatu host dengan alamat IP tertentu tertentu
·         Ketika suatu IP paket akan dikirim, makapakettersebutditeruskanke maka paket tersebut diteruskan ke layer dibawahnya (Data Link), yang akan memberikan alamat hardware sesuai dengan alamat IP tersebut.
Tabel ARP
·         Setiap host menyimpan Tabel ARP dalam cache.
·         Tetapijikahardwareaddressinitidakadadi |Tetapi jika hardware address ini tidak ada di dalam cache ARP, maka ARP bertugas untuk mencarinya (Tabel ARP terupdate setiap 15- 20mn) 20mn).
Cara Kerja ARP
·         Teriminal dengan IP 10.1.1.1 (sumber) ingin mengirimkan pesan ke termina ldengan IP10114 (tujuan) terminal dengan IP 10.1.1.4 (tujuan).
·         Terminal sumber mengirim ARP- requestsecarabroadcast request secara broadcast.
·         Tetapi hanya Terminal tujuan yang dimaksudmengambilARP-request. dimaksud mengambil ARPrequest.
·         Teminal tujuan mengirim balik ARP- reply beserta no MAC-address.

RARP
·         Reverse Address Resolution Protocol : Merupakan protokol yang bertugas untuk menemukan IP address suatu host yang hanya tahu Hardware address-nya saja (misal pada diskless hi)mac hine).

Cara Kerja RARP
o   Host mengirim paket berikut alamat MAC-nya secara broadcast untuk meminta alamat IP yang sesuai.
o   RARP server akan menjawab paket tersebut dengan memberikan nomor IP.
o   Contoh: BootP protocol dan Dynamic Host Control Protocol (DHCP).

Datagram
·         Packet pesan pada Internet Layer disebut juga sebagai Datagram
·         IP Datagram mengandung alamat IP sumber dan alamat IP tujuan, masing- masingsebesar32bit (i.e., IP Address).
·         IP Datagram bergerak melintasi
·         IP Datagram bergerak melintasi network switching dari satu node (router) ke node berikutnya berdasarkan pemilihan jalur tertentu.

IP Address
·         Dalam jaringan TCP/IP setiap Host ditandai dengan sebuah alamat IP (IP address) logikal yang unik.
·         Sebuah IP address pada IPv4 terdiri atas 32 bit angka biner. Sehingga, secara teoritis total IP address yang dtdibtdlh232t dapat dibuat adalah: 232, atau sebanyak 4.294.296 alamat IP.
IPAddress(Cont) IPAddress(Cont) IP Address (Cont.) IP Address (Cont.).
o   IP Address terbagi dalam 4 blok, dimana masing-masing blok terdiri atas 8 bit.
o   Penulisan IP address dalam bentuk dotteddecimaladalah: X.X.X.X
o   Contoh: 202.155.19.57
o   Karena sebuah blok terdiri atas 8 bit, secaradesimalnilaiX=0–255 secara desimal nilai X  0 255.
IP Class
·         IP Address terbagi atas 5 kelas (A, B, C, D, E).
·         IP address kelas A, B, C digunakan untuk pengalamatan IP publik.
·         IP address kelas D, digunakan untuk pengalamatan multicast.
·         IP address kelas E, dicadangkan untuk pemakaian masa depan.

Class A
·         Bit pertama : 0
·         Network Address (network-id): 1.0.0.0 d126000s. d 126.0.0.0
·         Jumlah alamat jaringan yang mungkin digunakan: 127 alamat (1-126 dapat digunakan sedangkan 127 digunakan untukreserve) untuk reserve)
·         Jumlah alamat host yang dapat digunakan : 16.777.216 g
Class B
·         Bit pertama : 10
·         Network address (netowork-id): () 128.0.0.0 s.d 191.255.0.0
·         Jumlah alamat jaringan : 16.384 jg
·         Jumlah alamat host : 65.536

Class C
·         Bit pertama : 110
·         Network address (network-id) : () 192.0.0.0 s.d 223.255.255.0
·         Jumlah alamat jaringan : 2.097.152 jg
·         Jumlah alamat host : 254

Host Address
·         Setiap device atau interface harus memiliki host number.
·         Total alamat host dalam sebuah network adalah: 2N–2 (Dimana N adalahjumlahbit) adalah jumlah bit).
·         Pengurangan 2 disini dikarenakan dalamsatualamatjaringanselalu dalam satu alamat jaringan selalu terdapat network addressdan broadcast address.

Netmasking
·         Untuk memisahkan antara network-id dan host-id diperlukan sebuah netmask netmask.
·         Network-id menggunakan mask binary1sedangkanhost-id binary 1, sedangkan host-id menggunakan mask binary 0.
·         Network-iddanHost-Iddibedakan
·         Networkid dan HostId dibedakan dengan cara melakukan operasi AND antara IP address dan Netmask.

Pengalamatan IP
·         Di dalam jaringan TCP/IP setiap terminal diidentifikasi dengan sebuah alamat IP unik.
·         Kecuali Router dapat memiliki lebih dari sebuah alamat IP, karena itu disebut sebagai Multihomed Device.

Ada 4 Badan Internasional Badan Internasional Pengelola IP :
·         APNIC bertugas sebagai pembagi blok nomorIPdannomorAutonomousSystem nomor IP dan nomor Autonomous System (AS) kepada para ISP di kawasan Asia Pasific, selain itu juga mengelola thittiitti(hi)au thoritative resgistration server (whois) dan reverse domains (in-addr.arpa).
·         America Rregistry for Internet Number (ARIN)
·         ReseauxIPEuropeens(RIPE) Reseaux IP Europeens (RIPE)
·         African Regional Internet Registry Network Information Center (AFRINIC)
KoordinasiInternasionaldarikeempat |Koordinasi Internasional dari ke-empat badan tersebut dipegang oleh International Assigned Number Authority (IANA).

Konversi Biner -Desimal
·         Setiap 8 bit nomor IP dapat dikonversi ke desimal dengan komposisi :
(x*27+x*26+x*25+x*24+x*23+x*22+x*21+ ( x*20)
Contoh : Sehingga untuk menghitung bentuk desimal dari 11001011 dapat dilakukan dengan :
=1*128+1*64+0*32+0*16+1*8+0*4+1* 2+1*1
= 128 + 64 + 0 + 0 + 8 + 0 + 2 + 1
= 203

Kategori Pengalamatan IP
·         Ada 3 macam kategori pengalamatan IP, yaitu:
o   Classfull Addressing(conventional): pengalamatan berdasarkan kelas, tanpa perlu ada subnetting.
o   Subnetted Classfull Addressing: pengalamatan dengan subnetting.
o   Classless Addressing: CIDR

Senin, 03 September 2012

Contoh pembuatan aplikasi tree-tier



Buat Class dgn nama ClassBussinessProcess yang terdiri dari beberapa fungsi seperti dibawah ini :

Private Conn As ADODB.Connection
Private rs As ADODB.Recordset

'---membuat variabel yg bisa diakses oleh form
'---utk mengisi data2 server spt nama server, user dan password
Public Property Get Server() As String
  Server = strServer
End Property

Public Property Let Server(ByVal sServer As String)
  strServer = sServer
End Property

Public Property Get User() As String
  User = strUser
End Property

Public Property Let User(ByVal sUser As String)
  strUser = sUser
End Property

Public Property Get Passwords() As String
  Passwords = strPass
End Property

Public Property Let Passwords(ByVal sPass As String)
  strPass = sPass
End Property

'-----------------------------------------------------------------

'---menampung nama table yg mau dibuka oleh recordset
Public Property Get TableName() As String
  TableName = strTable
End Property

Public Property Let TableName(ByVal sTableName As String)
  strTable = sTableName
End Property

Public Function OpenRecord() As ADODB.Recordset
  If rs.State = adStateOpen Then rs.Close
  rs.CursorLocation = adUseClient
  rs.Open strTable, Conn, adOpenStatic, adLockOptimistic
  Set OpenRecord = rs
End Function

Public Sub AddRecord()
  Dim i As Control
  Dim f As Form
  
  For Each i In f.Controls
  If TypeOf i Is TextBox Then
  i.Text = ""
  ElseIf TypeOf i Is ComboBox Then
  i.Text = ""
  End If
  Next
End Sub

Public Sub InsertRecord(ParamArray arrayFields() As Variant)
  Dim i, JumlahField As Integer
  JumlahField = rs.Fields.Count - 1
  rs.AddNew
  For i = 0 To JumlahField
  rs(i) = arrayFields(i)
  Next
  rs.Update
End Sub

Public Sub DeleteRecord()
  rs.Delete
  rs.Update
  rs.MoveNext
End Sub

Public Sub UpdateRecord(ParamArray arrayFields() As Variant)
On Error Resume Next
  Dim i, JumlahField As Integer
  JumlahField = rs.Fields.Count - 1
  
  For i = 0 To JumlahField
  rs(i) = arrayFields(i)
  Next
  rs.Update
End Sub

Public Sub FindRecord(ByRef sField As String)
  rs.MoveFirst
  rs.Find "CustomerID LIKE '" & sField & "%'"
  If rs.EOF Then
  MsgBox "Data tidak ditemukan", , "Find"
  End If
End Sub

'---utk menampilkan data pada datagrid
Public Sub GridView(ByRef objGrid As Object)
  Set objGrid.DataSource = rs
End Sub

Public Function CountRecord() As String
  CountRecord = rs.RecordCount
End Function

Public Function PositionRecord() As String
  PositionRecord = rs.AbsolutePosition
End Function

Public Sub MoveToFirst()
  rs.MoveFirst
End Sub

Public Sub MoveToPrior()
  rs.MovePrevious
End Sub

Public Sub MoveToNext()
  rs.MoveNext
End Sub

Public Sub MoveToLast()
  rs.MoveLast
End Sub

'---pd saat class dipanggil, maka kode dibawah ini
'---yg pertama kali di jalankan
Private Sub Class_Initialize()
  Set Conn = New ADODB.Connection
  Set rs = New ADODB.Recordset
  
  '---utk mencegah error krn namaserver blm di initial
  '---maka conn.open dicegah spy tdk membuka database dahulu
  If Server = "" Then Exit Sub
  
  '---krn setiap kali class ini dipanggil akan
  '---menjalankan kode dibawah ini, maka utk
  '---mencegah error krn membuka koneksi yg
  '---yg sedang terbuka, maka selalu diperiksa
  '---status koneksinya, kalo sudah terbuka
  '---langsung keluar tapi kalo blm ya dibuka
  If Conn.State = adStateOpen Then Exit Sub
 Conn.Open "Provider=SQLNCLI.1;" & _
  "Data Source=" & Server & ";" & _
  "User ID=" & User & ";" & _
  "Password=" & Passwords & ";" & _
  "Initial Catalog=northwind"
End Sub

'---pd saat class di close bersihkan objek di memori
Private Sub Class_Terminate()
  If rs.State = adStateOpen Then
  rs.Close
  Set rs = Nothing
  End If
  
  If Conn.State = adStateOpen Then
  Conn.Close
  Set Conn = Nothing
  End If
End Sub

 

Nah saya rasa tidak perlu lagi saya menjelaskan dari kode2 diatas ya karena masing2 fungsi

sudah ada komentar penjelasanya koq  

 

Sekarang buat lah satu module, yang fungsinya cuma utk membuat variabel global spy bisa

diakses oleh class maupun form dan isinya seperti dibawah ini:

'---variabel utk menampung nama database user
Public strUser As String

'---variabel utk menampung nama database password
Public strPass As String

'---variabel utk menampung nama server database
Public strServer As String

'---variabel utk menampung nama tabel yg mau dibuka
Public strTable As String

'---variabel utk menampung connection string database
Public ConnString As String

'---variabel utk mengecek apakah tombol add aktif/tidak
'---kalo nilainya true berati memanggil class insert
'---kalo nilainya false berati memanggil class update
Public Add As Boolean

'---variabel utk menampung kode yg mau diedit
Public UpdateKode As String 

 

Sebelum saya lanjutkan, cara kerja dari aplikasi ini kira2 seperti bro

- Pada saat dijlalankan, akan ada form login seperti dibawah ini
 

Isi kode dari form diatas adalah seperti dibawah ini :

Private Sub cmdCancel_Click()
  Unload Me
End Sub

'---mengisi variabel property yg ada dlm class

Private Sub cmdOK_Click()
Dim objClass As New ClassBussinessProcess
  With objClass
  .Server = txtServer.Text
  .User = txtUserName.Text
  .Passwords = txtPassword.Text
  End With
  frmBrowseCustomers.Show
  Unload Me
End Sub



- Setelah di klik OK, maka form akan tertutup dan memanggil form lain seperti gambar dibawah ini :

 

Kode ukt form diatas adalah seperti dibawah ini :

Private objClass As New ClassBussinessProcess

Private Sub cmdClose_Click()
  Unload Me
End Sub

'---utk merefresh data spy tampil dgn data yg baru
'---krn insert data atau edit data
Private Sub cmdRefresh_Click()
  objClass.OpenRecord
  objClass.GridView DataGrid1
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
End Sub

'---pd saat form ini menjadi form yg aktif maka akan
'---diperiksa isi variabel updatekode, jika kosong
'---maka langsung keluar, tetapi jika ada isinya
'---maka panah datagrid akan diarahkan pd data yg
'---baru saja di edit,
Private Sub Form_Activate()
  If UpdateKode = "" Then
  Exit Sub
  Else
  objClass.FindRecord UpdateKode
  DataGrid1.MarqueeStyle = dbgHighlightRow
  DataGrid1.SetFocus
  End If
End Sub

Private Sub Form_Load()
  objClass.TableName = "Customers"
  objClass.OpenRecord
  objClass.GridView DataGrid1
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
End Sub

Private Sub ImageFirst_Click()
  objClass.MoveToFirst
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
  DataGrid1.MarqueeStyle = dbgHighlightRow
End Sub

Private Sub ImageLast_Click()
  objClass.MoveToLast
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
  DataGrid1.MarqueeStyle = dbgHighlightRow
End Sub

Private Sub ImageNext_Click()
  objClass.MoveToNext
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
  DataGrid1.MarqueeStyle = dbgHighlightRow
End Sub

Private Sub ImagePrevious_Click()
  objClass.MoveToPrior
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
  DataGrid1.MarqueeStyle = dbgHighlightRow
End Sub

Private Sub cmdAdd_Click()
  '---krn add=true maka class fungsi yg
  '---dipanggil adalah insert
  Add = True
  frmAddEditCustomers.Show vbModal
End Sub

Private Sub cmdDelete_Click()
  objClass.DeleteRecord
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
End Sub

Private Sub cmdEdit_Click()
  Add = False
  frmAddEditCustomers.Show vbModal
End Sub

Private Sub cmdFind_Click()
  objClass.FindRecord txtFind.Text
  DataGrid1.MarqueeStyle = dbgHighlightRow
  DataGrid1.SetFocus
End Sub

Private Sub DataGrid1_Click()
  Add = False
  txtRecord.Text = objClass.PositionRecord & " of " & objClass.CountRecord
End Sub

Private Sub DataGrid1_DblClick()
  Add = False
  cmdEdit_Click
End Sub


Coba perhatikan kode2 diatas, pada form diatas tidak ada kode yg biasa kita buat seperti deklarasi variabel

utk koneksi database atau insert atau yang lain. jadi form diatas bener2 gak kode pemrosesan yg ada cuma

memanggil class, jadi kalo ada perubahan pd class maka tampilan form gak ngaruh .



Cara kerja form diatas adalah sebagai berikut :

1. Pada saat di klik tombol Add atau Edit maka akan terbuka form seperti dibawah ini
 

    Form diatas fungsinya utk menginsert data atau mengedit data

2. Apabila tombol delete di klik maka akan langsung memanggil fungsi menghapus yg ada dalam class

Nah kira-kira seperti itulah ya bisnis proses nya, mudah2an bisa dipahami.

kalo diperhatikan, kode diatas hampir tidak menggunakan sql sintak.


Sumber : http://www.rudihartono.com/index.php/database-programming/18-aplikasi-3-tier
Nama  : Cyntia Al Annisa
Nim     : 11.41010.0213