I Memakai C++ Builder
I.1 Pengantar
Borland C++Builder adalah sebuah software pengembangan yang menganut paradigma object-oriented
tidak murni masih ada campuran dengan paradigma prosedural, Contoh OOL murni yaitu Smalltalk Eiffel, dengan lingkungan pemrograman visual untuk pengembangan aplikasi yang cepat dalam sistem
operasi Microsoft Windows 95, 98, NT. Aplikasi yang dibangun menggunakan C++Builder, akan lebih efektif , coding yang minimum.
Cara yang terbaik agar familiar dengan C++ Builder adalah cobalah untuk memulainya. Cara menjalankan C++ Builder adalah sama dengan memulai aplikasi-aplikasi dalam platform Windows, yaitu
sebagai berikut :
Double-click icon C++Builder, jika sudah tersedia. Jika tidak ada icon maka Double-click file BCB.EXE yang berlokasi di dalam \Program Files\Borland\CBuilder\Bin standar instalation.
Dan seterusnya……………..
I.2 Dasar Penggunaan C++ Builder
Salah satu karakteristik sistem real-time adalah adanya proses – proses yang berjalan secara bersamaan yang berusaha untuk mengakses suatu resource pada suatu saat, disebut sebagai proses konkuren. Dalam
C++ Builder ada sebuah kelas TThread dalam vcl\class.hpp yang dapat dimanfaatkan untuk menciptakan suatu objek proses atau task dengan atribut dan method standar lihat Source Kelas TThread. Pada suatu
program, dapat diciptakan beberapa Task yang mempunyai fungsi atau tugas masing-masing. Oleh karena itu, untuk pembelajaran matakuliah Real-Time Programming digunakan C++ Builder dengan catatan aspek
waktu diabaikan, hanya mempelajari aspek konkurensi.
Source Kelas TThread
class __declspecdelphiclass TThread; class __declspecpascalimplementation TThread : public System::TObject
{ typedef System::TObject inherited;
private: int FHandle;
int FThreadID; bool FTerminated;
bool FSuspended; bool FMainThreadWaiting;
bool FFreeOnTerminate; bool FFinished;
int FReturnValue; TNotifyEvent FOnTerminate;
TThreadMethod FMethod; System::TObject FsynchronizeException;
void __fastcall CallOnTerminatevoid; TThreadPriority __fastcall GetPriorityvoid;
void __fastcall SetPriorityTThreadPriority Value; void __fastcall SetSuspendedbool Value;
protected: virtual void __fastcall DoTerminatevoid;
virtual void __fastcall Executevoid = 0; void __fastcall SynchronizeTThreadMethod Method;
__property int ReturnValue = {read=FReturnValue, write=FReturnValue, nodefault}; __property bool Terminated = {read=FTerminated, nodefault};
public: __fastcall TThreadbool CreateSuspended;
__fastcall virtual ~TThreadvoid; void __fastcall Resumevoid;
void __fastcall Suspendvoid; void __fastcall Terminatevoid;
int __fastcall WaitForvoid; __property bool FreeOnTerminate = {read=FFreeOnTerminate, write=FFreeOnTerminate,
nodefault}; __property int Handle = {read=FHandle, nodefault};
__property TThreadPriority Priority = {read=GetPriority, write=SetPriority, nodefault};
__property bool Suspended = {read=FSuspended, write=SetSuspended, nodefault}; __property int ThreadID = {read=FThreadID, nodefault};
__property TNotifyEvent OnTerminate = {read=FOnTerminate, write=FOnTerminate}; };
Praktikum Konkurensi Prodi Teknik Elektro Unsoed Acep TaryanaDec-2017 Halaman 1
II TASK
II.1 Task1