39890861-PEMROGRAMANSOKET

7
 Pemrograman Soket PESERTA PERTAMA adal ah seora ng ibu peserta arisan yang memi li ki keistimewaan mampu menceritakan sebuah kejadian yang berlangsung 5 menit menjadi berdurasi beberapa jam, di mana sang lawan bicara sebaiknya memiliki prinsip: kuping boleh panas, tetapi hati tetap dingin. Peserta kedua adalah sepasang mu da -mudi yang sedang ja tuh cinta dan mampu berkomunikasi dalam waktu yang sangat lama, hingga tercipta istilah sepiring berdua dan dunia hanya milik berdua. Rekor ini bertahan selama berhari-hari, setelah pasangan tersebut akhirnya memilih diam (dan menciptakan istilah piring terbelah dua dan perang dunia kedua). Saat mahkota pemenang sudah akan diserahkan pada peserta kedua, muncul peserta ketiga yang mengklaim mampu berkomunikasi 24 jam tanpa henti setiap harinya dalam batas waktu yang tidak dapat ditentukan, mengagumkan! Sang jawara itu bernama…socket jaringan! Mengenal Socket Bay ang kan sebuah ser ver game onl ine yan g berk omunik asi tan pa hen ti, dimainkan ole h ent ah berapa banyak client yang tersebar. Ini merupakan salah satu contoh aplikasi dari sekian banyak aplikasi yang menggunakan socket jaringan untuk saling ber komunikasi dan bertukar data. Komunikasi socket jaringan memang tidak mengenal lelah, pertukaran data terjadi terus- menerus dan memegang peranan vital. Jika oleh karena suatu hal komunikasi berhenti kar ena 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 di lakuk an socket jari ngan. Sebelum membahas lebi h jauh, apakah seben arnya 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. Dala m komun ikasi antara dua pihak , tentu nya harus digunak an kesep akata n 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. Conto h komun ikas i sederh ana adalah komunika si antara komput er A dan komputer B. Baik komput er A mau pun komput er B har us memiliki identitas uni k, yan g dir epre sentasikan 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. TCP dan UDP Pemrog raman socket adalah cara untuk menggu nakan komponen/API (Applicati on Progra mmin g Interface) socket untuk membuat sebuah aplikasi. Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman datanya, yaitu: 1. Datagram socket (menggunakan UDP). 2. Stream socket (menggunakan TCP). Terdap at perla kuan yang berbeda antara UDP dan TCP, wala upun sama-sama berfun gsi 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 -pesa n yang lain, atau berbag ai kemung kinan lainnya . Bahkan, dapat terjadi pesan yang dikirimkan tidak sampai ke penerima karena ke gagalan pengiriman paket data. Ti dak demi ki an ha ln ya dengan stream so ck et ya ng mengguna ka n TCP. Je ni s in i mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan paket-paket data secara 1

Transcript of 39890861-PEMROGRAMANSOKET

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 1/7

Pemrograman Soket

PESERTA PERTAMA adalah seorang ibu peserta arisan yang memiliki keistimewaan mampumenceritakan sebuah kejadian yang berlangsung 5 menit menjadi berdurasi beberapa jam, di manasang lawan bicara sebaiknya memiliki prinsip: kuping boleh panas, tetapi hati tetap dingin.

Peserta kedua adalah sepasang muda-mudi yang sedang jatuh cinta dan mampuberkomunikasi dalam waktu yang sangat lama, hingga tercipta istilah sepiring berdua dan duniahanya milik berdua.

Rekor ini bertahan selama berhari-hari, setelah pasangan tersebut akhirnya memilih diam(dan menciptakan istilah piring terbelah dua dan perang dunia kedua).

Saat mahkota pemenang sudah akan diserahkan pada peserta kedua, muncul peserta ketigayang mengklaim mampu berkomunikasi 24 jam tanpa henti setiap harinya dalam batas waktu yangtidak dapat ditentukan, mengagumkan! Sang jawara itu bernama…socket jaringan!Mengenal SocketBayangkan sebuah server game online yang berkomunikasi tanpa henti, dimainkan oleh entahberapa banyak client yang tersebar. Ini merupakan salah satu contoh aplikasi dari sekian banyakaplikasi yang menggunakan socket jaringan untuk saling berkomunikasi dan bertukar data.

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 akankecewa.

