Category Archives: Dasar Pemrograman
Pengetahuan Dasar Network Programming (socket programming)
Network programming perlu kita pelajari sebab microcontroller yg ada sekarang selain berkomunikasi dgn serial RS232/rs485 juga sudah banyak yang menggunakan komunikasi jaringan komputer/ LAN dan internet. Sehingga dengan begitu microcontroller bisa diakses/dikendalikan dari PC lewat LAN ataut internet atau istilah kerennya iot , internet of thing.
Network Layer
Gambar dibawah ini untuk mengingatkan kembali, bagaimana paket data/pesan mesti melalui lapisan lapisan supaya sampai ke tujuan.
jika Surat/paket ditujukan ke alamat Kontrakan, perlu no pintu kan?
jika kita ingin mengirim surat ke seseorang yg tinggal di sebuah rumah kontrakan dgn 1000 pintu:-), maka kita perlu alamat rumah kontrakan dan nomor pintu si penerima , karena kontrakan yg dituju dihuni beberapa orang. Jika hanya alamat rumah kontrakan saja maka surat tdk akan sampai kepada orang yg dituju. nah socket itu ibarat gabungan alamat kontrakan dan no pintu
alamat rumah kontrakan = IP address
no pintu kontrakan = nomor port
jadi Apa itu Socket ? : untuk mencapai tujuan perlu alamat jelas……
Socket adalah gabungan alamat ip dan nomor port.
Berikut ini contoh aplikasi yg berkomuniaksi lewat LAN atau internet dlm kehidupan sehari hari:
Ada 2 orang yang sedang chating sambil chating kedunya juga bermain program catur online .
Untuk mencapai tujuan,paket data masing masing aplikasi mempunyai alamat PC yg dituju dan alamat aplikasi yg dituju. Alamat PC berupa IP adress dan alamat aplikasi (prosses) berupa nomor port (port yang dimaksud disini bukan port yg ada di microcontroller ). Kombinasi IP adress dan nomor port disebut socket. Aplikasi dalam contoh gambar di atas yaitu program Catur online dan Chating
Keterangan ttg Nomor Port:
• Nomor Port terdiri dari 16 bit integer : 0 ~ 65,535.
• Server harus menetapkan sebuah nomor port.
• Client program menentukan dirinya sebuah epheral nomor port epheral.
• IANA (Internet Assigned Number Authority) membagi nomor port
menjadi 3 :
1. no Port 0 sampai 1023 , ditetapkan dan di control oleh
IANA. misal: no port 23 untuk FTP, 25 untuk SMTP dan 80 untuk HTTP.
2.nomor port 1024 sampai 49,151 tidak dicontrol oleh IANA,
tapi dapat di tetapkan penggunaanya oleh IANA.
3. nomor port dinamis 49,152 sampai 65,535 dapat digunakan untuk proses apa saja disebut juga epheral port.
Client-Server : siapa yang mulai meminta dilayani , siapa yg melayani..
Jika ada 2 aplikasi yg saling berkomunikasi maka salah satu aplikasi harus ada yg memulai dan yg lain menunggu / siap merespon komunikasi. fihak yg aktif memulai di sebut sebagai client dan fihak yg passive menunggu (siap merespon/melayani) disebut server.
jadi yang dimaksud client dan server komunikasi jaringan adalah sebuah aplikasi/program bukan berupa hardware .
Karakteristik aplikasi Client
• Diaktifkan oleh user.
• Dijalankan di lokal komputer
• Berinisiatif sebagai fihak yang memulai menghubungi server
• Tidak perlu special hardware atau OS khusus.
Karakteristik aplikasi Server
• dapat melayani banyak client dalam satu saat.
• program otomatis aktif ketika komputer dinyalakan dan siap melayani permintaan client.
• berjalan di komputer yg disharing( bukan personal komputer).
• Pasive menunggu di kontak oleh client.
• membutuhkan powerful hardware dan OS khusus (misal windows server 2008), karena harus melayani banyak client.
TCP atau UDP : pesan harus sampai atau yang penting pesan sudah ku sampaikan…
Pesan yang akan kita kirim apakah harus sampai ke tujuan atau yg penting sudah kita kirim sampai atau tdk , tdk terlalu penting artinya ada kemungkinan pesan tdk diterima .
jika pesan harus (wajib) sampai ke si penerima maka kita pilih TCP
jika pesan tdk harus sampai, atau ada kemungkinan tdk diterima kita pilih UDP.
antara TCP dan UDP ada kekurangan dan kelebihannya masing-masing penggunaanya tergantung kebutuhan tiap aplikasi.
TCP mempunyai transport layer identitas 6 dan UDP : 17
Kalau boleh saya umpamakan pesan dgn TCP itu seperti menghubungi orang lain dgn handphone pasti terhubung atau tidak sama sekali.
Kalau UDP itu seperti menghubungi orang2 dengan speaker Toa di mesjid , Bgini contohnya “kepada bapak2 pengurus DKM harap kumpul dimesjid akan ada rapat malem ini”. Kita tidak tahu pesan pengumuman tsb sampai atau tdk , krn bapak2 yg dimaksud mungkin ada yg di rumah atau ada yg masih di kantor.
UDP
TCP :
Mekanisme Komunikasi antara Client dan Server
Jika data bebentuk Stream (TCP)
Proses komunikasi Client server protokol TCP pada pemrograman C# :
Jika menggunakan Datagram (UDP)
Contoh Pemrograman Network dengan C#
Contoh Code Client UDP
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.Text;
private void button1_Click(object sender, System.EventArgs e)
{
UdpClient udpClient = new UdpClient();
udpClient.Connect(tbHost.Text, 8080);
Byte[] sendBytes = Encoding.ASCII.GetBytes(“Hello World?”);
udpClient.Send(sendBytes, sendBytes.Length);
}
Contoh Code Server UDP
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.Text;
public void serverThread()
{
UdpClient udpClient = new UdpClient(8080);
while(true)
{
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any,0);
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
lbConnections.Items.Add(RemoteIpEndPoint.Address.ToString() + “:” +returnData.ToString());
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
Thread thdUDPServer = new Thread(new ThreadStart(serverThread));
thdUDPServer.Start();
}
Pengetahuan Dasar Pemrograman MultiThread di C#
C# memungkinkan kita mengeksekusi code secara parallel melalui multi-threading.
Apa yg dimaksud dgn Thread
Thread adalah potongan kode yg independent (dari sebuah proses) yang di ekseskusi oleh CPU yg penjadwalanya di lakukan oleh Operating sytem . Thread dibuat oleh programmer, bagian mana saja yg akan dijadikan thread ditentukan oleh programmer. Setiap thread mendapat jatah waktu dikerjakan CPU yg disebut quantum.
Perbedaan Multi-Tasking dan Multi-treading
Multitasking adalah beberapa proses aplikasi yang dijalankan secara paralel (sebenarnya sih dijalankan bergantian secara cepat) oleh operating system contohnya anda menjalankan program ms.excel sambil membuka program musik WinAmp . Kita merasakan program excel dan winamp berjalan bersamaan , padahal sebenarnya CPU diperintahkan oleh OS mengeksekusi program excel dan winamp secara bergantian dgn kecepatan tinggi.
Multi-treading adalah beberapa tread potongan program dlm satu proses yang dilaksana secara paralel (sebenernya sih bergantian secara cepat( kecuali prosesornya multi core) dan thread dibuat oleh programmer. Contohnya adalah sebuah program server misal chat server maka ia harus melayani permintaan client yang datang hampir bersamaan secara paralel. server akan membuat thread untuk melayani tiap client yg datang. setiap client dilayani oleh satu thread. sehingga tidak ada antrian jika client yang datang banyak.
Untuk melihat Prosses dan thread yang sedang aktif di OS windows anda bisa menekan Alt+Ctrl+Del klik menu Task Manager maka akan tampil sbb:
(jika kolom thread tdk tampak , klik menu View ->select colom->di centang/check thread count.)
Perumpamaan lain multi-threading adalah Koki di restoran yang mempunyai anak buah. Untuk setiap pelanggan dilayani oleh 1 anak buah jadi pelanggan tdk perlu menunggu lama. Koki nya adalah program/proses, anak buah kokinya adalah thread.
Daur hidup thread
Thread dalam setiap saat mempunyai satu keadaan dari beberapa keadaan sebagaimana gambar berikut ini:
Beberapa contoh manfaat Thread
– Pada user interface
Sebuah proses dlm program biasanya berurutan spt ini:
Input data->proses data->menampilkan data.
tiap proses bisa jadi memakan waktu lama. jika tiap proses di atas masing masing dibuatkan sebuah thread maka ketika data sedang di proses input data bisa tetap berlangsung dan ketika proses data sedang berlangsung bisa juga di cancel karena proses diatas berjalan secara paralel.
– Pada aplikasi server
Misalkan aplikasi webserver , aplikasi ini melayani permintaan page untuk tiap permintaan client yg datang. Tiap client yang datang dilayani oleh 1 thread . jika pada saat yg hampir bersamaan datang 10 client maka akan dibuatkan 10 thread yg melayani secara bersamaan. contoh lain adalah program chat client -server.
Multitreading di C#
using System;
using System.Threading; // namespace multithreading
public class MyThread {
public static void Thread1() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci gelas ke {0}”, i);
Thread.Sleep(3000);
}
}
public static void Thread2() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci piring ke {0}”, i);
Thread.Sleep(3000);
}
//Thread.Sleep(3000);
}
}
public class MyClass {
public static void Main() {
Console.WriteLine(“mulai mencuci tumpukan gelas dan piring “);
Thread tid1 = new Thread(new ThreadStart(MyThread.Thread1 ) );
Thread tid2 = new Thread(new ThreadStart(MyThread.Thread2 ) );
tid1.Start();
tid2.Start();
}
}
Memang jika di lihat hasil di layar monitor terlihat secara selang seling, tapi secara tdk terlihat ke 2 thread di proses paralel.
Hasil program diatas adalah : piring dan gelas di cuci secara bersamaan dan selesai secara bersamaan.
Kalau program diatas tanpa threading maka hasilnya akan berurutan mencuci gelas sampai selesai baru kemudian mencuci piring sampai selesai.
Program mencuci tumpukan gelas dan piring tanpa threading:
using System;
using System.Threading;
public class non_Thread {
public void cuci_gelas() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci gelas ke {0}”, i);
}
}
public void cuci_piring() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci piring ke {0}”, i);
}
}
}
public class MyClass {
public static void Main() {
Console.WriteLine(“=======================================”);
Console.WriteLine(“mulai mencuci tumpukan gelas dan piring “);
Console.WriteLine(“=======================================”);
non_Thread tid1 = new non_Thread();
tid1.cuci_gelas();
tid1.cuci_piring();
Console.WriteLine(“=======================================”);
Console.WriteLine(” Selesai…nyucinya ! “);
Console.WriteLine(“=======================================”);
}
}
Hasil dari program diatas adalah: gelas dicuci lebih dahulu sampai selseai kemudian disusul piring.
Contoh ke 2 , dua buah thread yaitu iris cabe dan ulek bawang
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication5
{
class ThreadTester
{
static void Main( string[] args )
{
// membuat thread dan beri nama.
kerjaan_thread kerjaan1 = new kerjaan_thread();
Thread thread1 = new Thread ( new ThreadStart( kerjaan1.iris_cabe ) );
thread1.Name = “iris cabe”;
kerjaan_thread kerjaan2 = new kerjaan_thread();
Thread thread2 = new Thread(new ThreadStart(kerjaan1.ulek_bawang ));
thread2.Name = “ulek bawang”;
Console.WriteLine(“================ \n”);
Console.WriteLine( “threads di aktifkan” );
Console.WriteLine(“================ \n”);
// started state -> running state
thread1.Start();
thread2.Start();
Console.WriteLine(“====================================”);
Console.WriteLine( “semua thread (pekerjaan) stand by , siap di kerjakan KOKI ” );
Console.WriteLine(“====================================”);
}
} // end class
class kerjaan_thread
{
private int waktutidur_iriscabe ;
private int waktutidur_ulekbawang ;
private static Random random = new Random();
public kerjaan_thread()
{
waktutidur_iriscabe = 2000;
waktutidur_ulekbawang = 1000;
}
//
public void iris_cabe()
{
for (int i=0; i < 4; i++)
{
Console.WriteLine(“iris cebe ke{0}”, i);
Thread current = Thread.CurrentThread;
Console.WriteLine(current.Name +” diistirahatkan selama ” + waktutidur_iriscabe + ” detik”);
//thread.running -> thread sleeping
Thread.Sleep(waktutidur_iriscabe);
Console.WriteLine(current.Name + “bangun dari istirahat”);
Console.WriteLine(“================ \n”);
}
} // end method masak
public void ulek_bawang()
{
for (int i=0; i< 2; i++)
{
Console.WriteLine(“ulek bawang ke{0}”, i);
Thread current2 = Thread.CurrentThread;
Console.WriteLine(current2.Name + ” diistirahatkan selama ” + waktutidur_ulekbawang + ” detik”);
//thread.running -> thread sleeping
Thread.Sleep(waktutidur_ulekbawang);
// print thread name
Console.WriteLine(current2.Name + ” bangun dari istirahat”);
Console.WriteLine(“================ \n”);
}
}
} // end
}
Untuk melihat jumlahthread yg running dgn cara saat program sedang jalan coba anda ketik alt-ctrl-del , kemudian pilih task manager
syncronisasi thread
Jika ada dua thread yg bersamaan merubah sebuah data, maka akan terjadi data tdk valid, untuk mencegah ini dibuat mekanisme
Sumber
–http://www.codeproject.com/Articles/1083/Multithreaded-Programming-Using-C
– http://www.codeproject.com/Articles/26148/Beginners-Guide-to-Threading-in-NET-Part-1-of-n
– http://www.albahari.info/threading/threading.pdf
– http://www.techrepublic.com/article/a-beginners-guide-to-threading-in-c/1044970
Pengetahuan Dasar File Header ( Header File ) Pada Bahasa C
File header /header file yaitu file yang berisi deklarasi fungsi dan definisi konstanta. Beberapa file header sudah disediakan di C. File-file ini mempunyai ciri bereksistensi .h. file-file header ini biasanya dipanggil menggunakan fungsi include.
Ada dua bentuk umum dari #include, yaitu
- #include <namafileheader.h> berisi definisi fungsi2 dan konstanta dari compiler contoh : include <stdio.h>
- #include “namafileheader.h” berisi definisi fungsi2 dan konstanta buatan kita sendiri.
Untuk memahami header file anda harus mengerti ttg fungsi . Mari kita ingatkan kembali ttg apa itu fungsi. Fungsi adalah suatu bagian dan program yang dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dan program yang menggunakanya.
fungsi terdiri dari definisi dan deklarasi
contoh listing program fungsi.c :
#include <stdio.h> // header file int jumlah(int x, int y) //deklarasi fungsi main () { int i, j, x; i = 10; j = 20; x = jumlah(i, j); //pemanggilan fungsi printf ("hasil penjumlahan adalah %d\n", x); } int jumlah(int x, int y) //definisi fungsi { int z; z = x + y; return (z); }
jika kita ingin membuat program header file untuk fungsi penjumlahan pd program diatas menjadi:
program utama : fungsi.c
#include <stdio.h> // header file #include "penjumlahan.h" main () { int i, j, x; i = 100; j = 200; k = jumlah(i, j); //pemanggilan fungsi printf ("nilai k = %d\n", x); } header file nya : headerku.h #include "libraryku.h" int jumlah(int x, int y) //deklarasi fungsi file definisi fungsi : libraryku.c atau libraryku.lib int jumlah(int x, int y) //definisi fungsi { int z; z = x + y; return (z); }
jadi yang dimaksud header file hanya berisi deklarasi fungsi atau konstanta saja. sedangkan kan definisinya atau fungsinya itu sendiri ada di file lain . Untuk fungsi fungsi bawaan dari compiler biasanya definisi fungsi disimpan di dalam file2 library ( berextensi “*.dll” ).
sedangkan untuk fungsi “printf” pada program diatas definisinya berada pada file stdio.h
referensi :
- C & Data Structures ,P. S. Deshpande , O. G. Kakde
- C programming Language, Dennis M Ritchie ,Brian W Kernighan
Deployment aplikasi .Net dengan ClickOne (membuat file Setup/Installan aplikasi .Net:-)
Deployment Aplikasi
Setelah kita membuat aplikasi .NET misalnya aplikasi C# dan kita ingin aplikasi tsb bisa di install pada PC lain melalui jaringan LAN atau internet. Maka untuk itu kita bisa menggunakan aplikasi ClickOne. Istilah awamnya kita membuat “file setup atau file installan ” , sedangkan istilah kerenya ” Deployment aplikasi”.
Dengan ClikOne kita bisa mendeploy aplikasi melalui Web Server (LAN maupun Internet) , flashdisk , CD atau DVD.
Sebelumnya menggunakan ClickOne saya ingin anda mengingat masa lalu , saat saat indah men Deployment aplikasi pada Visual Basic6:
Saat ini sebaiknya anda meninggalkan aplikasi VB6 dan mulailah dengan .Net . Saran saya gunakan C# karena menggabungkan kemudahan VB dan keunggulan bahasa C.
Deployment Aplikasi C# dengan ClikOne
Untuk windows 7 , buka C# .Net sebagai Admin , dgn cara klik kanan spt tampak pd gambar.
Buatlah Aplikasi C# sederhana yang akan kita Deployment.
Kode Program :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace aplikasiku
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = ” Percobaan aplikasi deployment”;
}
}
}
Deployment Aplikasi di Web server IIS
Lalu Klik Project -> Properties
Lalu Klick tab Security
Lalu Klik Tab Publish
KLIK Publish Wizard
Klik Next sampai Finish.
Deployment dapat anda Coba dgn Web Browse spt Mozila ,google Crome atau IE
Selesai.
Jika anda ingin menginstall aplikasi tsb pada PC lainya lewat LAN ketik :
pada mozilla atai IE http://ipadress/aplikasi/publish.htm .
misal http://172.17.143.121/aplikasi/publish.htm
Deployment Aplikasi di Web server Apache
sebelumnya PC anda harus terinstall Apache ( anda bisa menginstall Xampp atau WAMP)
publish wizard ClickOne ternyata tdk mendukung langsung web Server Apache cara mengatasinya ganti lokasi Url pada Tab Publish dari http://localhost/ ke sebuah folder di hardisk anda misal folder publish lalu lanjutkan publish wizard sampai selesai. Setelah itu copy folder Publish ke folder Htdocs pada webserver Apache.
Hasil akan spt ini:
Jika anda ingin menginstall aplikasi tsb pada PC lainya lewat LAN ketik :
pada mozilla atai IE http://ipadress/publish .
Kode-kode bahasa C yang sering tdk dimengerti oleh Pemula
Beberapa kode program bahasa C yang sering tdk dimengerti oleh pemula:
- 1<<N Artinya : geser bit 1 kekiri sebanyak N (atau memberi nilai 1 pada bit N)
- x++ Artinya : x = x + 1 (setelah baris ini dieksekusi nilai x ditambah 1 )
- ++x Artinya : x=x+1 ( sebelum baris ini dieksekusi nilai x ditambah 1)
- x+=z Artinya : x= x+z
- if(x==1)
y=2 ; tdk perlu menggunakan kurung { } krn cuma 1 baris perintah dibawah if
if(x==1)
{ // harus menggunakan { } karena lebih dari 1 baris
y=2;
z=3;
}
- return 0; artinya pemberitahuan ke operating system bahwa program main() selesai dieksekusi dan berakhir normal
- if(test) ini sama dengan if ( test <> 0 )
- x = y > 7 ? 25 : 50; ini artinya sama dengan :
if(y > 7) x = 25; else x = 50;
- merubah string ke bilangan
char nilai_str[ ] = “10.14”;
double angka_desimal = 0;
int angka_integer =0 ;
angka_desimal = atof(nilai_str);
angka_integer = atoi(nilai_str);
Pengetahuan Dasar Pemrograman Berorentasi Objek / PBO (object oriented programming ,OOP)
Tujuan : Memberikan gambaran tentang apa itu Pemrograman berorientasi objek untuk pemula
Pemrograman berorentasi Objek (PBO) atau object oriented programming (OOP) ..ups..apalagi nih..?
Tenang… tenang.. bagi yang sudah dengar tapi belum tau atau yang belum dengar dan belum tau saya kasih tau rahasia nya, dengarkan sugesti saya… bahwa yang namanya OOP itu mudah dimengerti dan sebenarnya konsep dasarnya sudah ada di alam nyata . Jadi OOP ini cara bikin program yg meniru sebagian kecil apa yg terjadi di alam alias OOP itu emang sebagian kecil dari ilmuNya.
Btw Untuk apa sih kita mengetahui OOP ? ya terpaksa deh kita harus tau karena bahasa pemrograman java, phyton,android, C# , C++ ,PHP atau VB.net yang akan kita pakai saklek menerapkan konsep OOP dalam dirinya. Bahkan Arduino juga menerapkan OOP terutama pada pembuatan Library nya.
Konsep dasar objek ini meniru dunia nyata yaitu segala sesuatu dipandang (berorientasi) sebagai benda ( objek) , yang bisa melakukan sesuatu (dlm dunia pemrograman berbentuk Fungsi ) dan mempunyai sifat tertentu (dlm dunia pemrograman sbg data/variable ) . Dalam PBO data di sebut juga properties dan fungsi disebut sebagai method.
Contoh konkrit objek di alam nyata
contoh pertama : objek kucing persia
objek kucing itu bisa melakukan : berjalan maju , melompat, berlari , tidur , makan dll
objek kucing memiliki sifat : kulit belang , ekor pendek , kuku tajam dll.
semua contoh itu adalah objek di alam nyata lalu bagaimana hubungannya dengan program OOP? di dalam OOP objek adalah sebuah benda apa saja yang dapat anda nyatakan dalam program.
Objek Dan Class
Objek dibuat dari sebuah Class , jadi semua code program (data/properties dan fungsi/method) objek ada di class. Dengan kata lain class adalah blue print (cetakan) dari objek.
format / template sebuah Class :
Class nama_class
{
properties
methode()
{
}
}
hubungan Class dan Objek bisa digambarkan sbb:
contoh Class kucing :
Class Kucing
{
string warna_bulu;
int panjang_ekor ; // centi
int x ; // jarak tempuh
int kecepatan_langkah = 3 ; //cm/detik
berjalan_maju()
{
x = x+kecepatan_langkah;
}
,
berlari()
{
x = x *( kecepatan_langkah *10);
},
}
Pada program yang digunakan adalah objeknya bukan Class , untuk itu kita harus membuat (instance) objek dari kelas
cara membuat objek dari kelas :
(Setiap bahasa pemrograman punya syntax tersendiri untuk membuat class dan objek)
nama_class nama_objek = new nama_class;
contoh contoh objek dari Class kucing:
kucing_persia, kucingku, kucing_jantan, kucing1,kucing2 dst..
cara membuat objek tsb diatas di dalam program
kucing kucing_persia = new kucing;
kucing kucingku = new kucing;
Ilustrasi pembuatan objek dari sebuah Class perumpamaan pembuatan kue dari cetakan kue
untuk membuat objek kue1 , kue2 , kue3 dari class kue :
kue1 = new kue
kue2 = new kue
kue3 = new kue
untuk membuat object COM1 dari class SerialPort
COM1 = new SerialPort;
artinya kita membuat objek COM1 dari Class SerialPort.
Penggunaan objek dalam program
penggunaan objek dlm program maksudnya bagaimana kita mengakses /memakai properties dan method dari objek tsb.
- Memakai/mengakses properties dari objek : nama_objek.nama_properties
- Memakai/mengakses method dari objek: nama_objek.nama_methode();
Contoh penggunaan objek di dalam pemrograman :
objek COM1 (serial port)
method COM1 antara lain mengirim data,menerima data, dll
properties COM1 antara lain, speed , parity,portname,stopbit,startbit dll
contoh kongkrit methode dari objek COM1 dlm pemrograman C# :
COM1.ReadByte() ; // menerima data
COM1.WriteByte() ; // mengirim data
contoh properties objek COM1 adalah
COM1.BaudRate =”9600″;
COM1.NewLine=”\n\r” ;
Untuk objek COM1 diatas adalah instance dari class SerialPort. Class SerialPort sudah disediakan oleh C#.
Contoh lain Object kue seperti tampak pada gambar dibawah ini
setelah dibuat maka object COM1 bisa digunakan didalam program kita.
Cara yang lain yang lebih mudah untuk membuat objek menggunakan componen serialport pada IDE visual studio C# sbb:
Pada gambar di atas kita melihat object serialport1 telah dibuatkan otomatis dgn men drag and drop komponen(class) SerialPort.
jika ingin melihat atau kita ingin merubah nilai property dari object serialport1 klik kanan serialport1 ->klik properties
Contoh Program Sederhana C# yg menggunakan konsep OOP:
using System.IO.Ports
class Kirim_data_RS232 { static void Main() { ojek_COM1 = new SerialPort();//membuat objek dr Class SerialPort ojek_COM1.BaudRate="9600"; // mengisi property ojek_COM1.Parity = Parity.none; //mengisi property ojek_COM1.Open(); //methode membuka Serial komunikasi ojek.WriteLine=("test data dikirim"); //methode mengirim data } }
Pada contoh diatas Class SerialPort sudah ada di dlm namespace System.IO.Ports jadi kita bisa langsung membuat objeknya saja yg kita beri nama “ojek_COM1”
karakteristik pemrograman berorientasi objek
Sebagai berikut fitur yang paling penting :
-Encapsulation. Kemampuan untuk menyembunyikan data dan instruksi dalam sebuah objek.
-Inheritance. Kemampuan untuk membuat satu objek dari objek yang lain.
-Polymorphism. Desain kelas baru ini didasarkan pada satu kelas.
-Message Passing. Ini adalah cara objek berkomunikasi satu sama lain.
-Garbage Collection. Manajemen memori otomatis, menghapus objek di memori objek yang tidak lagi digunakan oleh program.
Keuntungan
Sebagai berikut beberapa manfaat menggunakan pemrograman berorientasi objek:
RE-Usability. Anda dapat menulis sebuah program menggunakan kode yg sudah dibuat sebelumnya.
Kode Sharing. Anda dapat menstandarisasikan cara pembuatan pemrograman.
Rapid Modeling. Anda dapat membuat prototipe kelas dan interaksinya melalui sebuah diagram.
Kerugian
Sebagai berikut kelemahan menggunakan pemrograman berorientasi objek:
Ukuran. Lebih besar dari program lain, mengkonsumsi lebih banyak memori dan ruang disk.
setelah membaca artikel ini apakah anda sudah mengerti apa itu Class dan object?
tolong dijawab yah….
referensi: