Jumat, 11 Mei 2012

Pengenalan Pada SIBO (Sistem Informasi Berorientasi Objek)


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.

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:
  1. 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.
  1. 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.
  1. 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