Senin, 27 Juni 2011

Macam-macam bahasa pemograman

1. Bahasa Pemrograman HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.
HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan.
Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer.

2. Bahasa Pemrograman PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.
PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.
PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).

3. Bahasa Pemrograman ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft.
ASP bekerja pada web server dan merupakan server side scripting.

4. Bahasa Pemrograman XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data.
XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja.
XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.

5. Bahasa Pemrograman WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge).
WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless.
WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.

6. Bahasa Pemrograman PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC.
PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.

7. Bahasa Pemrograman CFM
Cfm dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio.
Syntax coldfusion berbasis html.

8. Bahasa Pemrograman Javascript
Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client.
JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape.
Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript.

9. Bahasa Pemrograman CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.
Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML.
Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL.
Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).

Rabu, 22 Juni 2011

Sejarah bahasa c,c++,dan pascal


1.      PENDAHULUAN
1.1. Sejarah Bahasa C



Sejarah perkembangan bahasa C dimulai dari pengembangan bahasa BCPL oleh Martin Richards pada tahun 1967. Kemudian berdasarkan pada bahasa BCPL tersebut, Ken Thompson yang bekerja di Bell Telephone Laboratories (Bell Labs) mengembangkan bahasa B pada tahun 1970. Saat itu bahasa B telah berhasil diimplementasikan di komputer DEC PDP-7 dengan operating system (OS) UNIX. Pada tahun 1972, peneliti lain di Bell Labs bernama Dennis Ritchie menyempurnakannya menjadi bahasa C.

Kemudian Dennis Ritchie bersama dengan Brian Kernighan mempublikasikan buku The C Programming Language yang diterbitkan oleh Prentice Hall, bahkan hingga saat ini telah diterjemahkan dalam berbagai bahasa di dunia. Jadi bisa disimpulkan bahwa buku tersebut menjadi legenda dalam sejarah perkembangan bahasa C sehingga sampai saat ini buku tersebut banyak dijadikan referensi oleh orang sebagai buku panduan di dalam mempelajari bahaa pemrograman komputer, khususnya bahasa C. Teknik dan gaya penulisan bahasa C yang tereferensi dari buku ini kemudian terkenal dengan sebutan K&R C atau kemudian disebut Classic C atau disebut juga Common C. 
Seiring dengan pesatnya perkembangan bahasa C, banyak vendor mengembangkan kompiler C dengan versi masing - masing. Hal ini menggerakkan ANSI (American National Standards Institute) untuk membuat suatu komite yang kemudian disebut X3J11 pada tahun 1983, yang betujuan untuk membuat definisi standar bahasa C yang lebih modern dan komprehensif, dengan memperbaiki syntax dan grammar bahasa C. Usaha ini berhasil diselesaikan 5 tahun kemudian, yaitu ditandai dengan lahirnya standard ANSI untuk bahasa C yang kemudian terkenal dengan sebutan ANSI C pada tahun 1988.

2. PEMBAHASAN

Kalian sudah mengenal bahasa pemrograman Pascal kan? Jadi adalah mudah untuk memahami bahasa pemrograman lain. Contohnya adalah bahasa C dan C++ ini. Untuk memulainya, mari kita lihat contoh program (yang sudah me-‘legenda’) Hello World:

2.1. Gambaran Umum Sebuah Program
Inilah Pascal yang selama ini kalian kenal. Sudah tidak asing kan dengan source code di atas? Coba bandingkan dengan source code C dan C++ di bawah ini.


Beberapa hal yang perlu diingat mengenai bahasa C:sss
·         Komentar dalam C menggunakan /* … */ dan bisa memuat beberapa baris sekaligus.
·         Sebuah program dalam C harus memiliki fungsi bernama main(), fungsi ini adalah fungsi spesial karena di situlah main program kita.
·         Dalam C sebenarnya tidak ada procedure, procedure didefinisikan sebagai function yang mengembalikan nilai void (void = sesuatu yang tidak ada).
·         Setiap baris perintah harus diakhiri dengan titik koma ‘;’ kecuali yang diawali dengan kres ‘#’.
·         Blok program diawali kurung-kurawal-buka ‘{’ dan diakhiri kurung-kurawal-tutup ‘}’.
·         Bahasa C adalah bahasa yang case-sensitive, jadi perhatikan dalam penamaan variabel, type, maupun pemanggilan fungsi-fungsi yang sudah ada.
·         Perintah terakhir di dalam main ( ) yaitu return 0 digunakan untuk mengindikasikan bahwa program tersebut sukses berjalan. Pada beberapa kontes pemrograman, hal ini merupakan salah satu syarat diterimanya program. (Program yang tidak me-return exit code 0 dianggap mengalami runtime error.)

