Anda di halaman 1dari 9

JURNAL TIM RISET DAN PENGEMBANGAN TEKNOLOGI

STEI ITB 2010

PERBANDINGAN BEBERAPA BAHASA PEMROGRAMAN

RISET DIVISI INFORMATIKA

Oleh: Satria Ady Pradana

16510102

1. I. Latar Belakang

Dewasa ini, pemrograman merupakan hal yang tidak asing lagi. Dalam era
teknologi dimana manusia memanfaatkan mesin untuk melakukan pekerjaan-
pekerjaan yang rumit dan membutuhkan waktu lama penggunaan program dan
bahasa pemrograman menjadi hal yang tak dapat dipisahkan.

Sebagai seorang yang hendak berkecimpung di dunia pemrograman, pemilihan


bahasa pemrograman merupakan suatu hal yang sangat krusial karena pilihan
bahasa pemrograman dapat memengaruhi sang programmer. Terdapat istilah
bahwa bahasa yang kita pilih sebagai awal pembelajaran akan memengaruhi pola
pikir dan paradigma kita. Maka muncullah pikiran, bahasa pemrograman mana
yang cocok bagi saya? Atau bahasa manakah yang paling bagus?

1. II. Tujuan

Riset sederhana ini dibuat untuk mendalami lebih jauh tentang perbedaan
karakteristik suatu bahasa pemrograman ditinjau dari berbagai aspek.

1. III. Prinsip Dasar

Menurut istilah: Bahasa pemrograman adalah suatu bahasa yang digunakan oleh
seorang programmer untuk menginstruksikan mesin-mesin agar bekerja sesuai
yang diharapkan dengan menggunakan aturan-aturan dan tata bahasa tertentu
berupa rangkaian huruf, angka dan simbol-simbol secara terstruktur (Satria Ady
Pradana:2010)

Di dunia ini ada banyak sekali bahasa pemrograman dengan berbagai tujuan
pembuatannya. Sebagai contoh terdapat pacal yang banyak digunakan untuk
pengajaran algoritma pemrograman di kalangan akademik, FORTRAN untuk
keperluan Scientific, C/C++ untuk multi purpose untuk pembuatan aplikasi
enterprise dsb.

Bahasa pemrograman dapat digolongkan menjadi beberapa golongan menurut 2


hal (Satria Ady Pradana:2010) yaitu:
1. tingkat Kemudahan pemahaman bahasa

2. jenis Bahasa tersebut

Jika digolongan ke dalam tingkat kemudahan pemahaman bahasa kita dapat


menggolongkan bahasa-bahasa pemrograman ke dalam 3 klasifikasi besar:

1. tingkat rendah

bahasa tingkat ini termasuk bahasa mesin dan bahasa assembly, dimana bahasa ini
sangat mudah dipahami mesin namun sangat susah dipahami manusia. Kelebihan
bahasa ini adalah waktu eksekusi yang sangat cepat sebagai konsekuensi
kemudahan dibaca oleh mesin

2. Bahasa tingkat menengah

bahasa tingkat ini termasuk yang cukup mudah dimengerti mesin dan dipahami
manusia. Biasanya bahasa ini sudah menggunakan simbol-simbol seperti operator
matematika untuk perhitungan. Dalam katgori ini kita dapat mengambil contoh
bahasa C dan C++

3. Bahasa tingkat tinggi

bahasa tingkat ini termasuk yang sangat mudah dipahami manusia, namun ia juga
lebih susah dipahami oleh mesin. Dalam kategori ini kita mengenal pascal dan
basic.

Sedangkan untuk penggolongan menurut jenis bahasa tersebut kita dapat


menggolongkan bahasa-bahasa pemrograman menjadi:

1. Native code

Artinya bahasa pemrograman akan dikompilasi menjadi bahasa mesin dan


instruksi-instruksi yang ada adalah instuksi langsung ke mesin

2. Script Language

Artinya bahasa pemrograman ini tidak akan dikompil ke dalam bahasa mesin,
tetapi bahasa ini akan diartikan oleh sejenis program yang akan menjalankan
perintah-perintah tersebut di atas mesin. jadi dapat kita simpulkan bahwa bahasa
ini hanya berupa teks kemudian untuk operasinya akan dserahkan pada program
lain. Termasuk dalam kategori ini adalah bahasa Javascript, VBScript, ruby, perl
python

