Contoh Pemrograman OOP

Contoh Pemrograman OOP

 Kali ini ane akan membahas tentang contoh-contoh sederhana program OOP (Object Oriented Programming), setidaknya mungkin hanya ini lah yang saya tahu ya, awalnya ane posting ini di blog pertama ane yaitu blog yang ane buat dg menggunakan wordpress kalau agan mau berkunjung, silahkan disana agan bisa mendapatkan hal yang lebih lengkap tentang OOP. kalau agan mau klik Di Sini.

Nah sekarang kita langsung aja kepokok pembahasannya ya gan, yaitu masalah contoh program OOP, dibawah ini sudah ada contoh sederhana dari program OOP, ya mungkin bisa membuat aganjadi termotivasi ingin belajar OOP lebih banyak lagi.
A.   Hello World
Berikut ini program Helo Dunia menggunakan Phobos

import std.stdio;
void main(char[][] args)
{
writefln(“Halo Dunia”);
}

Berikut ini program Hello World menggunakan Tango
import tango.io.Stdout;
void main(char[][] args)
{
Stdout(“Halo Dunia”).newline;
}

B. CHAR []
Berikut ini pengaksesan array of char, yang notabene merupakan String dalam bahasa kasarnya. Perhatikan bahwa ini tidak diperlukan apabila kita benar-benar ingin menggunakan D. Contoh ini hanya cara saya ingin menunjukkan kemudahan dalam D, dibandingkan Anda yang sudah pernah berurusan dengan char dan pointer

// saya hanya ingin menggunakan fungsi writefln di pustaka std.stdio milik phobos
import std.stdio: writefln;
/*
* I can’t found any of it function in phobos lib
*/
class MString
{
static public char [] midDex(char [] a, int indexA, int indexB)
{
return a[indexA .. (indexB+1)];
}
static public char [] mid(char [] a, int indexA, int dlength=0)
{
return a[indexA .. ((dlength>0)?indexA+dlength:a.length)];
}
static public char [] left(char [] a, int width)
{
return midDex(a, 0, width-1);
}
static public char [] right(char [] a, int width)
{
return midDex(a, (a.length – width), a.length-1);
}
}
/**
* perhatikan unittest, salah satu fungsionalitas dalam bahasa D. Yang bisa memberikan kepada kita
* kemampuan untuk melakukan testing terhadap salah satu bagian program yang kita miliki
*/
unittest
{
assert(MString.midDex(“0123456789″, 3, 6) == “3456″);
assert(MString.left(“0123456789″, 3) == “012″);
assert(MString.right(“0123456789″, 3) == “789″);
assert(MString.mid(“0123456789″, 3, 2) == “34″);
assert(MString.mid(“abcdefghijklmn”, 5, 3) == “fgh”);
assert(MString.mid(“abcdefghijklmn”, 5) == “fghijklmn”);
}
void main(char [][] args)
{
char [] a = MString.left(“Aku suka kamu D?”);
// perhatikan tanda ~ adalah concatenation
writefln(“Ini adalah isi dari a” ~ a ~ ” mudah kan :) “);
writefln(“Ini adalah isi dari %s mudah kan”, a); // bisa juga begini
char [] b = “Berpikirlah dengan mudah\n” ~ a ~ ” cobain ini”;
writefln(“Asyik kan: %s”, b);
}

C.   Thread
Berikut ini tentang pemrograman Thread yang menggunakan library Phobos. Skenarionya, ini merupakan pemrograman berbasis console, dimana seorang user bisa menghentikan proses yang sedang terjadi dengan menekan tombol q atau Q di keyboard. Proses yang sedang terjadi dijalankan melalui sebuah Thread dan proses menunggu juga dilakukan dalam Thread yang dipanggil dari sebuah Thread utama di fungsi main.

import std.thread;
import std.stdio;
import std.c.stdio;
import std.date;
// Thread proses utama ….
class mythread:Thread
{
private char [] d_name = “”;
private long d_nloop = 10;
private bool d_stop = false;
this(char [] name, long nloop)
{
super();
writefln(name ~ ” called”);
this.d_name = name;
this.d_nloop = nloop;
}
override public int run()
{
long i = 0;
for(i=0;(i<this.d_nloop && (!d_stop));i++)
{
//writefln(d_name ~ ” called again “);
}
if( d_stop )
writefln(d_name ~ ” stopped by user in ”
~ std.string.toString(i) ~ ” times of loop”);
else
writefln(d_name ~ ” Finished …” ~ std.string.toString(d_nloop));
return 0;
}
public void stopIt()
{
d_stop = true;
}
}
// thread untuk menunggu pengguna menekan q atau Q
class UserToStopAllThread: Thread
{
private bool d_stop = false;
this()
{
super();
}
override public int run()
{
while(!d_stop)
{
char ch = getch();
if(ch == ‘q’ || ch == ‘Q’)
break;
}
return 0;
}
public void stopIt()
{
d_stop = true;
}
}
 
// ini adalah Thread utama ….

void main(char [][] args)
{
int i = 0;
mythread a = new mythread(“A”, 9999999999999);
writefln(“Tekan q untuk menghentikan proses ….”);
UserToStopAllThread utsa = new UserToStopAllThread;
a.start();
utsa.start();
while(a.getState() == Thread.TS.RUNNING && utsa.getState() == Thread.TS.RUNNING)
{
// tunggu sampai a selesai atau user menekan tombol ‘Q’ or ‘q’
}
if(a.getState() == Thread.TS.RUNNING) a.stopIt(); // pastikan berhenti
if(utsa.getState() == Thread.TS.RUNNING) utsa.stopIt(); // pastikan berhenti
}

comment 0 komentar:

Posting Komentar

Jangan Lupa Di Comment ya Gan...!!

 
© MEDIA BELAJAR IT | Design by Blog template in collaboration with Concert Tickets, and Menopause symptoms
Powered by Blogger