Kamis, 29 September 2011

Macam - macam bahasa pemrograman

Bahasa pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintahkomputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikanprogram komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
1.     Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
2.     Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
3.     Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
4.     Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
Salah satu contoh bahasa pemograman adalah basic, assembly, dan bahasa C akan di bahas di bawah ini:
Ø Assembly
Bahasa rakitan atau lebih umum dikenal sebagai Assembly adalah bahasa pemrograman tingkat rendah yang digunakan dalam pemrograman komputer, mikroprosesor, pengendali mikro, dan perangkat lainnya yang dapat diprogram. Bahasa rakitan mengimplementasikan representasi atas kode mesin dalam bentuk simbol-simbol yang secara relatif lebih dapat dipahami oleh manusia. Berbeda halnya dengan bahasa-bahasa tingkat tinggi yang berlaku umum, bahasa rakitan biasanya mendukung secara spesifik untuk suatu ataupun beberapa jenis arsitektur komputer tertentu. Dengan demikian, portabilitas bahasa rakitan tidak dapat menandingi bahasa-bahasa lainnya yang merupakan bahasa pemrograman tingkat tinggi. Namun demikian, bahasa rakitan memungkinkan programmer memanfaatkan secara penuh kemampuan suatu perangkat keras tertentu yang biasanya tidak dapat ataupun terbatas bila dibuat dengan menggunakan bahasa pemrograman tingkat tinggi.
Pada bahasa rakitan, programmer umumnya menggunakan sebuah program utilitas yang disebut sebagai perakit (bahasa Inggris: assembler) yang digunakan untuk menerjemahkan kode dalam bahasa rakitan tersebut ke dalam kode mesin untuk perangkat keras tertentu. Sebuah perintah dalam bahasa rakitan biasanya akan diterjemahkan menjadi sebuah instruksi mnemonic dalam kode mesin, berbeda halnya dengan kompiler pada bahasa pemrograman tingkat tinggi yang menerjemahkan sebuah perintah menjadi sejumlah instruksi dalam kode mesin.
Beberapa perangkat lunak bahasa rakitan terkenal biasanya menyediakan tambahan fitur untuk memgasilitasi proses pengembangan program, mengontrol proses perakitan, dan alat bantu debugging.

Dasar alasan menggunakan bahasa rakitan

Ada beberapa dasar alasan menggunakan bahasa rakitan dilihat dari sudut pandang penggunaannya:
·         Bahasa rakitan dibandingkan dengan bahasa mesin, bahasa rakitan merupakan representasi atas bahasa mesin yang dirancang agar lebih mudah dipahami oleh manusia. Dengan menggunakan bahasa rakitan, seorang programmer dapat lebih mudah mengingat instruksi-instruksi dengan menggunakan simbol yang lebih dapat dimengerti dibandingkan bila menggunakan simbol mnemonic kode mesin secara langsung. Demikian halnya pula dengan mekanisme lompatan yang umum terdapat dalam bahasa mesin yang biasanya menggunakan alamat memori, programmer dapat lebih mudah menggunakan fasilitas labeling yang terdapat bahasa rakitan dibandingkan menggunakan alamat memori tertentu dalam kode mnemonic.
·         Bahasa rakitan dibandingkan dengan bahasa tingkat tinggi, bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan secara penuh kapabilitas yang terdapat atas suatu perangkat keras, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras. Bahasa rakitan menjanjikan tingkat unjuk kerja yang maksimum karena sifatnya yang menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang biasanya menerjemahkan sebuah instruksi menjadi sejumlah kode mesin.

Representasi kode mesin