Proses pembuatan sebuah program terbagi dalam beberapa tahap. Secara garis
besar, seorang programmer membuat rancangan dasar program yang akan ia buat
berupa algoritma-algoritma yang akan dipakai. Kemudian seorang programmer
akan mentranslasikan atau disebut dengan istilah mengoding bahasa algortma
tersebut ke dalam salah satu bahasa pemrograman yang ia inginkan. Setelah ia
selesai mengoding, tibalah proses yang disebut kompilasi. kompilasi adalah
proses menerjemahkan bahasa pemrograman ke dalam bahasa mesin. Tugas ini
dilakukan oleh program yang disebut compiler bahasa pemrograman. Setelah
selesai proses kompilasi, akan dihasilkan beberapa file yang salah satunya adalah
file dengan ekstensi .exe. File inilah yang dapat kita jalankan dengan cara
melakukan doube click pada file tersebut.

Suatu bahasa pemrograman yang baik adalah bahasa yang dapat dimengerti oleh
manusia dengan mudah dan juga dapat dieksekusi dengan mudah oleh mesin.
Namun dalam kenyataannya, prinsip tersebut tidak dapat diterapkan karena
perbedaan antara bahasa mesin dan bahasa manusia. Karena itu dilakukan
pendekatan-pendekatan linguistik oleh manusia sehingga manusia dapat secara
tidak langsung “memerintah” mesin untuk berbagai keperluan. Perkembangan
teknologi menyebabkan berkembangnya berbagai macam bahasa pemrograman
yang bervariasi dan betebaran. Untuk itu riset dilakukan untuk melihat dan
menganalisa bahasa mana yang dapat dikatakan terbaik. Untuk mendapatkan hasil
maksimal riset ini dibatasi pada beberapa kriteria dasar yaitu:

1. Besar kecilnya program hasil kompilasi, program yang dibuat dengan


bahasa pemrograman tertentu akan dikompilasi menjadi kode-kode yang
dapat dimengerti oleh mesin. Besar-kecilnya ukuran program dapat
menentukan baik-tidaknya program menyangkut efisiensi penggunaan
memori.
2. Kecepatan program, program dapat dikatakan baik apabila dapat
mengeksekusi instruksi-instruksi yang diberikan secara cepat.

Dalam riset ini, kami hanya membandingkan bahasa pemrograman yang


menghasilkan file executable (native code), bukan bahasa script maupun yang
berjalan di atas Virtual Machine. Sehingga dalam riset ini diambil bahasa
pemrograman yang akan diuji yaitu: C, C++, D, Pascal, BASIC karena dianggap
bahasa-bahasa ini adalah bahasa yang masih berkembang dan digunakan. Semua
program dibuat berbasiskan console (Non-GUI). Program juga berjalan di
platform Win32 dengan Operating System Windows Se7en. Dalam penilaian
semua program diset independen terhadap resource luar atau dengan kata lain
tidak ada linking library.

1. IV. Alat dan Bahan

Compiler C:

1. GCC (GNU Compiler Collection)v4.41


2. OpenWatcom C Win32 v1.9
3. Miracle C Compiler v4.1
4. Tiny C Compiler v0.9.25
Compiler C++:

1. GCC (GNU C Compiler) v4.41


2. CodeGear C++ Builder 2009
3. Visual C++ 2005
4. Digital Mars C Compiler v8.42n

Compiler Pascal:

1. Free Pascal v2.4.0


2. Borland Turbo Pascal v7
3. CodeGear Delphi 2009
4. Irie Pascal

Compiler BASIC:

1. FreeBASIC 0.21.1
2. XBLite

Compiler D:

1. Digital Mars D Compiler v2.048


2. GDC (GNU D Compiler) v3.4.5

Operating System: Windows Se7en Ultimate

SpeedChecker v0.3

1. V. Langkah Kerja
1. Membandingkan ukuran kita memerlukan suatu standar yang sama.
Dalam uji coba ini kami akan mencoba menampilkan pesan “Halo
dunia!” dari berbagai bahasa pemrograman. Kami akan melihat
hasil kompilasi dari beberapa kompiler untuk bahasa sejenis dan
mengambil rata-rata dari data tersebut.
2. Membandingkan kecepatan eksekusi program kami menggunakan
program bantu bernama SpeedChecker oleh Satria Ady Pradana.
Program ini akan mencatat kecepatan eksekusi program dalam
satuan milisecond presisi.Secara prinsip, SpeedChecker akan
menerima sebuah argumen berupa nama program. Program itu
kemudian akan dijalankan di atas proses SpeedChecker.

Berikut akan disajikan source code yang digunakan masing-masing bahasa


pemrograman:

Percobaan Bahasa C:

/*
Nama file: main.c

Bahasa: C

Percobaan pada kompiler:

1. GCC (GNU Compiler Collection) v4.41


2. OpenWatcom C Win32 v1.9
3. Miracle C Compiler v4.1
4. Tiny C Compiler v0.9.25

*/

#include <stdio.h>

void main(void)

printf(“Halo dunia!”);

/* End of File */

Percobaan bahasa C++:

/*

Nama file: main.cpp

Bahasa: C++

Percobaan pada kompiler:

1. GCC (GNU Compiler Collection) v4.41


2. CodeGear C++ Builder 2009
3. Visual C++ 2005
4. Digital Mars C Compiler v8.42n

Side note: kami menggunakan kompiler C++ sesuai standar ANSI yang
mendukung STL

*/

#include <iostream>

using namespace std;


int main()

cout << “Halo dunia!” <<endl;

return 0;

/* End of File */

Percobaan Pascal:

Nama file: main.pas

Bahasa: Pascal

Percobaan pada kompiler:

1. Free Pascal v2.4.0


2. Borland Turbo Pascal v7
3. CodeGear Delphi 2009
4. Irie Pascal

Program halo;

Begin

Writeln(‘Halo dunia!’);

End.

{ End of File }

Percobaan BASIC:

‘ Nama file: main.bas

‘ Bahasa: BASIC

‘ Percobaan pada compiler:

‘ 1. FreeBASIC 0.21.1
Print “Halo dunia!”

‘’’’’’’’’’’’’’’’’’’’’’’’ END OF FILE ‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’

‘ Nama file: main.x

‘ Bahasa: BASIC

‘ Percobaan pada compiler:

‘ 1. Xblite

PROGRAM “main”

VERSION “0.0001″

CONSOLE

DECLARE FUNCTION entry()

FUNCTION entry()

PRINT( “Halo dunia!” )

END FUNCTION

END PROGRAM

Percobaan D:

/*

Nama file: main.d

Bahasa: D

Percobaan pada kompiler:

1. Digital Mars D Compiler v2.048


2. GDC (GNU D Compiler) v3.4.5

Side note: mungkin belum banyak orang yang mengetahui tapi bahasa D adalah
evolusi dari keluarga bahasa C dan C++

*/

module main;
import std.stdio;

int main()

writefln(“Halo dunia!”);

return 0;

Data-data yang didapat dari berbagai kompiler untuk bahasa pemrograman akan
dihitung nilai rata-ratanya dan kemudian akan menjadi nilai untuk bahasa
pemrograman tersebut. Dengan menggunakan perbandingan antara ukuran dan
waktu kecepatan kita akan mendapatkan nilai yang kita sebut indeks eksekusi

1. VI. Pembahasan

Dari percobaan di atas didapatkan data sebagai berikut (data lengkap dapat
disaksikan pada data-sheet):

Pada grafik di atas disajikan rata-rata ukuran program yang dihasilkan kompiler
berbeda untuk tiap bahasa pemrograman serta kecepatan eksekusi yang diukur
menggunakan SpeedChecker.

Jika dilihat pada grafik, perbedaan kecepatan eksekusi yang dilambangkan dengan
warna merah tidak terlalu signifikan antara kelima bahasa pemrograman tadi.
Namun perbedaan mencolok terlihat pada ukuran program.

Jika dilihat pada grafik, ukuran program yang paling besar adalah program yang
dibuat menggunakan bahasa D. Sedangkan program yang berukuran paling kecil
adalah yang menggunakan bahasa C. Jika dilihat pada kecepatan eksekusi, terlihat
bahwa grafik program C menunjukkan waktu eksekusi yang paling cepat. Jika kita
membandingkan antara ukuran dan kecepatan eksekusi maka kita akan
mendapatkan C sebagai bahasa yang ideal dengan ukuran kecil dan kecepatan
eksekusi yang tinggi.

1. VII. Kesimpulan

Dengan melihat data-data di atas (juga yang ada di data-sheet) dapat kita
simpulkan bahwa bahasa C memiliki ukuran yang sangat kecil dan waktu
eksekusi yang sangat cepat. Bahasa C menjadi sangat efisien apabila digunakan
untuk melakukan pekerjaan yang membutuhkan penghematan memori namun
tidak menghilangkan kemudahan pembacaan.
Namun, data-data ini tidak dapat dijadikan sebagai referensi yang pasti benar
karena terdapat faktor-faktor subjektif yang dapat memengaruhi minat orang
dalam mempelajari bahasa pemrograman.

Anda mungkin juga menyukai