Maka dari itu, komunikasi jaringan selalu diusahakan tidak terhenti. Demikianlah tugas berat

yang harus dilakukan socket jaringan. Sebelum membahas lebih jauh, apakah sebenarnyapengertian socket itu?

Pengertian socket adalah interface pada jaringan yang menjadi titik komunikasi antarmesinpada Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data daninformasi 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 danformat yang sama agar komunikasi dapat dimengerti. Seperti halnya dua orang yang menggunakanbahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalamsocket dapat menggunakan TCP ataupun UDP.

Contoh komunikasi sederhana adalah komunikasi antara komputer A dan komputer B. Baikkomputer A maupun komputer B harus memiliki identitas unik, yang direpresentasikan oleh IPmasing-masing.

Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun komputer B harusmemiliki port yang dapat diakses satu sama lain.

TCP dan UDP

Pemrograman socket adalah cara untuk menggunakan komponen/API (Application ProgrammingInterface) socket untuk membuat sebuah aplikasi.

Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman datanya, yaitu:1. Datagram socket (menggunakan UDP).2. Stream socket (menggunakan TCP).

Terdapat perlakuan yang berbeda antara UDP dan TCP, walaupun sama-sama berfungsisebagai 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, menyusulpesan-pesan yang lain, atau berbagai kemungkinan lainnya. Bahkan, dapat terjadi pesan yangdikirimkan tidak sampai ke penerima karena kegagalan pengiriman paket data.

Tidak demikian halnya dengan stream socket yang menggunakan TCP. Jenis inimengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan paket-paket data secara

1

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 2/7

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 yangmenggunakan TCP memerlukan pertukaran data dua arah yang valid. Sedangkan, aplikasi socketyang 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.PortSalah 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 port25. 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 untukkoneksi Internet, service FTP, dan seterusnya. Port yang telah digunakan ini adalah port 0

sampai dengan port 1023.2. 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 kuatirkekurangan port untuk aplikasi Anda.

3. Dynamic/Private ports.Dari port 49152 sampai dengan port 65535.

WinsockUntuk pemrograman aplikasi socket berbasis Windows, maka komponen API yang sering digunakan

adalah Winsock (Win-dows Socket API) yang mendukung interface standar TCP/IP, yang merupakanprotokol 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/IPhanya 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 istilahTCP/IP telah mencakup, baik TCP maupun UDP.

Pada bahasa pemrograman visual seperti Visual Basic/Delphi, Anda dapat menggunakancontrol Winsock yang telah disediakan untuk mengembangkan aplikasi socket.

Walaupun kita akan mencontohkan aplikasi socket dalam environment Windows, Anda tidakperlu khawatir jika aplikasi socket yang menggunakan Winsock tidak dapat berkomunikasi denganaplikasi socket berbasis Unix/Linux, karena komunikasi tetap dapat terjadi selama aplikasi tersebutmenggunakan 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 yangmengizinkan dua aplikasi berjalan pada satu mesin komputer dan berkomunikasi satu sama lain.

Aplikasi ServerUntuk membuat aplikasi socket yang sederhana, tidak diperlukan langkah-langkah yang rumit. Kita

akan mencoba membuat dua buah aplikasi, yang pertama adalah aplikasi server yang akanmenerima data, sedangkan aplikasi kedua adalah aplikasi client yang mengirimkan data pada

server. Baik aplikasi server dan aplikasi client mendefi nisikan port yang sama sebagai jalurkomunikasi.

Contoh program dibuat dengan menggunakan Visual Basic 6. Konsep pemrograman yangserupa juga dapat Anda implementasikan pada bahasa pemrograman lain seperti Visual Basic.NET,Delphi, dan lain sebagainya.

2

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 3/7

Kita akan memulainya dengan aplikasi server, tugas aplikasi server cukup sederhana, yaitu

hanya siap sedia menerima data yang masuk pada sebuah port. Control yang Anda perlukan adalahcontrol winsock bernama Winsock1 dan sebuah textbox bernama Text1. Pada event Form_Load,

