Pengenalan Pada SIBO
(Sistem Informasi Berorientasi
Objek)
Yang dimaksud dengan
object oriented adalah bahwa kita mengorganisasi perangkat lunak sebagai
kumpulan dari objek-objek diskrit yang bekerja sama antara data structure dan
behaviour. Paradigma perancangan berorientasi objek, antara lain sebagai
berikut :
- Abstraction
- Inheritance
- Polymorphism
- Encapsulation
- Message
Sending
- Assosiations
- Aggregation
Object and Class
Object, yang konkrit
atau tidak, adalah segala sesuatu di sekitar kita. Objek-objek yang menyusun
dunia ini. Amir, Ali dan Andi adalah contoh objek dari class manusia. Object
mempunyai attribute dan operation. Attribute dari object diatas adalah umur,
tinggi, berat dan sebagainya. Sedangkan operation dari object diatas adalah
makan, minum, tidur, membaca dan sebagainya.
Class adalah sebuah kategori dari objek-objek yang mempunyai attribute dan operation yang sama.
Class adalah sebuah kategori dari objek-objek yang mempunyai attribute dan operation yang sama.
Abstraction
Abstraction secara
sederhana dikatakan filter property objek-objek dan operasi. Tipe yang berbeda
dari persoalan memerlukan nilai informasi yang berbeda, sehingga hanya
atribut-atribut dan operasi yang diperlukan saja yang didefinisikan. Metode ini
dikenal dengan istilah abstraction dari suatu objek.
Inheritance (Pewarisan)
Inheritance adalah salah satu komponen dalam pemrograman berorientasi
objek dimana properti dari suatu objek yang terdiri dari variabel dan method
dapat diwarisi oleh class lain. Class yang memberikan warisan adalah class
induk dan class yang menerima warisan adalah class anak.
Pewarisan ini akan mendukung konsep reusable karena sekali kita telah
membangun method pada class induk, method tersebut dapat digunakan oleh
class-class lain yang merupakan turunan dari class tersebut.
Object adalah instance
suatu kelas, maka object mempunyai semua karakteristik dari suatu kelas.
Atribut dan operasi yang ditentukan dalam class akan ter-inheritance ke
masing-masing object dalam kelas tersebut.
Class dapat juga
mewarisi sifat-sifat class lainnya. Washing machine, regrigenerator, microwave
ovens, radio, televisi adalah class peralatan listrik, mereka mewarisi atribut
dari class peralatan misalnya type, dan mewarisi operasi misalnya turn on dan
turn off.
Polymorphism
Polymorfisme berarti
suatu fungsionalitas yang diimplementasikan dengan berbagai cara yang berbeda. Kadang-kadang
sebuah operasi mempunyai nama yang sama pada class yang berbeda. Sebagai
contoh, membuka jendela, membuka pintu, membuka surat kabar, membuka percakapan. Dalam
masing-masing persoalan dapat dilakukan operasi yang berbeda-beda. Misalnya,
suatu operasi dengan nama yang sama, tetapi jika dikenakan pada objek yang
berbeda akan mengakibatkan operasi yang berbeda.
Encapsulation (Pembungkusan)
Ketika seseorang
menonton televisi, biasanya seseorang tersebut tidak memperhatikan tentang
kompleksitas rangkaian elektronika yang ada di dalamnya, mereka tidak
memperdulikan bagaimana rangkaian elektronika itu bekerja, mereka hanya
memperhatikan tombol-tombol apa saja yang bisa digunakan untuk
mengoperasikannya. Konsep ini dikenal dengan istilah encapsulation, yaitu
menyembunyikan operasi-operasinya dari dunia luar dan dari objek-objek lainnya.
Enkapsulasi memiliki arti mengelompokkan program ke dalam satu unit
sehingga program ini menjadi mudah digunakan karena terdapat antar muka yang
baik.
Manfaat Enkapsulasi :
1.
Modularitas
Source code dari sebuah class dapat dikelola secara independen dari source
code class yang lain. Perubahan internal pada sebuah class tidak akan
berpengaruh bagi class yang menggunakannya.
2.
Information Hiding
Penyembunyian informasi yang tidak perlu diketahui objek lain.
Dengan demikian enkapsulasi ini berguna buat programmer dan tidak terlalu
berhubungan dengan pengguna akhir.
Message Sending
Bagaimana objek-objek
dalam sistem berkerja besama-sama. Mereka melakukannya dengan mengirimkan pesan
dari salah satu object ke object yang lainnya. Suatu object mengirimkan pesan
ke object lainnya untuk melakukan sebuah operasi, juga dapat menerima pesan
dari object lainnya untuk melakukan operasi.
Association
Sebagai contoh, saat
seseortang menyalakan televisi, maka menurut terminologi object oriented,
seseorang tersebut sedang ber-assosiasi dengan televisi. Kadang-kadang sebuah
object mungkin diassosiasikan dengan object lainnya dalam lebih dari satu cara.
Sebuah class dapat diassosiasikan dengan lebih dari satu class.
Aggregation
Komputer terdiri dari
CPU, keyboard, mouse, monitor, harddisk, modem, printer dan sebagainya. Di
dalam CPU terdapat card grafic, sound card dan sebagainya. Komputer adalah
sebuah aggregation, meliputi hubungan yang kuat antara object dan object-object
sebagai komponennya. Ini dikenal dengan composition.
� l � `�k rmal style='margin-left:18.7pt;text-align:justify;line-height:
150%'>69 à TFTP
161 à
SNMP
Komunikasi socket jaringan memang tidak mengenal lelah, pertukaran data
terjadi terus-menerus dan memegang peranan vital. Jika oleh karena suatu hal
komunikasi berhenti karena maintenance, kerusakan, ataupun sebab lainnya, maka
dapat dipastikan para penggunanya akan kecewa.
Maka dari itu, komunikasi jaringan selalu diusahakan tidak terhenti.
Demikianlah tugas berat yang harus dilakukan socket jaringan. Sebelum membahas
lebih jauh, apakah sebenarnya pengertian socket itu?
Pengertian socket adalah interface pada jaringan yang menjadi titik
komunikasi antarmesin pada Internet Protocol, dan tentunya tanpa komunikasi
ini, tidak akan ada pertukaran data dan informasi jaringan.
Socket terdiri
dari elemen-elemen utama sebagai berikut:
1. Protokol.
2. Local IP.
3. Local Port.
4. Remote IP.
5. Remote Port.
Dalam komunikasi antara dua pihak, tentunya harus digunakan kesepakatan
aturan dan format yang sama agar komunikasi dapat dimengerti. Seperti halnya
dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi
sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP
ataupun UDP.
Contoh komunikasi sederhana adalah komunikasi antara komputer A dan
komputer B. Baik komputer A maupun komputer B harus memiliki identitas unik,
yang direpresentasikan oleh IP masing-masing.
Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun
komputer B harus memiliki port yang dapat diakses satu sama lain.
Tipe Socket
Untuk tipe socket ada 2 macam, Stream socket dan Datagram socket:
a.
Stream socket, adalah komunikasi continous stream dari
karakter (menggunakan protocol TCP)
b.
Datagram socket, adalah pembacaan seluruh pesan dengan
segera (menggunakan protocol UDP)
TCP dan
UDP
Pemrograman socket adalah cara untuk menggunakan komponen/API
(Application Programming Interface) socket untuk membuat sebuah aplikasi.
Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman
datanya, yaitu:
a.
Datagram socket (menggunakan UDP).
b.
Stream socket (menggunakan TCP).
Terdapat perlakuan yang berbeda antara UDP dan TCP, walaupun sama-sama
berfungsi sebagai protokol pertukaran data.
UDP tidak memerlukan proses koneksi terlebih dahulu untuk dapat
mengirimkan data, paket-paket data yang dikirimkan UDP bisa jadi melalui rute
yang berbeda-beda, sehingga hasil yang diterima bisa jadi tidak berurutan.
Contohnya jika aplikasi socket pengirim mengirimkan berturut-turut pesan
1, pesan 2, dan pesan 3, maka aplikasi socket penerima belum tentu mendapatkan
pesan yang berurutan dimulai dari pesan 1, pesan 2, dan terakhir pesan 3. Bisa
saja pesan 2 terlebih dulu diterima, menyusul pesan-pesan yang lain, atau
berbagai kemungkinan lainnya. Bahkan, dapat terjadi pesan yang dikirimkan tidak
sampai ke penerima karena kegagalan pengiriman paket data.
Tidak demikian halnya dengan stream socket yang menggunakan TCP. Jenis
ini mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan
paket-paket data secara berurutan, penerima juga dijamin akan menerima data
dengan urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data
terakhir. TCP dapat menangani data yang hilang, rusak, terpecah, ataupun
terduplikasi.
Dari sekilas perbedaan ini, kita dapat menarik kesimpulan bahwa aplikasi
socket yang menggunakan TCP memerlukan pertukaran data dua arah yang valid.
Sedangkan, aplikasi socket yang menggunakan UDP lebih memprioritaskan pada
pengumpulan data.
Karena itu aplikasi socket dengan TCP sering diterapkan untuk aplikasi
chat, transfer file, ataupun transaksi-transaksi penting. Sedangkan aplikasi
socket dengan UDP cocok diterapkan untuk aplikasi monitoring jaringan, game
online, dan aplikasi-aplikasi broadcast.
Port
Salah satu
elemen penting yang digunakan dalam aplikasi socket adalah port. Port merupakan
sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data secara
langsung.
Terdapat banyak port di dalam sebuah sistem komputer dengan fungsinya
masing-masing. Sebagai contoh, dalam mengirim e-mail digunakan service SMTP
yang umumnya menggunakan port 25. Sementara service POP3 untuk menerima e-mail
menggunakan port 110, port 80 digunakan untuk HTTP, port 443 digunakan untuk
HTTPS, dan seterusnya.
Nomor-nomor port dikategorikan dalam tiga jenis sebagai berikut:
- Well-known ports.
Merupakan port yang telah digunakan secara internal oleh sistem Windows,
misalnya port untuk koneksi Internet, service FTP, dan seterusnya. Port yang
telah digunakan ini adalah port 0 sampai dengan port 1023.
- Registered ports.
Port ini dapat digunakan dalam aplikasi Anda, range-nya adalah port 1024
hingga port 49151, cukup banyak port yang tersedia yang bebas Anda pilih
sehingga Anda tidak perlu kuatir kekurangan port untuk aplikasi Anda.
- Dynamic/Private ports.
Dari port 49152 sampai dengan port 65535.
Winsock
Untuk
pemrograman aplikasi socket berbasis Windows, maka komponen API yang sering
digunakan adalah Winsock (Win-dows Socket API) yang mendukung interface standar
TCP/IP, yang merupakan protokol jaringan paling popular saat ini (contoh
protokol jaringan yang lain adalah NetBIOS, IPX dari Novell, AppleTalk dari
Apple, dan seterusnya).
Pengertian TCP/IP (TCP over IP) mungkin dapat menjadi sedikit rancu jika
diartikan TCP/IP hanya mengizinkan pengiriman TCP (dan tidak UDP), padahal
seperti yang telah kita bahas, pengiriman socket dapat melalui TCP maupun UDP.
Pengertian TCP/IP di sini sebenarnya digunakan untuk menunjukkan
teknologi jaringan/Internet, termasuk di dalamnya adalah UDP. Jika Anda
menggunakan UDP, dapat juga disebut sebagai UDP/IP (UDP over IP), tetapi
umumnya istilah ini jarang digunakan dan istilah TCP/IP telah mencakup, baik
TCP maupun UDP.
Pada bahasa pemrograman visual seperti Visual Basic/Delphi, Anda dapat
menggunakan control Winsock yang telah disediakan untuk mengembangkan aplikasi
socket.
Walaupun kita akan mencontohkan aplikasi socket dalam environment
Windows, Anda tidak perlu khawatir jika aplikasi socket yang menggunakan
Winsock tidak dapat berkomunikasi dengan aplikasi socket berbasis Unix/Linux,
karena komunikasi tetap dapat terjadi selama aplikasi tersebut menggunakan
protokol jaringan yang sama.
Kalau demikian, untuk mencoba aplikasi socket, apakah mutlak diperlukan
setidaknya jaringan dengan minimal dua komputer yang saling terkoneksi? Bagi
Anda yang terpaksa hanya menggunakan satu komputer, dapat memanfaatkan alamat
localhost atau 127.0.0.1 yang mengizinkan dua aplikasi berjalan pada satu mesin
komputer dan berkomunikasi satu sama lain.
Indy ( Internet Direct )
Lalu apa indy itu ?
indy adalah komponen open source yang terdiri dari protocol internet yang sudah
begitu popular, seperti HTTP, FTP, SMTP, TCP, UDP, Gopher, Whois dan lain-lain,
karena open source maka kita dapat mempelajari semua kode program yang ada
untuk dikembangkan. kemudahan yang lain adalah indy mendukung protocol sampai
120 protokol, sebelumya protocol adalah aturan standar atau ketentuan dalam
komunikasi jaringan, jadi dalam komunikasi jaringan sudah dibentuk aturan baku
dalam proses data.
Untuk pemograman indy
dapat menggunakan bahasa pemograman seperti Borland Delphi, Borland C++
builder, Visual Studio.net, C#, dan untuk platform (berbeda system operasi )
dapat digunakan pula di Linux, .Net Framework, dan Win32.
Tidak ada komentar:
Posting Komentar