Thursday, April 5, 2012

Sejarah Perkembangan Bahasa Pengaturcaraan


 Sejarah Perkembangan Bahasa Pengaturcaraan ::.
 
 Mengikut takrif, bahasa pengaturcaraan adalah set arahan yang memberitahu komputer berkenaan operasi yang hendak dilaksanakan. Pengaturcara iaitu pakar yang mahir dalam bahasa pengaturcaraan, menggunakan bahasa ini untuk menghasilkan perisian komputer. Setiap bahasa yang dicipta mempunyai tujuan untuk memberi penyelesaian kepada masalah tertentu. Walaupun pelbagai jenis bahasa pengaturcaraan, namun ada satu kesamaan yang nyata, iaitu mereka akan ditukarkan kepada bentuk digital komputer 0 dan 1 yang mewakili tenaga elektronik tutup dan buka.
 Seperti mana-mana komputer dan perisian, bahasa pengaturcaraan juga mengalami proses evolusi. Proses ini menghasilkan 5 generasi bahasa pengaturcaraan iaitu bermula daripada bahasa Mesin. Generasi kedua dikenali sebagai bahasa Assembly. Generasi ketiga dinamakan sebagai bahasa Peringkat Tinggi. Generasi keempat dan kelima dikenali sebagai bahasa Peringkat Sangat Tinggi dan bahasa Lazim. Bahasa pengaturcaraan dikategorikan sebagai peringkat rendah apabila ia hampir dengan bahasa yang difahami komputer iaitu perwakilan 0 dan 1. Bahasa Peringkat Tinggi pula hampir kepada bahasa yang manusia gunakan setiap hari atau menghampiri bahasa Inggeris lazim.


Generasi Pertama - Bahasa Mesin
 Bahasa peringkat paling rendah ialah bahasa Mesin yang merupakan bahasa komputer yang terdiri daripada digit binari 0 dan 1. Digit binari yang mewakili keadaan tenaga elektrik tutup dan buka susah dibaca serata difahami oleh manusia.

Generasi Kedua - Bahasa Assembly
 Bahasa Assembly adalah bahasa peringkat rendah yang membolehkan pengaturacara menggunakan singkatan atau perkataan yang mudah diingati bagi menggantikan nombor. Contohnya ialah huruf MP digunakan bagi menggantikan arahan MULTIPLY dan STOmewakili STORE. Pengaturcara dapat menulis arahan secara lebih mudah berbanding bahasa Mesin. Walaupun demikian bahasa ini susah untuk dipelajari. Tambahan pula bahasa ini mempunyai kekangan kerana ia bergantung kepada mesin tertentu. Bentuk bahasa ini akan berbeza untuk arahan kepada mesin yang berlainan. Oleh kerana kekangan tersebut, pakar komputer telah memperkenalkan Penterjemah Bahasa. Disebabkan komputer hanya boleh menjalankan arahan dalam bahasa Mesin, Penterjemah diperlukan jika aturcara ditulis dalam bahasa lain. Penterjemah bahasa adalah sejenis perisian sistem yang akan menterjemahkan aturcara yang ditulis dalam bahasa kedua, ketiga atau lebih tinggi kepada bahasa mesin.
 Penterjemah Bahasa tergolong kepada 3 jenis :
     Assembler (Pencantum) - Aturcara yang menterjemahkan aturcara bahsa Assembly kepada
        bahasa Mesin.
     Compiler (Penyusun).
     Interpretor (Penafsir).

Generasi Ketiga - Bahasa Peringkat Tinggi

 Bahasa peringkat ini lebih mendekati kepada bahasa Inggeris, sebagai contohnya ialah COBOL yang biasa digunakan untuk aplikasi perniagaan. Bahasa ini membolehkan kita menulis aturcara dalam kaedah bahasa biasa, bukannya perwakilan binari atau singkatan. Kebanyakkan bahasa generasi ini tidakbergantung kepada jenis komputer yang digunakan. Satu bahasa boleh digunakan dalam banyak jenis komputer. Contohnya ialah FORTRAN, COCOL, BASIC, Turbo Pascal, C, C++ dan Ada. Penterjemah bahasa generasi ketiga ialah sama ada Compiler atauInterpretor.
 Compiler - Laksana kemudian : Kompiler adalah penterjemah bahasa yang menukarkan keseluruhan aturcara dalam bahasa mesin, sebelum komputer melaksanakan sesuatu aturcara. Bahasa peringkat tinggi yang perlu diterjemahkan itu dipanggil sebagai Source Code (kod sumber). Apabila kompiler menterjemahkan kod sumber tadi, ia akan bertukar nama kepadaObject Code (Kod Objek). Kepentingan Kod Objek ialah ia boleh disimpan. untuk dilaksanakan kemudian nanti. Contoh bahsa ini yang menggunakan Kompiler ialah COBOL, FORTRAN dan Pascal.
 Interpretor Laksana serta merta : Interpretor ialah penterjemah bahasa yang menukar pernyataan bahasa peringkat tinggi kepada bahasa Mesin dan aturcara yang telah ditukar itu dilaksanakan serta merta. Tidak ada kod objek yang dihasilkan. Oleh kerana itu pemprosesan menjadi lebih pantas. Contoh bahasa yang menggunakan Interpretor ialah BASIC.
 Bahasa generasi ketiga yang diterangkan di atas juga dikenali sebagai bahasa bertatacara. Ia bertatacara kerana satu siri tatacara dibentuk terlebih dahulu sebelum menulis aturcara. Tatacara ini merupakan siri arahan yang mesti diikuti oleh pengaturcara apabila menulis arahan dalam bahasa tersebut.