tuliskan kode program di bawahini:Private Sub Form_Load()With Winsock1.LocalPort = 1025

.ListenEnd WithEnd Sub

Kode program tersebut melakukan inisialisasi socket, socket memilih port 1025 padakomputer server dan menunggu data yang masuk melalui port tersebut dengan perintah Listen.

Selanjutnya pada event Winsock1_ConnectionRequest, ketikkan kode program berikut:Private Sub Winsock1_ConnectionRequest(ByVal requestID As

Long)If Winsock1.State <> sckClosed Then Winsock1.CloseWinsock1.Accept requestIDEnd SubKode program di atas berfungsi untuk menerima request koneksi. Selanjutnya pada event

Winsock1_DataArrival, ketikkan kode program berikut:Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim strData As String

Winsock1.GetData strDataText1.Text = Text1.Text & strData

End SubKode program di atas berfungsi untuk mengambil data yang diterima oleh socket danmenampilkannya pada Text1. Aplikasi server telah selesai!Aplikasi ClientSeperti aplikasi server, Anda perlu menyiapkan control Winsock dan Text, ditambah sebuah controlCommand Button yang dapat Anda namakan cmdKirim yang berfungsi untuk mengirimkan datayang diketik pada Text1 ke aplikasi server.Pada event Form_Load, ketikkan kode program di bawah:

Private Sub Form_Load()With Winsock1

.RemoteHost = “127.0.0.1” 

.RemotePort = 1025

.ConnectEnd WithEnd SubKode program di atas berfungsi untuk melakukan inisialisasi, tentukan IP tujuan/server/remotedengan 127.0.0.1 seperti pada contoh jika Anda mencoba aplikasi ini dengan menggunakan satumesin komputer.

Jika Anda mencobanya dengan menggunakan dua komputer dalam sebuah jaringan, isikan denganIP komputer yang berfungsi sebagai server.

Selanjutnya pada cmdKirim, ketikkan kode program sebagai berikut:Private Sub cmdKirim_Click()If Winsock1.State = sckConnected ThenWinsock1.SendData Text1.TextEnd If End Sub

Kode program di atas akan mengirimkan pesan yang Anda ketik pada textbox Text1 padaaplikasi server.

Selesailah sudah aplikasi server dan client. Cukup mudah, bukan? Anda dapat melakukan ujicoba dengan menjalankan aplikasi server pada komputer yang berfungsi sebagai server (ataupun

komputer yang sama dengan aplikasi client jika Anda menggunakan 127.0.0.1 sebagai remote IP).Jalankan aplikasi client, dan ketik kata-kata yang Anda inginkan, lalu tekan Command Button

cmdKirim, maka aplikasi server akan menampilkan pesan yang Anda ketikkantersebut.

Dari program sederhana ini, Anda dapat mengembangkannya menjadi aplikasi socket yangsesuai dengan keperluan Anda, penggunaannya sangat luas dan bisa jadi sangat bermanfaat,

3

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 4/7

misalnya aplikasi instant messenger seperti Yahoo! Messenger ataupun MSN Messenger yang

merupakan aplikasi socket yang banyak digunakan.

Pengolahan DataKomunikasi data antara server dan client di atas merupakan bentuk komunikasi satu arahsederhana. Data yang dikirimkan dari client pun merupakan data mentah yang tidak memerlukan

pengolahan data lebih lanjut.Anda dapat membuat sendiri function dan rutin untuk mengolah data yang dikirim dan

diterima sesuai dengan kebutuhan aplikasi, karena data yang dikirimkan antarmesin bisa jadi sangatbervariasi.

Misalnya saja aplikasi server/client Anda memerlukan pertukaran data identitas mesin,tanggal, jam, header pesan, isi pesan, dan lain sebagainya. Anda dapat mengirimkannya dalamformat tertentu, misalnya bentuk string dengan karakter pemisah untuk membedakan masing-masing field.

Dalam komunikasi data di dalam jaringan, Anda perlu mempertimbangkan besarnya datayang lalu-lalang pada jaringan, baik dengan menggunakan TCP maupun UDP. Keduanya

harusdipersiapkan untuk mampu menangani data yang besar jika memang pengguna aplikasi socketAnda sangat luas.

