Chatting Room dengan Socket [delphi]

Tentunya kita semua tidak asing lagi dengan aplikasi yang menawarkan fasilitas chating, pada aplikasi chating arsitekturnya berbentuk client-server. Tugas dari server ini saya kategorikan menjadi 3 yaitu [Pertama] Mendengarkan port yang digunakan, apabila ada request dari client untuk koneksi maka tugas server untuk membuatkan koneksi langsung kepada client melalui port yang digunakan. [Kedua] Membaca(read) pesan yang dikirimkan client, pesan ini bisa berupa pesan ke server maupun pesan untuk client yang lain. Apabila pesan dari client ditujukan untuk client yang lain maka server akan menyampaikan kepada client yang dituju. [Ketiga] Menulis(write) pesan yang ditujukan kepada client.


Passing Parameter with Struct (C/C++)


Passing parameter digunakan untuk melewatkan sebuah nilai dari satu function ke function yang lain, tujuan dari passing parameter disini adalah untuk menghindari penggunaan variable secara global karena penggunaan variabel secara global bisa menyebabkan program susah untuk diikuti, perubahan nilai menjadi sulit untuk dilacak karena semua bagian atau semua function bisa mengaksesnya.

Pada contoh dibawah saya berikan penerapan passing parameter dalam memanipulasi struct dan struct tersebut digunakan dalam sebuah array. Ada 2 buah fungsi yang digunakan untuk mengisi data dan menampilkan data dari array of struct.

#include
//deklarasi struct dengan field nama
typedef struct structMhs 
{
char nama[10];
};

//deklarasi array dengan tipe data struct
typedef structMhs arrMhs[10] ={0};

//deklarasi function global
int isi(arrMhs);
int lihat(arrMhs);

Installing Socket Components

Socket programming adalah bagaimana cara menggunakan socket API ( Application Socket Programming ), untuk menghubungkan komunikasi antara proses remote dan local, programmer yang menggunakan ILE (Integrated Language Environment) C dapat menggunakan informasi untuk mengembangkan aplikasi socket. Anda juga dapat menggunakan kode socket API dari bahasa ILE lainnya, seperti RPG. JAVA juga mendukung alat penghubung untuk socket programming

API adalah sebuah library atau fungsi windows untuk mengeksekusi sebuah perintah yang ada di dalam semua tampilan windows , sebagai contoh untuk tampilan desktop ,screen saver ,shutdown computer dll. Biasanya seorang programmer yang membuat program seperti berbasiskan protocol jaringan kita sebut dia adalah programmer winsock ( windows socket ).

Pada delphi socket bisa kita gunakan untuk mendukung keperluan seperti diatas, secara default pada delphi socket Server dan socket Client belum terdapat didalam palette, untuk itu kita perlu menambahkan secara manual. berikut akan saya berikan langkah-langkah menambahkan komponen socket ke dalam palette delphi.

Operasi pada Array [1]

Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. Setiap elemen array dapat diakses melalui indeks. Dalam bahasa C indeks dimulai dari 0 (nol). Pada C/C++, array merupakan pointer yang mempunyai alokasi memori tetap (pointer constant). Nilai (Isi) dari elemen-elemen suatu array ditempatkan pada memori yang berurutan. Akses elemen suatu array bersifat random, artinya dapat dimulai dari mana saja dan tidak harus dari elemen pertamanya. 

Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum. Hal ini merupakan tanggung jawab programmer. Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.

Tanda [] disebut juga “elemen yang ke- ...“. Misalnya kondisi[0] berarti array kondisi elemen yang ke nol. Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.

Operasi pada array
1. operasi penambahan data (insert).
2. operasi pergantian data (update).
3. operasi penghapusan data (delete).
4. operasi pencarian data (searching).
5. operasi pengurutan data (sorting).

Manupulasi String C++ [1]


Pada program dibawah ini akan digambarkan bagaimana sedikit memanipulasi string menggunakan C++, desain aplikasi yang saya buat adalah pertama-tama kita akan melakukan pengecekan username dan password menggunakan strcmp (komparasi dua buah string), kemudian jika username dan password benar maka akan masuk ke menu utama. Pada menu utama ada 4 pilihan, pilihan 2 dan 3 belum sempat dibuat [dibaca silahkan tambahi sendiri].

Pada contoh aplikasi ini saya menekankan pada penerapan percabangan dan perulangan, dengan percabangan dan perulangan kita bisa menyelesaikan algoritma pada pemrograman. seperti contoh bahwa username dan password menggunakan do..while dan akan terus berulang jika user dan pass masih salah. Menu utama juga akan selalu diulang sampai kita memasukan nilai pilihan 4 sebenarnya menggunakan case juga bisa sampai keluar. Pada menu saya menggunakan case untuk menentukan pilihan dan action yang akan dikerjakan. Pada submenu juga ada perulangan untuk selalu menanyakan akan ke menu utama atau tidak, dan terakhir pada pilihan submenu 1, saya membuat algoritma untuk mengetahui apakah karakter yang dimasukan huruf atau angka dengan menggunakan while dan if

Pada contoh dibawah juga ada fungsi clrscr yang saya buat sendiri, kenapa? karena pada C-Free yang saya gunakan tidak ada clrscr(), jadi saya buat sendiri.

#include
#include
#include
#include

int clrscr();
int login();
int menu();