Bahasa rakitan menerjemahkan sebuah instruksi rakitan menjadi instruksi mesin, umumnya mekanisme penerjemahan ini bersifat 1-1, karenanya dapat disebutkan pula bahwa setiap instruksi dalam bahasa rakitan merupakan representasi dari instruksi kode mesin.
Sebagai contoh, berikut adalah instruksi yang digunakan pada prosesor x86 untuk memindahkan nilai 97 sebesar 8-bit ke dalam register prosesor AL. Kode biner atas instruksi pemindahan adalah 10110 diikuti dengan 3-bit pengenal atas register yang akan digunakan. Pengenal atas register AL dalam hal ini adalah 000. Kemudian, nilai 97 dalam kode biner adalah 01100001, sehingga kode mesin yang digunakan untuk memindahkannya adalah sebagai berikut:[1]
10110000 01100001
Kode biner ini dapat diubah agar lebih mudah dibaca manusia dengan mengkonversikannya dalam bilangan heksadesimal sebagai berikut:
B0 61
Pada instruksi diatas, B0 berarti: 'Pindahkan nilai berikut ke register AL', dan 61 adalah representasi bilangan heksadesimal untuk nilai 01100001, atau 97 dalam bilangan desimal. Bahasa rakitan untuk prosesor Intel menyediakan simbol mnemonic MOV (yang merupakan singkatan dari move) untuk instruksi serupa sehingga kode mesin sebelumnya dapat ditulis dalam bahasa rakitan sebagai berikut:
MOV AL, 61h       ; Isi register AL dengan nilai 97 (61h)
Bahasa rakitan memungkinkan programmer menambahkan komentar atas setiap instruksi yang ditulis untuk mempermudah pembacaan dan lebih mudah pemahaman.

Ø BASIC
BASIC, adalah singkatan dari Beginners’ All-purpose Symbolic Instruction Code adalah sebuah kelompok bahasa pemrograman tingkat tinggi. Secara harfiah, BASIC memiliki arti "kode instruksi simbolis semua tujuan yang dapat digunakan oleh para pemula". Memang, istilah "Bahasa BASIC" di sini juga bisa diartikan menjadi bahasa untuk pemula, atau dengan kata lain, disebut sebagai bahasa dasar, tapi hal tersebut dirasa kurang tepat, mengingat BASIC dapat juga digunakan oleh para pemrogram ahli.
BASIC pertama kali dikembangkan pada tahun 1963 oleh John George Kemeny dan Thomas Eugene Kurtz yang berasal dari Dartmouth College, untuk mengizinkan akses terhadap komputer bagi para mahasiswa jurusan selain jurusan ilmu eksakta. Pada waktu itu, hampir semua komputer membutuhkan perangkat lunak, dan waktu itu belum ada perangkat lunak yang dijual secara bebas, sehingga hanya orang-orang tertentulah yang dapat menggunakan komputer, yakni para matematikawan dan ilmuwan, karena mereka dapat membangun perangkat lunak sendiri. Bahasa BASIC, setelah diciptakan menjadi menjamur dan banyak dimodifikasi. Bahasa BASIC menjadi bahasa yang paling populer digunakan pada komputer mikro pada akhir tahun 1970-an dan komputer rumahan pada tahun 1980-an. Dan hingga saat ini, menjadi bahasa yang dialeknya beberapa kali berevolusi.

Sejarah

Sebelum pertengahan tahun 1960-an, komputer merupakan barang yang sangat mahal dan hanya digunakan untuk tugas-tugas tujuan khusus. Pada saat itu, jenis pemrosesan yang dapat dilakukan adalah batch processing, yang artinya komputer hanya dapat melakukan pemrosesan satu pekerjaan pada satu waktu, dan pekerjaan lainnya akan dilakukan setelah pekerjaan lainnya selesai. Akan tetapi, selama tahun 1960-an, muncullah komputer yang lebih cepat dan lebih terjangkau. Dengan kemampuan pemrosesan yang lebih kuat ini, komputer pun kadang-kadang "menganggur", tanpa ada pekerjaan yang ia lakukan sama sekali. Bahasa pemrograman di dalam era batch programming pun didesain untuk tujuan-tujuan khusus, seperti halnya mesin di mana mereka berjalan, seperti halnya kalkulasi formula ilmiah atau pemrosesan data bisnis atau hanya untuk penyuntingan teks.
Seiring dengan turunnya harga komputer, penggunaan komputer pun tidak lagi terbatas pada riset-riset ilmiah dan militer, tetapi merambah kepada penggunaan komersial. Sistem-sitem komputer yang lebih baru mendukung konsep time-sharing, sebuah cara di mana sebuah sistem mengizinkan beberapa pengguna atau proses untuk menggunakan CPU dan memori. Dalam sistem tersebut, sistem operasi akan menggilir proses-proses yang sedang berjalan, dan mengizinkan setiap proses untuk dijalankan oleh CPU (serta disimpan di dalam memori), sebelum pindah ke proses selanjutnya. Mesin-mesin tersebut telah menjadi cukup cepat sehingga kebanyakan pengguna saat itu dapat merasakan seolah-olah mereka menggunakan mesin tersebut hanya untuk sendiri. Secara teori, time-sharing mampu mengurangi biaya komputasi secara signifikan, mengingat sebuah mesin dapat digunakan oleh beberapa pengguna, bahkan ada yang mencapai angka ratusan pengguna.