Pastinya tidak terdapat masalah yang berarti jika Anda mencobanya dengan dua ataubeberapa komputer dalam sebuah jaringan lokal, tetapi coba bayangkan seberapa besar total data

yang harus dikirim dan diterima pada sebuah aplikasi game online, misalnya.Pada contoh game online, sebuah server harus dipersiapkan untuk mampu melayani

sedemikian banyak client, dan jaringan yang digunakan bukan lagi jaringan lokal, tetapi sudahmerupakan jaringan Internet, di mana siapapun dapat menggunakan aplikasi Anda selama iamemiliki koneksi Internet.

Mungkin Anda bertanya, jika data yang keluar-masuk memerlukan pengolahan lebih lanjut,

mengapa tidak digunakan database, sehingga Anda tidak perlu pusing membuat rutin atau moduluntuk mengolah data yang dikirim/diterima melalui komunikasi socket?

Pada umumnya, aplikasi socket client/server memang menggunakan database pada sisiserver, tetapi jika aplikasi socket mengharuskan sisi client menggunakan database tertentu, maka

akan membatasi penggunaan aplikasi itu sendiri.Selain itu, kegunaan komunikasi socket adalah agar dapat berjalan lintas platform. Tidak

peduli operating system apa yang digunakan pengguna aplikasi, komunikasi socket tetap berjalanselama digunakan protokol yang sama.Sebenarnya jika Anda melihat software database seperti SQL Server, intinya juga merupakan

aplikasi socket, di mana menggunakan port tertentu sebagai jalur komunikasi, tetapi softwaretersebut telah dikemas menjadi produk database yang spesifik.

Tools TambahanAplikasi socket merupakan aplikasi jaringan dan jika Anda mendalami seluk-beluk jaringan, tentuakan familiar dengan tools tambahan yang umumnya digunakan dalam jaringan. Tools inikemungkinan dapat berguna untuk diimplementasikan ke dalam aplikasi socket Anda.

Tools yang dimaksud, antara lain:

1. Ping.

Ping digunakan untuk memeriksa keberadaan remote host dengan jalan mengirimkan sinyalkepada remote host. Keberadaan remote host dapat ditentukan dengan melihat response yangditerima. Ping juga dapat digunakan untuk mengukur kecepatan transfer data. Salah satu contohpenggunaan ping dalam aplikasi socket adalah memeriksa server yang tersedia sebelummengirimkan data (dengan asumsi tersedia lebih dari 1 server).

2. Telnet.Telnet merupakan singkatan dari TELecommunication NET-work. Umumnya istilah telnet saat inimerujuk pada aplikasi telnet client yang tersedia pada kebanyakan operating sys-tem. Telnetmengizinkan Anda mengakses remote host dan menggunakan service-nya. Sebagai contoh,

Anda dapat mengirimkan e-mail melalui telnet yang menggunakan port 25 (service SMTP) padaremote host tertentu. Jika Anda telah masuk ke dalam environment telnet, command line yang

digunakan adalah command berbasis Unix/Linux. Aplikasi socket dapat dimodifi kasi bekerjaseperti telnet dengan mengakses remote host dan port tertentu. Di dalam aplikasi socket, Anda

dapat mengambil dan mengolah response yang didapat dari remote host.3. Netstat.

Netstat menampilkan status jaringan yang terjadi. Dapat menampilkan port yang sedangterkoneksi, atau dalam kondisi menunggu/listening, juga menampilkan protokol yang digunakan,

4

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 5/7

apakah TCP atau UDP. Dengan netstat, Anda dapat mengetahui koneksi jaringan yang terjadi,

hal ini dapat dimanfaatkan di dalam aplikasi socket, misalnya untuk melihat port yang sedangaktif dan digunakan.

Ada kalanya Anda perlu menjalankan tools jaringan yang telah disebutkan di atas melaluiaplikasi Anda. Untuk keperluan ini, Anda dapat menggunakan shell command yang disediakan olehbahasa pemrograman yang Anda gunakan.

Misalnya pada Visual Basic, dapat digunakan perintah Shell diikuti parameter yangdiperlukan.

Jika ingin mengolah response yang dihasilkan oleh tools tertentu, Anda dapat menuliskanhasilnya pada sebuah file teks, contohnya jika Anda menjalankan perintah netstat –an > hasil.txtpada Command Prompt Windows, maka informasi mengenai koneksi yang aktif akan tersimpan

dalam file hasil. txt, di mana Anda dapat mengolah file hasil.txt tersebut lebih lanjut di dalamaplikasi Anda.

Keamanan JaringanBerbicara mengenai komunikasi jaringan, ternyata erat kaitannya dengan keamanan jaringan. Port

yang terbuka dengan keluar masuknya data, sebenarnya juga merupakan celah keamanan yangdapat dimanfaatkan pihak-pihak tertentu yang berniat buruk.

Karena itu, saat mengembangkan sebuah aplikasi socket, Anda juga perlumempertimbangkan issue keamanan jaringan dan sistem komputer Anda. Jika data yang dikirimkan

merupakan data yang sensitif dan rahasia, Anda dapat melakukan enkripsi data ataupun tindakpengamanan lainnya.

Dari sisi pengguna, saat menggunakan sebuah aplikasi socket, berarti Anda telahmengizinkan aplikasi tersebut untuk melakukan pengiriman dan penerimaan data melalui porttertentu. Karena itu pastikan Anda mengenal dengan baik aplikasi socket yang Anda gunakan,yakinkan bahwa aplikasi tersebut tidak mengandung program jahat yang dapat membahayakan

keamanan komputer Anda.Tetapi jika aplikasi instant messenger dan game online tidak diizinkan oleh administrator

 jaringan di kantor Anda, jangan lantas mengira pimpinan Anda sangat peduli dengan keamanan jaringan. Hal tersebut untuk mencegah kantor Anda menjadi game center dan ruang gosip!

LEBIH LANJUThttp://en.wikipedia.org/wiki/Internet_socket

http://en.wikipedia.org/wiki/Winsock

5

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 6/7

Dasar Pemrograman Socket Menggunakan Delphi

Membuat program memang sangat menyenangkan, kreatifitas programmer dalam meracik kodeprogram sangat diperlukan. Bila anda adalah seorang delphi programmer mungkin sudah biasa

membuat program untuk aplikasi database seperti sistem akuntansi, sistem inventory, dan lainnya.Namun tulisan saya ini mungkin langka bagi programmer. Seperti biasa saya memulai dari dasarterlebih dahulu yaitu dasar pemrograman socket di delphi.

Saya mulai dari pengertiannya terlebih dahulu agar programmer delphi dapat mengembangkansocket ini. Socket merupakan suatu component delphi yang digunakan untuk mengirim data melalui

 jaringan komputer. sebagai contoh aplikasi chating, remote trading, dan aplikasi pengiriman pesan

lainnya.

Apa yang harus dipersiapkan oleh seorang programmer dalam membuat program mengunakan

socket ini? Pertanyaan ini sangat mendasar, seperti saya pertama kali terjun ke dunia pemrograman socket ini, mungkin pada postingan selanjutnya saya akan menulis contoh program menggunakansocket ini. Ok, langsung saja saya jawab pertanyaan itu.

1. Komponen Pengirim dan Penerima

Pertama kali anda harus tahu terlebih dahulu mekanisme dari socket ini. Saya berikan contoh logikanya, jika seseorang mengirim suatu barang pasti ada penerimanya. kalau di socket, jika

mengirimkan data harus ada yang menerima. Kembali hal ini menjadi pertanyaan, siapa yangmengirim dan siapa yang menerima? Kalau anda sudah mengerti apa yang sudah saya jelaskan

tadi, maka yang mengirim adalah komponen TClientSocket dan yang menerima adalahTServerSocket.

2. Tujuan Pengiriman

Selanjutnya jika seseorang akan mengirim suatu surat maka harus ada alamat tujuan pengiriman.

Jika di socket ini disebut sebagai host atau IP Address dan Port. Jadi pada saat tclientsocket akanmengirim pesan harus diisi terlebih dahulu IP Address dan port tadi.

3. Status Penerimaan