Perbezaan Antara 3 Generasi Bahasa Pengaturcaraan Terawal
Generasi Pertama - Bahasa Mesin
11110010     01110011     1101     001000010000     0111     000000101011
11110010     01110011     1101     001000011000     0111     000000101111
11111100     01010010     1101     001000010010     1101     001000011101
Generasi Kedua - Bahasa Assembly
PACK     210(8,13) , 02B(4,7)
PACK     218(8,13) , 02F(4,7)
MP        212(6,13) , 21D(3,13)
SRP      213(5,13) , 03E(0,5)
UNPK    050(5,7) , 214(4,13)
OI        054(7) , X'FO'
Generasi Ketiga - COBOL (cth)
MULTIPLY HOURS-WORKED BY DAY-RATE GIVING GROSS-PAY ROUNDED

Proses Penterjemahan Ke Bahasa Mesin
Kod Sumber (Bahasa Peringkat Tinggi)
IF COUNT = 10GOTO DONE
ELSE
GOTO AGAIN
END IF
KompilerPenterjemah bahasa ini menukarkan bahasa peringkat tinggi (kod sumber) kepada bahasa Mesin (kod objek) sebelum komputer boleh melaksanakan aturcara.
Atrucara Penterjemah Bahasa

10010101001010001010100
10101010010101001001010
10100101010001010010010
Kod Objek (bahasa mesin)

Generasi Keempat - Bahasa Peringkat Sangat Tinggi
 Bahasa generasi ini juga lebih dikenali sebagai 4GL iaitu singkatan 4th Generation Language. 4GL lebih berorientasikan pengguna dan pengaturcara perlukan lebih sedikit arahan dalam membangunkan sesuatu aturcara. Jika dibandingkan dengan bahasa generasi ketiga, 4GL adalah bahasa pengaturcaraan tidak bertatacara. Pengaturcara boleh menulis tanpa perlu mengikut tatacara bagaimana hendak melaksanakan sesuatu perkara. Ini menjimatkan masa pengaturcara kerana mereka tidak perlu menulis arahan sebagaimana yang perlu dibuat apabila menggunakan bahasa bertatacara.
 4GL terdiri daripada 3 bahagian :
     Penjana Laporan - Ia juga dikenali sebagai Penulis Laporan. Ia adalah aturcara untuk pengguna biasa yang
         digunakan bagi menghasilkan sesuatu laporan yang terdiri daripada 2 tujuan iaitu sama ada untuk cetakan atau
         paparan skrin komputer. Penjana boleh menunjukkan semua atau sebahagian daripada fail pangkalan data.
         Pengguna ini boleh menentukan format laporan terlebih dahulu seperti berapa kolum, berapa baris dan
         sebagainya dan penjana akan menghasilakn data dalam format yang telah ditentukan.  Contoh penjana laporan
         ialah RPG III.
      Bahasa Pertanyaan - Ini adalah  bahasa yang senang digunakan bagi mencapai data dari sistem pengurusan
         pangkalan data. Pertanyaan dibuat dalam bentuk ayat atau arahan yang menghampiri bahasa Inggeris biasa.
         Contoh bahasa pertanyaan ialah SQL (Structured Query Language), QBE (Query By Example) dan Intellect.
      Penjana Aplikasi - Penjana ini merupakan peralatan pengaturcara yang membolehkan seseorang menyatakan
         penerangan terperinci mengenai apakah data yang hendak diproses. Kemudian, perisian aakan menjana kod
         bagi aturcara untuk melaksanakan tugas tersebut. Kelebihan penjana aplikasi ialah pengaturcara tidak perlu
       menentukan bagaimana data harus diproses. Penjana sudah mempunyai modul yang telah diprogramkan terlebih
        dahulu bagi melaksanakan tugas-tugas tertentu. Pengaturcara menggunakan penjana aplikasi bagi membantu
        mereka menghasilkan bahagian aturcara yang lain.  Misalnya, perisian ini digunakan bagi membuat menu atas
        skrin atau jenis format untuk proses input dan output (I/O). Dua sistem pengurusan pangkalan data hubungan
        (RDBMS), NOMAD dan Focus adalah contoh perisian penjana aplikasi. Walaupun 4GL tidak menggantikan bahasa
        generasi ketiga, namun begitu ia digunakan untuk melaksanakan tugas khusus yang boleh dimasukkan ke dalam
        sistem lain.

Generasi Kelima - Bahasa Lazim
 Terdapat 2 jenis bahasa Lazim. Pertamanya ialah bahasa Manusia yang biasa digunakan oleh manusia seperti bahasa Inggeris, Melayu, Sepanyol dan sebagainya. Yang kedua ialah bahasa pengaturcaraan yang menggunakan bahasa manusia bagi melaksanakan perhubungan manusia dengan komputer. Bahasa ini merupakan sebahagian daripada bidang kecerdasan buatan (AI). Ianya merujuk kepada cubaan membangunkan mesin yang boleh bertindak seperti mana manusia biasa seperti berfikir, belajar, berhujah, berkomunikasi, melihat, mendengar dan sebagainya. Adalah satu matlamat menghasilkan sebuah mesin yang begitu pintar sehinggakan ia boleh berfikir sendiri bagi mengumpul maklumat dengan tujuan lebih mempintarkan sendiri.

Mesin Komputer Jon Von Neumann.






John Von Neumann mendemonstrasikan salah satu karya fenomenalnya pada tahun 1945, yaitu sebuah arsitektur komputer yang disebut “Von Neuman machine”, dimana program di simpan memori. Arsitektur komputer inilah yang kemudian digunakan oleh komputer modern sampai sekarang



Mesin-mesin pengkomputeran terawal mempunyai program yang tetap. Sesetengah komputer sangat mudah masih menggunakan reka bentuk ini, sama ada untuk tujuan kesederhanaan atau latihan. Sebagai contoh, sebuah kalkulator meja (pada dasarnya) adalah program komputer yang tetap. Ia boleh melakukan matematik asas, tetapi ia tidak boleh digunakan sebagai pemproses perkataan atau konsol permainan. Menukar program mesin tetap-program memerlukan-pendawaian semula, penstrukturan semula, atau semula reka bentuk mesin. Komputer terawal tidak begitu banyak "program" kerana mereka "direka". "Mengaturcara semula", apabila ia boleh didapati di semua, adalah satu proses yang menjerihkan, bermula dengan carta aliran dan wang kertas, diikuti oleh reka bentuk kejuruteraan terperinci, dan kemudian proses yang sering mencabar fizikal pendawaian semula dan semula membina mesin. Ia mungkin mengambil masa tiga minggu untuk menubuhkan satu program ENIAC dan ia berjaya. 


Terdapat kelemahan kepada reka bentuk Von Neumann. Selain daripada kesesakan Von Neumann yang digambarkan di bawah, pengubahsuaian program boleh agak berbahaya, sama ada oleh kemalangan atau reka bentuk. Reka bentuk di sesetengah komputer yang mudah disimpan program, program rosak boleh merosakkan sendiri, program-program lain, atau sistem operasi, mungkin membawa kepada kemalangan komputer. Perlindungan memori dan lain-lain bentuk kawalan akses biasanya boleh melindungi daripada kedua-dua kemalangan dan pengubahsuaian program berniat jahat.

Siapakah orang terawal yang mencipta komputer?

Pada tahun 1837, Charles Babbage, seorang profesor matematik British menyifatkan idea beliau untuk Enjin Analisis, yang pertama disimpan program komputer mekanikal.Engine Analisis telah direka untuk powered by enjin stim dan menggunakan punch card, yang telah digunakan untuk memprogram mesin tenun mekanikal pada masa itu.






Pada tahun 1939, John V. Atanasoff dan Clifford Berry telah membangunkan Komputer Atanasoff-Berry (ABC) di Iowa State University, yang dianggap sebagai komputer digital elektronik yang pertama. ABC dibina dengan tangan dan reka bentuk yang digunakan lebih 300 Tiub Vakum dan mempunyai kapasitor yang ditetapkan dalam dram mekanikal berputar untuk ingatan.

 


MAKSUD KOMPUTER


Komputer ialah sebarang mesin atau peranti yang digunakan untuk memproses maklumat, berpandukan kepada program yang ditetapkan.

Pada awalnya, perkataan komputer bermaksud pengira. Mesin komputer dibina untuk melakukan pengiraan matematik yang kompleks.





Kelebihan mesin komputer adalah seperti berikut:

1) pantas
Komputer dapat memproses arahan dengan begitu pantas sehingga kadar kepantasannya diukur dengan kiraan jutaan juta per saat.

2) tepat
Komputer akan melaksanakan arahan pemprosesan tepat sebagaimana yang dikehendaki (meskipun arahan itu salah logiknya atau bersifat desktruktif iaitu menjahanamkan data atau sistem).

3) pengurusan memori yang cekap.
Komputer menyimpan maklumat di dalam sistem memorinya yang kecil tetapi padat. Sistem memori ini berupaya menyimpan berjuta-juta maklumat digital di dalam ruang yang begitu kecil. Umpamanya, dokumen bersaiz A4 yang disimpan penuh di dalam bilik berkemungkinan akan dapat disimpan secara digital (fail imej) di dalam sebatang memori Flash bersaiz 8GB sahaja.