2.2. Type, Variabel, dan Konstanta
2.2.1. Type
·         Tipe data numerik bilangan bulat:
Nilai Min
Nilai Max
Pascal
C
C++
-128
127
Shortint
Char
Char
-32,768
32,767
integer
int
int
-2,147,483,648
2,147,483,647
longint
long
long
0
255
Byte
Unsigned char
Unsigned char
0
65.535
Word
Unsigned int
Unsigned int
0
4,294,967,295
Longword
Unsigned long
Unsigned long

·         Tipe data numerik bilangan desimal:
Nilai Negatif
Nilai Positif
Pascal
C
C++
-3.4 x 10+38 s/d -3.4 x 10-38
3.4 x 10-38 s/d 3.4 x 10+38
real
float
float
-1.7 x 10+308 s/d -1.7 x 10-308
1.7 x 10-308 s/d 1.7 x 10+308
double
double
double
Ingat, seringkali terjadi ketidaktepatan pada representasi bilangan desimal. Untuk mengetes kesamaan nilai 2 buah bilangan, selalu gunakan perbandingan dengan epsilon (sebuah nilai yang sangat kecil). Contoh: untuk mengetes apakah bilangan desimal r1 sama dengan r2, gunakan: abs(r2-r1)<epsilon, dengan epsilon (misalnya) 1e-04.

·         Type data karakter:
C : char
C++ : char
Pascal char

·         Type data boolean:
Pascal
C
C++
type kondisi : boolean;
tidak ada
typedef bool kondisi;
-          Pada C++, bool dapat berisi true ataupun false, mirip Pascal.
-          Pada C, tidak ada type boolean. Sebagai gantinya type bilangan bulat apapun bias dipakai sebagai ganti boolean dengan aturan false adalah 0 dan true adalah angka selain0.

·         Type data array:
Pascal
C
C++
Type
tabel = array[0..10] of
integer;
typedef int tabel[11];

typedef int tabel[11];

type
matrix = array[0..20,0..30]
of real;
typedef
float matrix[21][31];

typedef
float matrix[21][31];

-          Format deklarasinya : typedef <type-elemen> <nama-type>[<banyaknya elemen + 1>];
-          Pada C dan C++ indeks array selalu dimulai dari 0.
-          Jadi jika ditulis int tabel[11] artinya ada tabel[0] … tabel[10].
-          Contoh cara pengaksesan : tabel[2], matrix[5][29]
·         Type data string:
Pascal
C
C++
Type name = string (30);
Typedef char name (31);
typedef std::string name;
-          Untuk C, tidak ada type data khusus string, sehingga string didefinisikan sebagai array of char.
-          Pada Pascal, name:string[30] artinya karakter diisi dari name[1]..name[30] sedangkan dalam C char name[31] artinya karakter diisi dari name[0]..name[30].
-          Untuk C++, untuk menggunakan type string harus ada #include <string> di awal program harus menggunakan std::string.
·         Type data struct (record):
Pascal
C
C++
type siswa = record  nama:string[30];
kelas:integer;
end;
typedef struct
{
       char nama[31];
       int kelas;
} siswa;
typedef struct
{
       std::string nama;
       int kelas;
} siswa;
-          Misal deklarasi variabel : siswa anto;
-          Maka akses ke elemennya menggunakan titik ‘.’ contoh : anto.nama, anto.kelas



·         Type data enumerasi:
Pascal
C
C++
type hari = (senin,
selasa, rabu, kamis,
jumat, sabtu);
typedef enum
{ senin, selasa,
rabu, kamis, jumat,
sabtu;
} hari;
typedef enum
{ senin, selasa, rabu,
kamis, jumat, sabtu;
} hari;
-          Jadi format : typedef enum {<elemen-elemen>} <nama-type>;
-          Untuk contoh di atas, pada C dan C++ senin akan bernilai 0, selasa=1, rabu=2 dst…jika ditulis:
typedef enum
{
senin = 3, selasa = 7, rabu, kamis, jumat, sabtu = 20;
} hari;
maka senin bernilai 3, selasa=7, rabu=8, kamis=9, jumat=10, sabtu=20.
-          Jadi jika nilai pada elemen tersebut tidak didefinisikan, akan dianggap +1 dari elemen sebelumnya.
·         Type data pointer:
Pascal
C
C++
type address : ^integer;
typedef int *address;
typedef int *address;
type addr : ^siswa;
{type siswa ada di atas}
typedef siswa *addr;
/*type siswa ada di
atas*/
typedef siswa *addr;
//type siswa ada di atas
-          Ketika kita menggunakan Pascal, kita hampir tidak perlu berurusan dengan pointer, tapi di C mau tidak mau kita harus berurusan dengan tipe data satu ini.
-          Pointer tidak menyimpan nilai, pointer hanya menyimpan alamat memory dari nilai yang disimpan, jadi bukan nilai itu sendiri.
-          Misal address P; maka *P = 10 akan membuat nilai yang ditunjuk oleh P berubah menjadi 10, tapi P itu sendiri tidak berubah, P tetap menunjuk alamat yang sama.
2.2.2. Variabel
Syntax untuk deklarasi dan assigment variabel dalam C & C++ berbeda dengan Pascal.
Pascal
C
C++
angka : integer;
hasil : real;
tabel: array[0..10] of char;
nama: string[30];
int angka;
float hasil;
char tabel[11];
char nama[31];
int angka;
float hasil;
char tabel[11];
std::string nama;
angka := 10;
hasil := 23.98;
tabel[7] := ‘S’;
nama := ‘alexander’;
angka = 10;
hasil = 23.98;
tabel[7] = ‘S’;
strcpy (nama,”alexander”;
angka = 10;
hasil = 23.98;
tabel[7] = ‘S’;
nama = “alexander”;

-          Jika pada Pascal bagian untuk deklarasi variabel harus diawali dengan var dan berada sebelum main program, hal ini tidak ada dalam C & C++, kita bisa mendeklarasikan variabel di mana pun.
-          Aturan penamaan variabel:
ü case-sensitive
ü diawali dengan huruf
ü boleh terdiri dari huruf, angka, atau underscore ‘_’
ü tidak boleh ada variabel ganda, maupun konflik dengan reserved word
-          Operator untuk assignment adalah ‘=’ jadi jangan sampai tertukar dengan operator komparasi ‘==’.
-          Pada C & C++ kita bisa menyingkat deklarasi dan assignment sekaligus, contoh: int angka = 10; float hasil = 23.98;
-          Format deklarasi variabel sangat mirip dengan format deklarasi type. Bedanya hanya tidak adanya kata kunci typedef.


2.2.3. Konstanta
Pascal
C
C++
const pi =
3.1415926;
Ada 2 cara:
const float pi = 3.1415926;
atau:
#define pi 3.1415926
Ada 2 cara:
const float pi = 3.1415926;
atau:
#define pi 3.1415926
-          Pada C & C++ konstanta biasa harus tetap dideklarasikan type-nya.
-          #define adalah makro, di mana fungsinya mirip find&replace pada text editor.
-           Formatnya: #define <nama> <nilai>, cara kerjanya adalah mencari <nama> di seluruh code dan mengubahnya menjadi <nilai>.

2.3. Input dan Output
2.3.1. Output
Pascal
C
C++
write(‘Apa kabar?’);
printf(“Apa kabar?”);
std::cout << “Apa kabar?”;
writeln(‘Baik-baik
saja’);
printf(“Baik-baik saja\n”);
std::cout << “Baik-baik
saja\n”
var i: integer;
...
int i;
...
int i;
...
writeln(‘nilai i adalah
’,i);
printf(“nilai i adalah
%d\n”,i);
std::cout << “nilai i adalah
” << i << “\n”;
var c:char; f: real;
...
writeln(‘c = ’,c,’ f =
’,f);
char c; float f;
...
printf(“c = %c f =
%f\n”,c,f);
char c; float f;
...
std::cout << “c = ” << c <<
“f = ” << f << “\n”;
-          Untuk C, perlu #include <stdio.h> di awal program.
-          Untuk C, output menggunakan fungsi printf (print formatted).
ü  Formatnya:                
§  printf(“<string beserta format variabel>”,<variabel>[, <variabel>,...]);
ü  Jadi, bentuk dari keluaran dituliskan dulu formatnya sebagai parameter pertama printf dalam bentuk string (diapit oleh petik). Yang membedakan text biasa dengan format variabel adalah tanda %.
-          Daftar format yang ada:
-          Selain format, ada karakter-karakter khusus, contoh: ‘\n’ untuk akhir baris
-          Untuk C++, perlu #include <iostream> di awal program.
-          Untuk C++, output menggunakan std::cout
-          Karakter-karakter khusus pada C juga berlaku pada C++.

2.3.2. Input
Pascal
C
C++
var i: integer;
f: real;
cc: char;
int i;
float f;
char cc;
int i;
float f;
char cc;
read(i);
scanf(“%d”,&i);
std::cin >> i;
read(f);
scanf(“%f”,&f);
std::cin >> f;
read(cc);
scanf(“%c”,&cc);
std::cin >> cc;
-          Untuk C, perlu #include <stdio.h> di awal program.
-          Untuk C, input menggunakan scanf (scan formatted).
-          Format yang digunakan hampir sama dengan printf, namun setelah string format, yang diisi bukan nama variabel, melainkan pointer dari array tersebut. Makanya untuk memasukkan nilai desimal (%f) kedalam variabel f digunakan pointer f (&f).
-          Untuk C++, perlu #include <iostream> di awal program.
-          Untuk C++, input menggunakan std::cin.

2.4. Operator
2.4.1. Operasi Bilangan Bulat
Operator yang digunakan pada bilangan bulat dan menghasilkan bilangan bulat juga:
Definisi
Pascal
C
C++
Penjumlahan
+
+
+
Pengurangan
-
-
-
Perkalian
*
*
*
Hasil Bagi
div
/
/
Sisa Bagi
mod
%
%
Increment
inc(x);
x++; atau ++x;
x++; atau ++x;
inc(x,a);
x+=a;
x+=a;
Decrement
dec(x);
x--; atau –-x;
x--; atau --x;
dec(x,a);
x-=a;
x-=a;
-          Ada perbedaan antara x++ dengan ++x dan antara x-- dengan --x meskipun hasil akhirnya sama.
-          Jika dijalankan: int x = 1; printf(“%d”, x++); maka yang keluar adalah angka 1.
ü  Nilai x setelah itu adalah 2.
ü  Tapi jika dijalankan: int x = 1; printf(“%d”, ++x); maka yang keluar adalah 2.
ü  Nilai x setelah itu adalah 2.
-          Begitu juga dengan x-- dan --x.

2.4.2. Operasi Pecahan
Operator yang digunakan pada bilangan pecahan dan menghasilkan pecahan juga:
Definisi
Pascal
C
C++
Penjumlahan
+
+
+
Pengurangan
-
-
-
Perkalian
*
*
*
Hasil Bagi
/
/
/
-          Pada C & C++, operator pembagi ‘/’ menggunakan lambang yang sama. Jika / dioperasikan pada 2 buah bilangan bulat, maka otomatis menjadi operasi div, sedangkan jika salah satu operand-nya pecahan maka otomatis menjadi operasi pembagian biasa.

2.4.3. Operasi Boolean
Operator yang digunakan untuk memanipulasi true dan false:
Definisi
Pascal
C
C++
Negasi
not
!
!
Konjungsi
and
&&
&&
Disjungsi inklusif
or
| |
| |
Disjungsi ekslusif
xor
^
^