Era komputer mini

Bahasa BASIC yang asli didesain pada tahun 1963 oleh John Kemeny dan Thomas Kurtz dan diimplementasikan oleh sekelompok siswa diDartmouth College di bawah arahan mereka berdua. BASIC didesain untuk para siswa agar mereka dapat menulis program untuk Dartmouth Time-Sharing System. Bahasa tersebut didesain untuk mengatasi masalah kerumitan yang terjadi pada bahasa-bahasa pemrograman yang sudah lama, dengan sebuah desain bahasa yang baru yang memang dikhususkan untuk kelas baru yang di dalamnya terdapat para pengguna mesin tersebut, yakni para pengguna yang kurang begitu memahami masalah keteknikan dan juga tidak memiliki latar belakangmatematika, dan kurang berminat untuk menekuni bidang matematika. Dengan menggunakan komputer untuk mendukung proses pengajaran dan riset ternyata menarik perhatian banyak kalangan. Pada beberapa tahun kemudian, seiring dengan munculnya beberapa dialek bahasa BASIC lainnya, dialek BASIC buatan Kemeny dan Kurtz dinamakan dengan Dartmouth BASIC.
Prinsip-prinsip yang digunakan dalam mendesain bahasa BASIC antara lain:
1.    Dapat digunakan secara mudah bagi para pemula.
2.    Dapat digunakan sebagai sebuah bahasa pemrograman untuk tujuan umum (general purpose)
3.    Dapat ditambahi fitur-fitur tambahan dan tingkat lanjut untuk para ahli, tetapi tetap mempertahankan kesederhanaan bahasa untuk para pemula.
4.    Harus interaktif.
5.    Pesan-pesan kesalahan harus jelas dan mudah dipahami.
6.    Merespons dengan cepat untuk program-program yang kecil.
7.    Tidak harus membutuhkan pengetahuan dan pemahaman perangkat keras komputer.
8.    Pengguna juga tidak harus tahu mengenai sistem operasi.
Bahasa BASIC sendiri sebagian dibuat dengan berdasar pada FORTRAN II dan sebagian lagi berdasar pada ALGOL 60, dengan adanya tambahan agari ia cocok digunakan untuk time-sharing. Sebelum ada BASIC, di Dartmouth College sudah terdapat DARSIMCO (1956), dan DOPE (implementasi yang dilakukan pada tahun 1962 terhadap SAP) serta DART (1963 yang merupakan FORTRAN II yang disederhanakan). Awalnya, BASIC difokuskan untuk mendukung beberapa pekerjaan matematika dengan dukugan aritmetika matriks dari mulai awal implementasinya sebagai bahasa yang bertumpuk (batch language) untuk kemudian dikembangkan pada tahun 1965 dengan dukungan fungsionalitas string.
BASIC pertama kali diimplementasikan dalam mainframe General Electrics GE-265 yang mendukung banyak terminal. Pada awal perkenalannya, BASIC merupakan bahasa yang dikompilasi, bukan bahasa yang diinterpretasikan, seperti yang dipercaya selama ini oleh banyak orang. BASIC juga sangat efisien, dengan mengalahkan FORTRAN II dan ALGOL 60 di mesin yang sama pada beberapa program matematika, seperti operasi Hukum Simpson.
Para pengembang bahasa BASIC memutuskan bahwa kompilator bahasa BASIC harus tersedia tanpa pungutan biaya sehingga bahasa BASIC dapat berkembang secara luas. Selain itu, mereka juga mendistribusikan BASIC ke sekolah-sekolah menengah atas di Dartmouth selain Dartmouth College, dan juga mempromosikannya. Hasilnya, pengetahuan tentang BASIC menjadi relatif meluas (untuk sebuah bahasa pemrograman), dan BASIC pun akhirnya diimplementasikan oleh banyak pengembang, sehingga menjadi sebuah bahasa pemrograman yang populer untuk komputer mini yang baru seperti seri Programmable Data Processor (PDP) milik Digital Equipment Corporation dan Nova milikData General. Bahasa BASIC pun juga digunakan di dalam HP Time-Shared BASIC System pada tahun-tahun akhir 1960-an dan awal 1970-an. Pada komputer-komputer tersebut, bahasa BASIC cenderung diimplementasikan sebagai interpreter, bukannya sebagai kompilator.
Beberapa tahun setelah dirilis, beberapa profesional di bidang komputer, terutama Edsger W. Dijkstra, mengutarakan pendapat mereka mengenai penggunaan statemen GOTO, yang tersedia di dalam banyak bahasa pemrograman, termasuk di antaranya BASIC, ternyata membuat praktik pemrograman menjadi buruk[1]. Beberapa bahkan mengeluhkan bahwa bahasa BASIC terlalu lambat (sebagian besar versi BASIC yang diinterpretasikan memang jauh lebih lambat dibandingkan dengan versi yang dikompilasi) atau terlalu sederhana (beberapa versi, terutama untuk komputer-komputer dengan kemampuan yang kecil membuang banyak fitur dan kemampuan yang penting.

 

Era Komputer rumahan

Bahasa BASIC tidaklah serta-merta diakui sebagai bahasa yang populer, meski digunakan pada banyak komputer mini, tetapi saat Micro Instrumentation Telemetry System (MITS) merilis Altair 8800 pada tahun 1975 yang di dalamnya telah terdapat BASIC, BASIC mulai menunjukkan peningkatan yang signifikan. Sebagian besar bahasa pemrograman membutuhkan memori yang lebih besar daripada yang dapat dibeli oleh kebanyakan orang, mengingat memang harga memori saat itu sangatlah mahal. Dengan akses yang lambat yang ditawarkan oleh tape, dan tidak adanya editor teks yang cocok, sebuah bahasa pemrograman seperti BASIC yang dapat melewati beberapa batasan tersebut ternyata sangat menarik. BASIC juga memiliki keunggulan, yakni terkenal oleh para desainer yang memiliki minat terhadapkomputer mikro. Usaha Kemeny dan Kurtz yang dilakukan pada awal-awal pengembangan BASIC pun berbuah hasil. Salah satu implementasi bahasa BASIC yang pertama kali muncul untuk mesin dengan mikroprosesor Intel 8080 seperti yang digunakan oleh Altair 8800 adalah Tiny BASIC, sebuah implementasi BASIC yang aslinya ditulis oleh Dr. Li-Chen Wang untuk kemudian ditulis ulang agar dapat berjalan di atas Altair oleh Dennis Allison berdasarkan permintaan dari Bob Albrecht (yang kemudian mendirikan Dr. Dobb's Journal). Kode sumber secara penuh dan desain Tiny BASIC tersedia dan dipublikasikan pada tahun 1976 pada jurnal Dr. Dobb's Journal.
Pada tahun 1975, MITS merilis Altair BASIC, yang dikembangkan oleh William Henry Gates III dan Paul Allen dari Micro-Soft. Versi Altair pertama kali dikembangkan secara bersama-sama oleh Gates, Allen dan Monte Davidoff. Versi Microsoft BASIC pun kemudian segera muncul di beberapa platform komputer mikro lainnya dengan menggunakan lisensi, dan kemudian jutaan salinan pun terjual; Microsoft BASIC pun menjadi bahasa standar yang digunakan oleh komputer Apple II (yang menggunakan MPU Mostek 6502). Hingga tahun 1979, Microsoft pun berbicara dengan beberapa vendor komputer mikro, termasuk di antaranya adalah IBM, mengenai lisensi interpreter bahasa BASIC untuk komputer yang mereka bangun. Sebuah versi pun dimasukkan ke dalam chip ROM dalam IBM PC, sehingga komputer PC tanpa disketfloppy akan dapat memulai langsung sesi pemrograman BASIC seperti halnya komputer mikro lainnya.
Beberapa perusahaan baru pun mencoba mengikuti jejak-jejak sukses MITS, IMSAI, North Star dan Apple sehingga membuat sebuah industri komputer rumahan sendiri; sementara itu, BASIC telah menjadi fitur standar dari semua komputer rumahan tapi sebagian kecil komputer rumahan memang tidak memilikinya. Sebagian besar komputer rumahan datang dengan interpreter bahasa BASIC di dalam ROM, sehingga pembelian disket yang cukup mahal pun menjadi tidak perlu dilakukan lagi. Beberapa saat kemudian, ternyata mesin yang menjalankan varian-varian BASIC di seluruh dunia sudah menjadi sangat banyak, bahkan jumlahnya lebih besar dibandingkan dengan pengguna semua bahasa pemrograman, meski semuanya digabungkan. Dialek yang digunakan oleh BASIC pada zaman ini juga sedikit berbeda dari satu implementasi dengan implementasi lainnya. Tetapi, sebagian besar komputer yang beredar pada tahun 1980-an memiliki interpreter bahasa BASIC yang disimpan di dalam ROM.
Kemudian BBC pun menerbitkan BBC BASIC, sebuah versi bahasa BASIC yang dikembangkan oleh Acorn Computers, Ltd untuk BBC, yang memasukkan beberapa peningkatan tambahan seperti halnya pembuatan struktur terhadap kata kunci, dan juga akses secara langsung terhadap sistem operasi. Selain itu, varian ini juga memiliki assembler yang terintegrasi. BBC BASIC memang diakui sebagai sebuah dialek BASIC yang bagus, dan kemudian lebih dari 30 platform lainnya selain komputer mikro BBC pun mengadopsinya.

Contoh progam

Berikut ini adalah contoh program yang ditulis dalam bahasa Visual BASIC
 Private Sub Command1_Click()
    Dim a, b As Integer
    a = txt1.Text
    b = txt2.Text
    txt3.Text = a + b
    txt4.Text = a / b
    txt5.Text = a - b
    txt6.Text = a * b
    txt7.Text = a ^ b
 End Sub
 
 Private Sub Command2_Click()
    txt1.Text = ""
    txt2.Text = ""
    txt3.Text = ""
    txt4.Text = ""
    txt5.Text = ""
    txt6.Text = ""
    txt7.Text = ""
 End Sub
      
 Private Sub Command3_Click()
    End
 End Sub

Ø Bahasa C
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.
Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.

Filosofi

 

Versi Bahasa C

 

C K&R

Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi pertama dari buku yang berjudul The C Programming Language. Buku ini hingga sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang pemrogram yang ingin mengetahui tentang bahasa C, terutama karena begitu lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang dicontohkan dalam buku ini.
Versi bahasa C yang ditampilkan dalam buku ini kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku The C Programming Language edisi kedua kemudian melingkupi ANSI C yang diperkenalkan belakangan.

 

ANSI C & ISO C

Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan di kalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute (ANSI) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini seringkali dinamakan ANSI C, atau kadang-kadang C89.
Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karena versi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama.

C99

Versi C99 dibuat oleh ISO C pada tahun 1999. Versi ini dimaksudkan terutama untuk memperbanyak dukungan kepada pemrograman berorientasi objek, terutama setelah C++, yang dibuat berdasarkan bahasa ini mendapat tempat yang istimewa di kalangan pemrogram

 

Pustaka

Pustaka (seringkali dirujuk sebagai library), adalah kumpulan fungsi-fungsi yang terkandung dalam satu file, Setiap file pustaka mempunyai satu Header file yang menyimpan cetak biru dari fungsi-fungsi yang terkandung dalam file pustaka.
Bahasa C seringkali dipakai untuk membuat file-file pustaka yang menyimpan fungsi-fungsi tertentu, dikarenakan C dapat dikompile menjadi bahasa mesin yang sangat cepat dan kecil ukurannya, kemudian bahasa pemrograman lain seperti Python yang akan menciptakan antar-muka dari fungsi-fungsi yang dikandungnya.
Pustaka yang paling sering dipakai adalah Pustaka Standar C, yang berisi fungsi-fungsi standar yang berasal dari ANSI C. Pustaka standar ini sekarang telah terkandung dalam hampir setiap kompiler C yang dipakai.

 

Hello, World!

Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!" dengan menggunakan pustaka stdio.h (ANSI C):
     #include <stdio.h>
     #include <conio.h> 
     int main(void) {
     printf("Hello, World!\n");
     return 0;
}



Tidak ada komentar:

Posting Komentar