Perbandingan Bahasa Pemrograman (C, C++, Pascal, BASIC, D)

Artikel ini pernah keluar di Research and Development Team tanggal 3 September 2010. Versi Jurnal ini keluar pada tanggal 4 Oktober bersamaan dengan deklarasi berdirinya tim Research and Development STEI ITB 2010.

———————————————————————————————–

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.

10 Comments

  1. uga18hunter

    yg ditulis yg penting ajja….. >,<

  2. Namanya juga jurnal —

  3. eros

    maksih y,,,aku nyari2 perbedaan b.pemrograman ternya ada disini…

    • yup, sama2😀
      Terima kasih atas apresiasinya🙂

  4. anew

    makasih kk …… tapi b.c++ kalo ud ke kuasai mantabbppzz gk ea kira2 hasilnya????? hehe..

    • kalo pendapat pribadi saya sih, saya lebih suka ke c++ hehehe
      banyak source code di internet dalam bahasa c\c++ serta java dan vb tapi saya lebih prefer C++ karena lebih mudah saya pahami dan lebih ringkas
      #Gak suka nulis banyak2

  5. Jojor R Manurung

    tolong berikan penjelasannya perbandingan bahasa pascal dengan bahasa c secara mendetail.

    Terimakasih

  6. Viber Z ID

    Terimakasih, kk atas informasinya! Bermanfaat sekali! ∩__∩ Aku kok lebih suka C/C++ nya, ya!? Karena berjalan di OS GNU/Linux dan saya suka dan mau buat tuh app dari C++ (nunggu kuliah dulu :D) daripada assembly yang memusingkan/berat dan pascal yang selain nggak ada niat dari awal, berjalan di Windows (sudah agak melupakan windows) tetapi aku suka permainan logikanya saja! Menurutku lebih ke Matematikanya dan saya suka itu! ∩__∩ kk² yang kuliah di jurusan IT, tolong kasih tau alm. Web yang memberikan soal olimpiade TIK dan pembahasan nya dong? Tolong kirim ke [mtd.meprisa@gmail.com] ya? Terimakasih sebelum nya *^▁^*

  7. terimakasih GAN…dikampus saya cuma mempelajari pascal..!!! klo bahasa C. gak dipelajari..gimana tuh kedepannya..??? trus kira2 program apa yanga tidak bisa dibuat di C tapi bisa dibuat di pascal dan sebaliknya…??? mohon pencerahannya gan,,saya masih pemula..:D.
    terimaksih

Trackbacks

  1. Menulis program dalam bahasa C++ « Another Satria's Project

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: