Selasa, 01 April 2008

MEMBANGUN SISTEM KOMPUTASI TERDISTRIBUSI
DENGAN PEMROGRAMAN C++
Oleh:BLATOW

Abstrak
Pemrograman C++ untuk membangun aplikasi client
server tunggal salah satunya bisa dikembangkan
dengan memanfaatkan aplikasi socket. Tetapi lain
halnya untuk membangun aplikasi komputasi
terdistribusi yang memiliki server aplikasi yang
terpisah/terdistribusi secara fisik maupun secara
logik. Lebih berdaya lagi jika C++ bisa
dimanfaatkan untuk aplikasi terdistribusi ini. Pada
tulisan ini akan coba dirancang dan dikembangkan
pemrograman C++ untuk sistem terdistribusi yang
lebih kompleks. Agar C++ bisa diberdayakan untuk
membangun aplikasi terdistribusi maka terlebih
dahulu harus memilih sebuah framework yang
mendukung sistem terdistribusi. Diantara beberapa
framework yang bisa digunakan adalah diantaranya
framework terdistribusi berbasis CORBA (Common
Object Request Broker Architectur). Dalam
Arsitektur CORBA, ada bahasa-bahasa
pemrograman yang bisa digunakan untuk
mengembangkan aplikasi terdistribusi adalah
diantaranya: Java, C++, Delphi, dan Phyton. Untuk
bahasa C++ programmer bisa memanfaatkan
compiler yang memiliki dukungan untuk CORBA.
Compiler yang akan digunakan adalah MICO-C++
dari Mico.org. Compiler ini free dan akan dicoba
untuk dimanfaatkan untuk memberdayakan C++
untuk aplikasi terdistribusi.
Kata kunci : CORBA, C++, Pemrograman
Terdistribusi, Mico
Sistem Komputasi Terdistribusi
Pada sistem client-server dengan server tunggal,
server akan memiliki beban yang semakin berat jika
semakin banyak aplikasi yang ada di server dan
semakin banyak client yang me-request aplikasiaplikasi
tersebut. Salah satu solusi untuk bisa
mengatasi masalah tersebut adalah dengan
memanfaatkan sistem komputasi terdistribusi. Dalam
sistem ini, aplikasi-aplikasi akan didistribusikan
secara fisik maupun logik. Secara fisik, aplikasi akan
didistribusikan ke beberapa mesin, sehingga server
akan merupakan sebuah kesatuan yang terdiri dari
beberapa mesin. Salah satu deskripsi sederhana untuk
menjelaskan sistem terdistribusi ini adalah sistem
layanan nasabah di sebuah bank. Teler ibarat sebuah
server yang digunakan untuk melayani berbagai
macam transaksi, seperti stor tabungan, transfer, dan
pengambilan tabungan. Transaksi-transaksi itu bisa
dianggap sebagai aplikasi-aplikasi yang bisa
dilakukan oleh sebuah server. Jika nasabah yang antri
untuk dilayani semakin banyak sementara teler hanya
satu orang, maka beban teler akan berat, antrian akan
sangat lama untuk bisa dilayani semua. Solusinya
adalah dengan menambah beberapa teler, sehingga
antrian bisa didistribusikan ke beberapa teler itu.
Dalam konteks sistem terdistribusi secara logik,
sistem akan dibagi-bagi berdasarkan aplikasi logik,
sistem model ini tidak memandang apakah setiap
aplikasi itu berada di mesin yang sama atau berbeda.
Untuk membangun aplikasi komputasi terdistribusi,
maka memerlukan framework yang bisa mendukung
integrasi dari beberapa aplikasi. Salah satu
framework yang digunakan (dan yang akan dipakai)
dalam tulisan ini adalah arsitektur CORBA (Common
Object Request Broker Architecture).
Arsitektur CORBA
CORBA pertama kali dikembangkan oleh OMG
(Object Management Group), yaitu sebuah
konsorsium dari beberapa perusahaan software besar,
seperti SUN Microsystem, IBM dan termasuk
Microsoft, walaupun kemudian Microsoft membuat
sebuah arsitektur sendiri yang diberi nama DCOM
(Dynamic Common Object Model).
Awalnya ada belasan perusahaan, tetapi sekarang ada
sekitar lebih dari 800 vendor yang mendukung
arsitektur CORBA ini.
Salah satu isu dikembangkannya arsitektur CORBA
adalah sistem terdistribusi yang bisa didukung oleh
banyak platform pemrograman, dan oleh banyak
vendor perusahaan software. CORBA ingin
mewujudkan bahwa beberapa vendor software
maupun platform yang berbeda tetapi antara satu
dengan lainnya diharapkan bisa salah melakukan
interoperasi. Beberapa isu yang lain yang dialamati
CORBA adalah :
- orientasi objek, aplikasi CORBA dibangun oleh
objek-objek
- independensi hardware, sistem operasi
- transparansi distribusi
CORBA terdiri dari empat komponen utama, yaitu
ORB (Object Request Broker) yang merupakan jalan
raya objek-objek untuk bisa saling berkomunikasi,
COS (Common Object Services) yang merupakan
layanan-layanan yang bisa dipakai untuk komunikasi
antar objek tersebut, CORBA Facilities yang
merupakan fasilitas-fasilitas yang bisa digunakan
oleh objek-objek yang dibangun, dan Object
Application yang merupakan objek-objek yang instan
untuk dapat langsung digunakan oleh programmer.
Empat komponen tersebut ada ditataran konsep,
sedangkan untuk membangun aplikasi real berbasis
CORBA yang dibutuhkan adalah sebuah komponen
yang disebut IDL (Interface Definition Language).
Membangun Sistem Komputasi Terdistribusi dengan Pemrograman C++ (Maman Somantri)
27
IDL (Interface Definition Language)
IDL adalah bukan bahasa pemrograman. IDL hanya
bahasa untuk mendeklarasikan atau mendefinisikan
interface-interface yang akan digunakan. IDL adalah
bagian paling utama yang harus dikembangkan ketika
pertama kali akan mengembankan sistem komputasi
terdistribusi berbasis CORBA.
Dalam IDL hanya menyebutkan interface yang akan
dijadikan layanan (what), tidak menjelaskan
bagaimana detail layanan itu (How). Script IDL
memang mirip script bahasa C, tetapi bukan bahasa
C. IDL ini akan dikompilasi dengan IDL Compiler
yang dimiliki setiap software ORB. Jika yang akan
digunakan untuk membangun sistem terdistribusi
adalah bahasa Java maka IDL Compiler akan mengenerate
class-class bahasa Java. Begitu pula jika
untuk bahasa C++. IDL Compiler yang mendukung
bahasa C++ adalah MICO-C++ dari Mico.org. MICO
ini akan men-generate class C++ yaitu *.h dan *.cc.
Maka untuk bisa membangun aplikasi berbasis
framework CORBA, seorang programmer harus
mengetahui terlebih dahulu konsep pemrograman
IDL.
Teknik Pemrograman C++ Terdistribusi
Langkah-langkah teknis pemrograman C++ dengan
menggunakan Compiler MICO-C++ adalah sebagai
berikut:
- membuat file IDL dan mengkompilasi file
tersebut.
- Membangun aplikasi server.
- Membangun aplikasi client
- Mengkompilasi file-file aplikasi server dan client
yang sudah dibuat itu.
Selain langkah-langkah diatas beberapa konsep
pemrograman yang penting untuk membangun
aplikasi CORBA adalah pemrograman IDL (interface
definition language). IDL ini sangat penting dan
pertama kali yang harus dipersiapkan pada saat mulai
pengembangan program.
Hal sangat penting dan perlu diperhatikan dalam
konsep pemrograman distribusi berbasis CORBA
adalah CORBA memisahkan interface dan
implementasi dalam modul terpisah. Berbeda dengan
konsep Remote Method Invocation (RMI) yang
dimiliki Java Teknologi. RMI menggabungkan
interface dengan implementasi.
Implementasi Pemrograman C++ Untuk
Komputasi Terdistribusi
a. Analisa Kebutuhan sistem
Sebelum melangkah ke implementasi sistem
beberapa perangkat lunak yang perlu dipersiapkan
adalah :
- Compiler C++, karena sistem akan
dikembangkan dibawah sistem operasi Linux,
salah satu yang ada di paket linux untuk
compiler C++ adalah g++.
- Perangkat lunak ORB C++ yang akan digunakan
yaitu MICO-C++ yang bisa didownload secara
gratis dari mico.org. Kemudian diinstalasi di
sistem operasi linux. Untuk pengujian client
server dengan 2 komputer atau lebih maka
MICO-C++ ini harus diinstalasi pada semua
komputer yang akan digunakan. MICO-C++
yang digunakan adalah versi 2.3.11 yang sangat
selaras dan mendukung CORBA spesifikasi 2.3.
- Implementasi yang akan dipakai untuk uji coba
program adalah aplikasi perbankan. Dalam
aplikasi ini ada beberapa layanan diantaranya
withdraw, balance dan deposit.
b. Pemrograman MICO-C++
Sesuai dengan analisa kebutuhan sistem diatas maka
aplikasi yang akan dipakai adalah bank account.
Bank account menawarkan 3 layanan, withdraw yaitu
pengambilan sejumlah uang, deposit yaitu
menyimpan sejumlah uang, dan balance yaitu
aplikasi bank untuk menghitung jumlah uang yang
ada.
Langkah pertama adalah membuat file IDL. Untuk
aplikasi bank account ini maka file IDLnya adalah
sebagai berikut:
interface Account {
void deposit (in unsigned
long amount);
void withdraw(in unsigned
long amount);
long balance();
};
kita dapat melihat bahwa aplikasi bank account ini
memiliki 3 layanan deposit dan withdraw dengan
nilai input amount, dan layanan balance. File IDL ini
disimpan dengan nama file account.idl dan kemudian
dikompilasi dengan compiler IDL yang ada didalam
MICO-C++. Kompilasi yang dilakukan adalah
sebagai berikut:
c/>idl --boa –nopoa account.idl
hasil kompilasi file tersebut akan men-generate file
account.h dan account.c. Dalam file-file itu memuat
deklarasi class sebagai dasar class untuk
implementasi objek account. Untuk setiap
layanan/interface yang dideklarasikan di file idl maka
IDL Compiler akan men-generate sebuah C++ class.
Untuk lebih jelas bagaimana aplikasi MICO ini
dibangun, maka dapat diperhatikan gambar berikut :
Transmisi, Vol. 9, No . 1, Juni 2005 : 26 – 30
28
Gambar pembuatan implementasi MICO
Langkah berikutnya adalah membangun aplikasi
client dan server. Agar client bisa memanggil aplikasi
server maka client harus tahu identitas server yang
akan dipanggil. Kalau dalam jaringan komputer kita
mengenal IP Address untuk mengalamati sebuah host
dalam sebuah jaringan, dalam CORBA pengalamatan
ini bisa menggunakan sebuah layanan yang
disediakan oleh CORBA Common Object Services.
Layanan untuk pengalamatan ini adalah Naming
Service (layanan penamaan). Naming Service ini
akan memberi sebuah ID (identitas) sesuai dengan
format CORBA. Salah satu metode agar programmer
tahu seperti apa pengalamatan yang dilakukan oleh
CORBA adalah Stringification. Stringification ini
mengubah alamat objek (yang akan dipanggil) ke
bentuk string, kemudian disisi client string ini akan di
konversi lagi oleh CORBA ke format aslinya. Dalam
implementasi pemrograman method ini dilakukan
dengan cara memanggil string_to_object dan
object_to_string.
Untuk ap likasi server maka program bank account ini
bisa ditulis sebagai berikut:
// file account_server.cc
#include
#include
#include “account.h”
class Account_app : virtual public
Account_skel
{
//Definisi implementasi Account
Account::Account()
{
_current_balance = 0;
}
void Account::deposit(unsigned long
amount)
{
_current_balance += amount;
}
void Account::withdraw(unsigned long
amount)
{
_current_balance -= amount;
}
long Account::balance ()
{
return _current_balance;
}
int main(int argc, char *argv[])
{
// inisialisasi ORB
CORBA::ORB_var orb = CORBA::init (argc,
argv, “mico-local -orb”);
//inisialisasi ORB
CORBA::BOA_var boa = orb->BOA_init
(argc, argv, “mico-local-boa”);
//Inisialisasi Object adapter
Account_app* server = new
Account_app;
//objek server
CORBA::String_var ref=orb-
>object_to_string (server);
//panggil method stringification
//untuk memberi ID ke objek server
ofstream out(“/home/maman/tmp/
account.objid”);
//simpan di direktori
out << ref << endl;
//tampilkan refensi objek ID
out.close();
boa->impl_is_ready
(CORBA::ImplementationDef::nil());
//menginisialisasi object adapter
orb->run;
//running ORB untuk memposisikan
//server menjadi posisi
//mendengarkan panggilan
//dari client
CORBA::release(server);
//melepaskan panggilan jika sudah
// selesai
return 0;
}
sedangkan untuk aplikasi client harus dibuat sebuah
program yang memanggil ID server dan memanggil
aplikasi yang ada di server .
//file account_client.cc
#include
#include
#include “account.h”
int main(int argc, char *argv[])
{ //main method
CORBA::ORB_var orb = CORBA::init (argc,
argv, “mico-local -orb”);
//inisialisasi ORB
CORBA::BOA_var boa = orb->BOA_init
(argc, argv, “mico-local-boa”);
//inisialisasi objek adapter
ifstream in
Server
client
account.c
account.h
server.cc
account.id
client.cc
Membangun Sistem Komputasi Terdistribusi dengan Pemrograman C++ (Maman Somantri)
29
(“/home/maman/tmp/account.objid”);
char_ref[1000];
in >> ref;
in.close();
//membaca file objek ID yang masih
//dalam bentuk string
CORBA::Object_var obj =
orb->string_to_object (ref);
//menkonversi string ke objek ID
Account_var client =
Account::_narrow(obj);
//objek client
client->deposit (1000);
client->withdraw (500);
cout << “Balance is “ <<
client->balance() << endl;
//memanggil aplikasi sambil memberi
//nilai untuk diproses
return 0;
}
Langkah berikutnya adalah mengkompilasi program
server dan client yang sudah dibuat menjadi objek
(.o). Untuk mengkompilasi dengan menggunakan
MICO-Compiler maka digunakan perintah berikut:
mico-c++ -I. –c account_server.cc –o
account_server.o
mico-c++ -I. –c account_client.cc –o
account_client.o
mico-c++ -I. –c account.cc –o account.o
objek-objek yang sudah dibuat kemudian dikompilasi
lagi untuk membuat sebuah program yang bisa
dieksekusi. Perintahnnya adalah:
mico-ld –o server account_server.o
account.o –lmico2.3.11
mico-ld –o client account_client.o
account.o –lmico2.3.11
Pengujian
Setelah semua class yang di-generate oleh Compiler
IDL di kompilasi, aplikasi server dan client juga
didevelop dengan acuan kerangka dari class-class
yang sudah ada, langkah berikutnya adalah running
program dan pengujian program. Program yang
harus pertama kali dijalankan adalah class Server,
berikutnya baru dari sisi client dijalankan aplikasi
client. Untuk pengujian ini hal yang pertama kali
harus di perhatikan adalah koneksi dari client ke
server, dalam hal ini kemampuan untuk sebuah objek
koneksi ke objek lain dan mampu melakukan
interoperasi, atau dalam istilah lain disebut
interoperabilitas. Interoperabilitas adalah kemampuan
antara 2 sistem atau lebih untuk bisa saling bertukar
informasi dan menggunakan informasi tersebut.
Menjalankan Server
Server bisa dijalankan dengan memanggil class
aplikasi server sesuai dengan perintah berikut:
server
Menjalankan Client
Client bisa dijalankan dengan memanggil class
aplikasi client dengan perintah sebagai berikut:
client
Aplikasi client bisa dilakukan di sebuah komputer
yang sama dengan server atau di mesin komputer
yang berbeda.
Respon dari hasil setelah client dijalankan adalah
sebagai berikut:
Balance is 500
Sedangkan jika server dimatikan respon yang muncul
adalah sebagai berikut:
Analisa dan Pembahasan
Dengan menggunakan IDL Compiler milik MICO
maka secara otomatis file idl, yang memuat deklarasi
interface-interface yang akan digunakan, akan
membangkitkan class -class dasar yang akan
digunakan untuk hubungan client/server. Programmer
tidak perlu sulit untuk memikirkan class-class apa
yang harus dibuat untuk antarmuka dan bagaimana
menghubungkan client/server dengan memanfaatkan
antarmuka yang ada. Yang perlu dilakukan hanya
mendeklarasikan interface ke dalam file idl,
kemudian di kompilasi.
File-file yang digenerate oleh compiler MICO IDL
secara otomatis akan memisahkan client dan server.
Bagian client ini kemudian disebut client stub, dan
bagian untuk server disebut server skeleton, kedua
bagian ini merupakan ker angka yang akan digukan
arsitektur CORBA untuk bisa mengintegrasikan
semua objek yang dikembangkan.
Pemrograman C++ memang cukup powerful untuk
aplikasi client/server terdistribusi, namun disisi client
interfacenya sederhana. Untuk bisa membangun
aplikasi berbasis web maka disisi client harus
menggunakan bahasa pemrograman yang mendukung
untuk aplikasi web. Misalnya Java dengan teknologi
JSP dan Servletnya bisa digunakan untuk
membangun aplikasi berbasis web. Dan disisi server
tetap bisa menggunakan C++ untuk aplikasinya. Hal
ini bisa dilakukan dengan menggunakan CORBA.
Daftar Pustaka
---, Mico Documentaion, http://mico.org
D. Allen, 1996, CORBA Technology for Cross -
domain Interoperability in Embedded Military
Systems, and Issues in Its Use, Proceeding of
WORDS ’96 Second Workshop, pp. 173-178.
S. Baker, Addison Wesley, November 1997, CORBA
Distributed Objects: Using Orbix.
Cetus Links, CORBA Links, http://www.cetus-links.org/oo_corba.html>.
Chris Exton, Damien Watkins and Dean Thompson,
Department of Software Development, Faculty
of Computing & Information Technology,
Transmisi, Vol. 9, No . 1, Juni 2005 : 26 – 30
30
Monash University Australia, 1997,
Comparisons between CORBA IDL &
COM/DCOM MIDL Interfaces for Distributed
Computing
Ivor Horton, Wrox Press Ltd., 2000, Beginning Java
2 – JDK 1.3 Edition.
T. Mowbray and T. Brando, 1993, Object Magazine,
Interoperability and CORBA – Based Open
System, pp. 50-54.
OMG Links, OMA Links http://www.omg.org/omaov>
OMG Links,
J. Siegel, John Wiley and Sons, April 1996, CORBA
Fundamental and Programming.
Suhail M. Ahmed, Sams Publishing, 1998, CORBA
Programming Unleashed.
Andrew S. Tanembaum, Maarten Van Steen, Prentice
Hall, 2002, Distributed System, Principles and
Paradigms.

bahasa c++

MENGENAL DUNIA KOMPUTER

4.5. Programming Language



Programming language atau bahasa program adalah suatu bahasa ataupun suatu tatacara yang dapat digunakan oleh manusia (programmer) untuk berkomunikasi secara langsung dengan komputer. Jenis programming language sangatlah banyak. Tetapi secara umum, pengertian programming language dapat dibagi menjadi dua, yaitu Low Level Language dan High Level Language.



Low level language adalah suatu bahasa program atau suatu tatacara yang dapat digunakan untuk berkomunikasi dengan komputer. Dalam hal ini tatacara yang digunakan masih ber-orientasi dengan mesin, dikarenakan itu low level langugae juga disebut sebagai bahasa mesin.



Untuk menggunakan bahasa ini, programmer harus menuliskan instruksi untuk setiap instruksi secara jelas dan teliti. Setiap program dan data yang ditulis, harus ditentukan pula address dimana data dan program akan disimpan. Programmer juga harus mengetahui lokasi setiap indikator ataupun register dan program untuk seluruh fungsinya.



Satu-satunya simbol yang tersedia untuk mengkomunikasikan tindakan yang dilakukan dan meng-identifikasikan data adalah 0 dan 1. Instruksi yang ada harus ditulis dalam urutan dan aturan dimana mereka harus ditmapilkan. Oleh karena itu, apabila salah satu instruksi hilang karena terjadi kesalahan/kekuarang telitian, seluruh instruksi harus dire-alokasi-kan untuk membuat ruang guna menambahkan instruksi tersebut, dan ini berarti pengubahan lokasi data.



Untuk mengatasi kesulitan tersebut, bahasa mesin kemudian dikembangkan menjadi assembly language. Dengan adanya pengembangan ini, dimungkinkan untuk menuliskan program dengan menggunakan kode instruksi dan label yang mewakili lokasi penyimpanan dengan syarat komputer memiliki sarana untuk menterjemahkan kedalam bahasa mesin.



Bahasa ini disebut sebagai assembly language dan program untuk menterjemahkannya kedalam kode mesin disebut sebagai asembler. Pada umumnya terdapat hubungan satu untuk satu antara masing-masing instruksi bahasa assembly dengan instruksi kode mesin. Gambar disamping menunjukkan versi asembly dari kode mesin.



Program yang ditulis oleh programmer dalam bahasa assembly disebut sebagai source program Jika program ini kemudian diubah kedalam bahasa mesin, disebut sebagai object program. Dengan adanya bahasa assembly ini, programmer tidak perlu meng-alokasikan address secara khusus, dan ia cukup memberikan nama atau label serta menginduksikan ukuran dan format yang diperlukan. Assembler kemudian bertanggung jawab atas pengalokasian dan penyimpanan.



Dengan menggunakan nama-nama simbolik untuk data dan kode-kode pengoperasian, tugas programmer dibuat lebih mudah dari pada menggunakan kode numeric bahasa mesin. Alokasi penyimpanan oleh assembler juga memungkinkan progremmer membuat perubahan-perubahan, penambahan dan penghilangan instruksi cenderung lebih mudah dan cenderung membuat kesalahan yang lebih kecil. Karena masih berhubungan dengan bahasa mesin, assembly sangat efisien dalam penggunaan fasilitas mesin.



Bahasa assembly adalah low level language, yakni lebih dekat dengan kode mesin dari pada bahasa yang digunakan oleh manusia dalam kehidupan sehari-hari. Karena masih berorientasi mesin, membutuhkan programmmer yang memiliki pengetahuan mesin secara baik. Transfer program bahasa mesin kemesin untuk type berbeda sering sulit dan dalam beberapa kasus tidak mungkin. Programmer masih harus mempelajari bahasa assembly untuk mesin yang berbeda.



High level language merupakan suatu bahasa program atau suatu tata cara yang dapat digunakan untuk memberi perintah/instruksi kepada komputer. Tata cara yang ada sangat mirip dengan tata cara yang digunakan oleh manusia dalam berkomunikasi. Dengan demikian, high level language lebih mudah untuk dipelajari. Semua kalimat, kata ataupun aturan yang ada didalam high level language, juga merupakan kalimat ataupun kata ataupun aturan yang digunakan dalam kehidupan sehari-hari.



Karena jangkauan pemakai komputer adalah international, maka aturan ataupun kalimat ataupun kata-kata dasar yang digunakan pada high level language, kemudian disesuaikan dengan aturan-aturan dan kalimat yang ada dalam bahasa Inggris.



Jenis high level language cukup banyak, seperti misalnya BASIC, COBOL, FORTRAN dan lain sebagainya. Sama halnya dengan tatacara yang terdapat dalam bahasa assembly, penulisan program dalam high level language juga harus diterjemahkan kedalam bahasa mesin sebelum proses dilakukan. Program penterjemah disebuh compiler atau interpreter.



Setiap bahasa didalam high level language mempunyai aturan dan tata cara sendiri-sendiri, demikian pula halnya dengan compiler ataupun interpreter yang ada. Hal ini juga bisa disamakan dengan bahasa yang digunakan oleh manusia, dimana antara satu bahasa dan bahasa lainnya tidaklah sama, dan semuanya memiliki aturan dan tatacara sendiri-sendiri.



Untuk bahasa BASIC misalnya, susunan programnya selalu terdiri atas tiga hal, yaitu line number, keyword dan body program. Dalam hal ini BASIC merupakan singkatan dari Beginners All-purpose Symbolic Instruction Code. Basic menjadi sangat populer karena dapat dibuat dengan cara yang ber-struktur ataupun tidak, disamping itu, BASIC memiliki versi interpreter dan versi compiler.



BASIC menjadi populer seiring dengan hadirnya microcomputer, yaitu pada akhir 70-an. Demikian populernya BASIC, sehingga banyak pabrik komputer PC pada saat itu yang membuat BASIC dalam versi ROM (Read Only Memory) disamping versi interpreter ataupun compiler. Sehingga pada saat komputer dinyalakan, komputer tersebut langsung siap menjalankan BASIC. Belum ada satu bahasa selain BASIC yang dibuat dalam pelbagai versi.



Selain keunggulan-keunggulan tersebut, BASIC juga sangat cocok digunakan untuk pemula ataupun bagi programmer senior. BASIC juga cocok untuk menyelesaikan masalah-masalah yang berkaitan dengan bisnis ataupun persoalan scientific. Dengan adanya line number yang dimilinya, BASIC akan memproses program dari urutan yang kecil menuju keline number yang besar. Tetapi dengan adanya instruksi GOTO, proses ini bisa dibelokkan keurutan lainnya.



Bahasa berikutnya adalah COBOL yang merupakan singkatan dari Common Business Oriented Language. Bahasa ini terbagi menjadi empat divisi, yaitu Identification Division, Environtment Devision, Data Devision dan Prosedure Devision. Susunan bahasa ini sangat rapi dan teliti sehingga menyerupai tulisan seorang manajer pada saat membuat laporan ataupun seorang pengarang sedang membuat buku



Pada tahun 1959, CODASYL (Conference on Data System Language) didirikan dengan anggota yang terdiri dari wakil-wakil pemakai komputer dan pabrik. Dua tahun kemudian, spesifikasi pertama dihasilkan dengan nama COBOL. Akhirnya COBOL menjadi bahasa pemrograman yang digunakan paling luas dalam aplikasi komersial ataupun bisnis. Lebih dari 40% instalasi komputer didunia masih menggunakan COBOL.



COBOL juga bisa dianggap sebagai suatu bahasa yang menggunakan sistem dokumentasi yang rapi dan teliti seperti halnya bahasa Inggris. Dengan adanya hal ini, pemakai menjadi mudah untuk membaca dan mengerti, dan programmer juga menjadi mudah untuk melakukan debug atau pemeriksaan program. Persoalan bisnis selalu memerlukan adanya data dalam jumlah yang besar, serta kecepatan untuk memprosesnya. COBOL menjawab dengan instruksi-instruksi yang sederhana dan mudah dimengerti.



PASCAL Programming Language juga merupakan suatu bahasa, dimana nama yang ada diambil dari nama seorang ilmuawan Perancis yang sangat terkenal, yaitu Blaise Pascal. Bahasa ini tersusun dengan pola struktur yang mengalir dari atas kebawah. Disamping itu, sebuah program yang besar dapat dipecah-pecah dalam beberapa modul program yang lebih kecil. Dengan demikian, bahasa ini dapat mendorong seorang programmer untuk melihat sebuah persoalan secara logic.



Konsep pemrograman secara modular (suatu program yang dibagi dalam beberapa bentuk modul) yang sangat menarik diperkenalkan oleh Turbo Pascal mulai versi 4.0. Modul ini dikenal dengan unit (Turbo Pascal UNIT/TPU). Dengan menggunakan unit, suatu modul bagian dari program dapat dikompilasi secara terpisah terhadap program utama, sehingga hasil compilasi program utama tidak terlalu besar. Dengan demikian apabila program dijalankan, tidak memerlukan memory yang terlalu besar.



Dengan adanya pola program yang terstruktur (structured programming) yang juga merupakan salah satu rancangan teknik, maka bentuk program PASCAL menjadi standart sehingga mudah untuk melakukan pelacakan arah program ataupun saat diperlukan perbaikan. PASCAL menggunakan instruksi IF-THEN-ELSE dan DO-WHILE untuk mengontrol struktur dari program yang dimilikinya.



dBASE Programming merupakan salah satu high level languge yang telah dikembangkan sedemikian rupa secara specifik untuk microcomputer, sehingga memungkinkan adanya penggunaan software secara minimum, tetapi pemakai dapat dengan mudah dan cepat dapat menentukan, membangun dan kemudian meng-access (memanggil kembali) file-file yang mereka miliki.



Dengan adanya hal ini, pemakai dapat dengan mudah mengolah dan membuat laporan dari file mereka sendiri secara interaktif melalui keyboard dan layar monitor ataupun printer. dBase juga menawarkan suatu penulisan dan penyimpanan urutan-urutan tindakan, dan mengulanginya jika diperlukan. Dengan kata lain, dBase adalah bahasa yang diinterpetasikan dan menghasilkan kode intermediate.



Para pengguna komputer berbasis Windows, kini menggunakan bahasa pemrograman berbasis objek Bahasa pemrograman yang ditawarkan dengan banyak kemudahan ini, menggunakan kosa kata yang cantik, yakni Visual, sehingga kita mengenal adanya Delphi milik Borland, Visual C++, Visual Basic, atau Oracle, PowerBuilder, Visual dBase, Visual Foxpro, untuk aplikasi database.



Visual Basic dari Microsoft Corporation, merupakan bahasa pemrograman yang secara cepat dan mudah dapat digunakan untuk membuat aplikasi pada Microsoft Windows.



Kata "Visual" yang ada, menunjukkan cara yang digunakan untuk membuat graphical user interface (GUI). Dengan cara ini kita tidak lagi memerlukan penulisan instruksi pemrograman dalam kode-kode baris, tetapi dengan secara mudah kita dapat melakukan drag dan drop objek-objek yang akan kita gunakan.



Kata "Basic" merupakan bagian bahasa BASIC (Beginners All-purpose Symbolic Instruction Code), yaitu sebuah bahasa pemrograman yang dalam sejarahnya sudah banyak digunakan oleh para programmer untuk menyusun aplikasi. Visual Basic dikembangkan dari bahasa pemrograman BASIC dan sekarang banyak berisi statemen, fungsi, dan keyword, yang beberapa diantaranya terhubung ke Windows GUI. Versi terbaru program ini menggunakan nomor versi 6.0



Guna menyusun sebuah aplikasi, kita hanya membutuhkan beberapa menit saja. Dengan membuat user interface melalui kontrol "drawing", seperti halnya text box dan command button, dalam sebuah form. Selanjutnya kita dapat mengatur properti untuk form dan kontrol yang ada di dalamnya. Misalnya memberi nilai caption, color, dan size. Untuk proses terakhir, kita dapat menuliskan kode untuk memasukkannya ke dalam sebuah aplikasi.



Jika kita sudah mengetahui urutan proses pembuatan aplikasi diatas, hal ini akan membantu untuk mengetahui konsep di mana Visual Basic membangun sebuah aplikasi. Karena Visual Basic merupakan bahasa pemrograman Windows, yang telah lama "bersahabat" dengan para pemakainya dan banyak menyediakan fasilitas yang dibutuhkan penggemarnya, hal ini akan memudahkan programmer versi BASIC. Jika kita seorang programmer Windows baru, masih memerlukan pemahaman yang mendasar dari sebuah program.



Visual Basic 6.0 dapat digunakan dalam tiga edisi, dimana setiap edisinya menunjukkan fasilitas dan kemampuan sendiri-sendiri.
o Edisi Learning

Di dalam edisi ini para programmer diberi kesempatan untuk membuat sebuah aplikasi sederhana Microsoft Windows dan Windows NT secara mudah. Di dalamnya disertakan beberapa kontrol sederhana, ditambah grid, tab, dan kontrol data-bound.



o Edisi Professional

Di dalam edisi ini disertakan tool-tool yang lengkap. Di samping berisi semua fasilitas yang ada dalam edisi Learning, juga ditambah kontrol ActiveX, Desainer Aplikasi Informasi Internet, Integrated data Tools dan Data Environment, Active Data Objects, serta Dynamic HTML Page Designer.



o Edisi Enterprise

ini memberikan ijin kepada para profesional untuk membuat aplikasi dalam sebuah tim. di dalamnya dimasukkan semua fasilitas yang ada pada edisi Professional, ditambah tool Back Office seperti SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, dan masih banyak yang lainnya.



Keuntungan Menggunakan Visual Basic
Produk-produk Microsoft lainnya seperti Microsoft Word, Excel, ataupun Access, menyediakan fasilitas untuk mengoptimalkan kegiatan melalui fasilitas makro. Jika kita perhatikan, makro merupakan pemrograman yang dikhususkan untuk program aplikasi tersebut. Sintaks bahasa Basic juga digunakan dalam pemrograman ini atau disebut dengan Visual Basic for Application (VBA). Dengan demikian, jika kita telah mengenal Visual Basic, kita akan dengan mudah untuk melakukan pemrograman menggunakan aplikasi-aplikasi ini.

Dengan semakin banyaknya orang yang menggunakan Internet, peluang memanfaatkan Internet untuk tujuan bisnis sudah merupakan hal yang tidak terelakkan lagi . Untuk mengantisipasi hal ini, Microsoft juga telah merencanakan untuk mengembangkan pemrograman khusus Internet yang menggunakan bahasa Visual Basic yang disebut dengan Visual Basic Script.



Visual Foxpro 6.0 merupakan versi terbaru dari generasi FoxPro. FoxPro sendiri merupakan perangkat lunak yang tidak hanya terbatas untuk membangun aplikasi berbasis database, melainkan juga bisa digunakan untuk berbagai macam keperluan seperti membuat label surat misalnya.



Visual FoxPro 6.0 datang bersama produk-produk Microsoft lain dalam paket Visual Studio 6.0, seperti Visual Basic, Visual C++, dan lainnya. Dalam versi terbarunya ini, Visual FoxPro mempunyai banyak sekali fasilitas-fasilitas baru yang tidak akan kita dapatkan pada versi sebelumnya.



FoxPro adalah sebuah Sistem Manajemen Database (Database Management System/ DBMS) elektronik, yang membantu kita untuk mengumpulkan, mengambil dan menampilkan data. Sedangkan Visual Foxpro sendiri adalah bahasa pemrograman visual yang berorientasi pada obyek dan juga sebagai Sistem Manajemen Database Relasional (RDBMS). Visual FoxPro mempunyai beberapa kelebihan yang tidak dipunyai oleh bahasa pemrograman lain.



Beberapa fasilitas baru yang dimiliki oleh Visual FoxPro versi 6.0 adalah:
o Access dan Assign Methods

Metode ini digunakan untuk mengeksekusi kode ketika nilai sebuah properti diquerikan atau ketika kita berniat mengubah nilai properti. Keuntungannya adalah kita dapat membuat sebuah interface publik untuk sebuah class atau objek yang memisahkan interface dari implementasi. Keuntungan lainnya adalah, kita dapat dengan mudah meng-implementasikan validasi properti dan juga dapat melindungi properti dalam kontrol ActiveX yang di-subclass-kan.



o Active Document

Sebuah Active Document adalah sebuah Windows-based, aplikasi non-HTML yang diletakkan pada sebuah browser. Active Document menyediakan sebuah cara untuk fungsionaliti sebuah aplikasi yang dapat diakses melalui interface browser. Aplikasi Active Document Visual FoxPro sama seperti aplikasi Visual FoxPro lain yang dapat kita jalankan, seperti form, laporan dan label, peng-kelas-an siap pakai, dan memanipulasi data, tetapi juga ditambahkan keuntungan lain dalam container Active Document, seperti Internet Explorer.


o Component Gallery

Component Gallery adalah tool baru yang membantu untuk mengumpulkan dan mengorganisasikan objek seperti librari class, form, button, dan lain-lain ke dalam objek, proyek, aplikasi atau group lainnya. Tool ini sangat dinamik sehingga kita dapat menggunakan, menggadakan atau mengatur kembali komponen antara beberapa klasifikasi dengan Componen Gallery. Component Gallery juga mengandung class pembentuk Visual FoxPro baru yang menyediakan fungsi "right-out-of-the-box".


o Aplikasi Coverage Profiler

Aplikasi Pengulas (Coverage) menulis informasi tentang baris kode mana dalam sebuah file yang kita jalankan. Aplikasi Penampang (Profiler) menyediakan informasi tentang baris mana yang dijalankan, berapa lama, durasi, dan lain sebagainya. Pengulas dan Penampang digunakan untuk mengidentifikasi area masalah dalam sebuah aplikasi, terutama kode yang terlewat dan performansi "leher botol". Visual FoxPro Coverage Profiler juga menyediakan sebuah mesin Coverage yang dapat digunakan menurut keinginan, dan sebuah aplikasi multi jendela yang dapat digunakan untuk menganalisa program dan proyek.


o GIF dan JPEG

Untuk lebih jauh mendukung kemampuan operasi antar Internet, Visual FoxPro ditingkatkan untuk mendukung format file grafis GIF (Graphics Interchange Format) dan JPEG (Joint Photographic Electronic Group).



o HTML Help

HTML Help adalah solusi Microsoft untuk membawa isi Help ke dunia Internet. Visual Studio datang dengan HTML Help Workshop sehingga Anda dapat membuat dan mendistribusikan file HTML Help dengan aplikasi Visual FoxPro.



o Elemen-elemen bahasa baru

Bahasa Visual FoxPro ditingkatkan untuk menyederhanakan tugas pemrogram. Dan juga, banyak fungsi manipulasi nama file yang tersedia dalam Foxtools.fll, perpustakaan Visual FoxPro, telah ditambahkan pada Visual foxPro.



o OLE Drag & Drop

Visual FoxPro sekarang mendukung OLE (Object Linking & Embedded) drag-and-drop, sebuah tool yang canggih dan berguna untuk memindahkan data ke aplikasi lain yeng mendukung OLE drag-and-drop (seperti Visual Basic, Windows Explorer, Microsoft Excel dan Word). Dalam pendistribusian aplikasi Visual FoxPro, Anda dapat memindahkan data antara kontrol dalam aplikasi, atau antara kontrol dan aplikasi Windows lain yang mendukung OLE drag-and-drop.


o Automation Server

Visual FoxPro mengalami peningkatan yaitu pengotomatisan server yang bekerja baik dengan produk dan teknologi seperti Microsoft Visual Basic, Microsoft Transaction Server, dan Active Server Pages.


o Wizard dan Builder baru

Selain peningkatan beberapa wizard yang sudah ada, Visual FoxPro datang dengan wizard-wizard dan builder baru yang membantu dalam membangun aplikasi, membuat database, mempublikasikan data kita pada Web, membentuk pemodelan objek, dan membuat wizard sendiri.


o Dukungan Year 2000 Date

Beberapa bahasa tingkat tinggi telah ditambahkan pada Visual FoxPro untuk mendukung penanggalan Year 2000 dalam kode aplikasi



Visual C++ adalah bahasa pemrograman C++ versi Microsoft. Didasarkan pada bahasa C, C++ adalah versi pembaharuan dari C yang mengambil bahasa C ke evolusi bahasa pemrograman aras berikutnya - yang menyediakan pemrograman berorientasi objek.



Visual C++ adalah bahasa yang dikompilasi. Sebuah compiler C++ (bahasa pemrograman C++ yang merupakan bagian dari Visual C++ kita) mengambil instruksi-instruksi bahasa C++ dan menterjemahkannya ke dalam format yang dapat dibaca komputer. Kompiler C++ adalah perangkat yang digunakan komputer untuk memahami instruksi-instruksi bahasa C++ di dalam program Anda. Microsoft Visual C++ datang bersama editor miliknya dan lingkungan pemrograman terpadu yang membuat pemrograman menjadi mudah dikelola.



Setelah Anda menulis kode Visual C++, Anda menjalankannya melalui Visual C++, menghasilkan instruksi yang terkompilasi dengan benar dan menjalankan program tersebut.



Sebuah praprosesor membaca pengarah praprosesor program untuk mengontrol pengkompilasian. Perhatikan bahwa program Visual C++ Anda harus dilewatkan melalui praprosesor sebelum program dikompilasi. Praprosesor membaca simbol-simbol khusus di dalam kode yang disebut pengarah praprosesor yang Anda masukkan di dalam program, untuk mengontrol pengkompilasian program. Visual C++ dengan sendirinya membentuk langkah praprosesor, sehingga tidak perlu pemahaman tambahan bagi Anda selain meletakkan pengarah praprosesor ke dalam program-program Anda.



Program Anda harus melalui tahapan terakhir setelah pengkompilasian dan sebelum pengeksekusian. Tahapan ini disebut tahapan linking atau link editing. Pada saat program Anda di-link, program yang disebut linker memasok informasi yang diperlukan saat pengeksekusian ke program yang dikompilasi. Anda juga dapat menggabungkan beberapa program yang dikompilasi ke dalam sebuah program yang dapat dieksekusi dengan melakukan link.



Ide munculnya Delphi sebenarnya berasal dari bahasa pemrograman yang cukup terkenal, yaitu Pascal. Pada tahun 1992 Borland International menggabungkan Turbo Pascal for DOS dan Turbo Pascal For Windows menjadi satu paket bahasa pemrograman yang dikenal dengan nama Borland Pascal versi 7. Karena pemrograman Windows dengan Borland Pascal masih dirasa cukup sulit, maka sejak tahun 1993 Borland International mengembangkan bahasa Pascal yang bersifat Visual. Hasil dari pengembangan ini adalah dirilisnya Borland Delphi tahun 1995.



Sekitar satu tahun sesudahnya, yaitu tahun 1996, Borland International merilis Borland Delphi 2 yang dikhususkan untuk sistem operasi Windows 95 dan Windows NT. Sampai saat ini Borland telah merilis versi terbarunya yaitu Borland Delphi 6.



Borland Delphi 6 adalah lingkungan pengembang aplikasi cepat yang pertama untuk Windows yang mendukung penuh layanan Web. Dengan Delphi 6, pengembang kelompok atau individu dapat membentuk generasi berikutnya dari aplikasi e-business di Internet dengan cepat dan mudah.

MENGENAL DUNIA KOMPUTER


Blogspot Template by Isnaini Dot Com Powered by Blogger and Job Search