Setelah TClientSocket mengirim sinyal untuk terhubung ke TServerSocket maka perlu adanyastatus bahwa keduanya telah terhubung. Atau bahkan jika diantara keduanya sudah tidak terhubunglagi. Ini sangat penting mengingat pada saat akan mengirim data, harus mengetahui terlebih dahulustatus keterhubungan ini.

Semoga tulisan saya ini berguna bagi anda, jadilah programmer yang tangguh.

Membuat Form Baru Secara Runtime Di Delphi

Dalam memahami artikel yang saya tulis ini minimal anda sudah memahami konsep dasar membuatprogram di Delphi.

Sangat penting bagi programmer untuk dapat membuat suatu object secara runtime. Hal inidibutuhkan agar pengelolaan memory menjadi lebih baik dibandingkan dengan object yang telahdibuat pada saat design time. Kenapa demikian?

Jika kita membuat suatu object secara runtime kita dapat menghapuskannya dari memory , danpada suatu saat proses membutuhkan hal itu maka dapat dengan mudah membuat object itu

kembali. Sebagai contoh saya ambil suatu form yang sudah di rancang sebelumnya sebut saja “TFormInputData”.

Misalnya pada suatu event tertentu anda ingin menampilkan form TFormInputData, maka contohkode programmnya adalah seperti ini:

6

5/14/2018 39890861-PEMROGRAMANSOKET - slidepdf.com

http://slidepdf.com/reader/full/39890861-pemrogramansoket 7/7

procedure TMainForm.Button1Click(Sender: TObject);varMyForm: TFormInputData;beginMyForm := TFormInputData.Create(nil);MyForm.showmodal;MyForm.Free;

end;

Anda dapat menggunakan MyForm.Showmodal atau MyForm.Show. Jika menggunakan

MyForm.Show, pada baris selanjutnya jangan langsung di free.

Contoh sederhana ini dapat anda kembangkan sendiri, semoga bermanfaat.

Konsep Dasar Membuat Program di Delphi

Bagi anda yang sedang belajar bahasa pemrograman atau ingin menjadi programmer, mungkintulisan ini sangat cocok. Saya tuliskan disini adalah konsep dasar pemrograman aplikasi komputer /software menggunakan delphi. Jika konsep dasar ini telah anda kuasai, selanjutnya tinggalmengembangkan sendiri. Kenapa menggunakan delphi? Pertanyaan ini merujuk pada kemampuan

saya dalam membuat program mempergunakan delphi, meskipun ada bahasa pemrograman lainnyayang lebih populer seperti C++, Visual C, C#, dot Net, Java, Visual Basic, dan masih banyak lagi.

Baik, saya jelaskan konsep dasar dari delphi ini dalam 3 point:

1. Mengerti algoritma pemrograman

Dalam setiap pemrograman, ini adalah hal yang paling mendasar. Algoritma pemrograman yaitusuatu alur proses / urutan proses dari suatu nilai masukan (input) yang menghasilkan keluaran(output). Point ini merupakan yang paling sulit, anda perlu memahami betul dan dapat

menterjemahkannya di kehidupan nyata ke dunia maya, dari proses yang terlihat menjadi prosesyang tidak terlihat.

2. Mengerti terlebih dahulu bahasa pascal

Mengapa harus mengerti bahasa pascal? Pertanyaan ini merupakan yang paling banyak ditanyakanoleh pemula. Delphi pada dasarnya menggunakan bahasa ini, anda dapat belajar pascal lebih lanjut di tautan ini. Bahasa pascal adalah salah satu bahasa yang paling mudah untuk dipelajari dandimengerti dibandingkan bahasa lainnya.

3. Mengerti object

Point ini lebih kepada pengembangan kemampuan diri anda di programming, proses untuk mengerti

tentang object ini dapat sambil berjalan, namun yang terpenting adalah poin 1 dan 2. Anda dapatmengerti poin ini setelah membuat beberapa aplikasi kecil. Ini nanti ada hubungannya dengantulisan saya sebelumnya yaitu mengelola class di delphi

Untuk membantu anda dalam mempelajari pemrograman di delphi ini, saya akan menulisnya di

postingan selanjutnya, jadi jangan kemana-mana tetap di….

Semoga bermanfaat.

7