Bahasa Pengaturcaraan OBJEKTIF: Supaya pelajar dapat: Membezakan data dan maklumat Menghuraikan konsep pengaturcaraan Mengkelaskan Bahasa Peringkat Rendah dan Bahasa Peringkat Tinggi Menghuraikan konsep Bahasa Pengaturcaraan visual Membezakan Pengkompil dan Penterjemah 1
Bahasa Pengaturcaraan
Komputer sepintas lalu Bahasa pengaturcaraan Bahasa Peringkat Rendah Bahasa Peringkat Tinggi Pengkompil Penterjemah Bahasa Pengaturcaraan visual(tumpuan dalam makmal) 2
Komputer
Amat penting dan menjadi kemestian pada manusia hari ini.
Keupayaan - menerima, memproses, menyimpan dan mengagihkan data dan maklumat.
Data - fakta mentah yg kurang bernilai. – – – – –
Cth: nama pelajar, no matrik, jumlah jam kredit Data Alphanumerik – nombor, huruf, lain2 karektor Data imej – imej grafik atau gambar Data audio – bunyi, ton Data video – imej atau gambar bergerak 3
Komputer samb…
Maklumat – data yang telah dibentuk dan diberi makna dan menjadi berguna kepada manusia.
Data/maklumat boleh disimpan di dalam ingatan komputer (sementara atau kekal).
Komputer melaksanakan proses pengiraan, arithmetik dan logik.
Kawalan ke atas komputer dilakukan oleh manusia melalui aturcara komputer. 4
Bahasa Pengaturcaraan
Pengaturcaraan – menterjemah penyelesaian
masalah ke dalam bentuk program/aturcara yang boleh dilaksanakan oleh komputer (merekabentuk atau membina aturcara.)
Arahan dalam bahasa yang boleh di fahami komputer – binari – 0 dan 1(bahasa mesin
dan bahasa penghimpun)
Kini, terdapat bahasa pengaturcaraan peringkat tinggi – lebih mudah. – Cth: Java, C, C++, FORTRAN, ADA, Basic, Pascal, COBOL, Visual Basic, Visual C++ dll
5
Bahasa Pengaturcaraan
Terdapat dua peringkat/paras bahasa pengaturcaraan: – Peringkat Rendah 1.bahasa mesin (1GL) 2.bahasa penghimpun (2GL)
– Peringkat Tinggi 1.Pengaturcaraan Berstruktur (3GL) -Berasaskan teks (COBOL,QuickBASIC,ADA,Fotran,Pascal,C) -Dengan Visual (Visual Basic) 2.Pengaturcaraan Berorientasikan Objek (4GL) -Berasaskan teks (C++, Java) -Dengan Visual (Visual C++)
6
Bahasa Peringkat Rendah
Juga dikategorikan sebagai bahasa aras rendah
7
Bahasa Peringkat Rendah
Bahasa pengaturcaraan yg paling hampir dengan perkakasan komputer.
Bahasa mesin atau bahasa penghimpun
Pada mulanya pengaturcaraan program komputer menggunakan bahasa mesin sahaja.
8
Bahasa Peringkat Rendah
Bahasa mesin – Generasi pertama (1GL) – Bahasa aras terbawah – Bahasa yang boleh difahami oleh komputer – Sukar dan jarang digunakan - terdiri daripada jujukan bit 0 dan 1 atau no. asas 16. – Pemprosesan arahan adalah pantas – tidak perlu diterjemahkan. 9
Bahasa Peringkat Rendah
Bahasa mesin…. – Setiap CPU mempunyai bahasa mesinnya yg tersendiri.
Cth: (kod aturcara untuk bahasa mesin) Menambah jumlah markah ujian dan markah kuiz serta tugasan. 21 200 300 400 21 – kod penambahan 200, 300 - alamat lokasi jumlah markah ujian dan kuiz 400 - lokasi jum. Markah keseluruhan akan disimpan 10
Bahasa Peringkat Rendah
Bahasa Penghimpun (assembly language) – Bahasa arah rendah yang paling biasa digunakan. – Bahasa pengaturcaraan generasi ke2 (2GL). – Lebih mudah daripada bahasa mesin – berasaskan teks. – Terdiri daripada siri simbol atau nmemonic. – Perlu diterjemah kedalam b. mesin – penterjemah (assembler) – Masih sukar. 11
Bahasa Peringkat Rendah
Bahasa Penghimpun samb… – Setiap CPU/pemproses mempunyai bahasa penghimpunya yg tersendiri. – Program yg ditulis oleh sejenis CPU tidak boleh dilarikan pada CPU jenis lain. – Cth: (21 200 300 400 – dalam bahasa mesin) A EMARK QMARK FMARK (dalam bahasa penghimpun)
12
Bahasa Peringkat Tinggi 1.Pengaturcaraan Berstruktur (3GL)
(Berasaskan teks)
Bermula drp bahasa generasi ke 3 (3GL)
Tidak terlalu bergantung kepada jenis pemproses.
Lebih ke arah penggunaan bahasa Inggeris. – Seperti “FOR”, “GOTO”, “PRINT”, “IF”, etc
Arahannya dikenali sebagai kod sumber.
Kod sumber perlu ditukar ke dalam b. mesin oleh pengkompil (compiler) atau penterjemah (interpreter). 13
Bahasa Peringkat Tinggi
Kelebihan bahasa peringkat tinggi – Lebih mudah dibaca, ditulis, dan diselenggara. – Lebih mudah tetapi lembih lambat diproses. – Bahasa ini adalah mudah alih “portable” – aturcara atau kod yang ditulis, boleh digunakan pada komputer yang berbeza.
14
Bahasa Peringkat Tinggi 1.Pengaturcaraan Berstruktur (3GL) (Visual) Bahasa
generasi ke 3 (3GL)
Menggabungkan
pengaturcaraan berasaskan teks dan visual – sokongan menu, ikon, dsb seperti yang terdapat dalam bahasa pengarangan Contoh
yg paling popular – Visual Basic (VB).
Dalam
VB antaramuka dilukis terlebih dahulu dan kemudiannya disertakan kod pengaturcaraan basic pada objek yang perlu. 15
Bahasa Pengarturcaraan Visual
16
Bahasa Pengarturcaraan Visual Private Sub Biru_Click() Picture1.BackColor = &HC00000 End Sub Private Sub Hijau_Click() Picture1.BackColor = &HC000& End Sub Private Sub Kuning_Click() Picture1.BackColor = &HFFFF& End Sub 17
Bahasa Pengarturcaraan Visual Private Sub Merah_Click() Picture1.BackColor = &HC0& End Sub Private Sub End_Click() End End Sub
18
Bahasa Pengarturcaraan Visual
Butang “merah” ditekan
19
Bahasa Peringkat Tinggi 2.Pengaturcaraan Berorientasikan Objek(4GL) (Berasaskan teks dan Visual)
Bahasa generasi ke 4 (4GL)
2 konsep utama dalam OOP – Objek – Kelas
Objek terdapat di mana-mana.
Manusia, binatang, kereta, pokok dan bangunan, semuanya adalah objek. 20
Bahasa Peringkat Tinggi
Setiap objek mempunyai 2 perkara sama iaitu: – sifat (attribute) - digunakan untuk menyimpan maklumat bagi sesuatu objek misalnya saiz, bentuk, warna. – kelakuan (behaviour) - menentukan apakah proses dan kelakuan sesuatu objek seperti berjalan, tidur.
Contohnya: Objek : basikal Sifat jenama, warna, roda, bilangan gear Kelakuan kelajuan, memecut, berhenti
21
Bahasa Peringkat Tinggi
Setiap objek perlu ada kelas. Kelas ialah satu definisi yang membolehkan komputer mencipta suatu objek. Setiap objek dalam kelas yang sama mempunyai ciri yang sama dan berkongsi sifat yang sama.
22
Bahasa Peringkat Tinggi
Apabila menulis aturcara menggunakan konsep OOP, pengisytiharan dibuat ke atas kelas dan bukannya objek. Misalnya Proton dan Honda adalah dua contoh objek daripada kelas Kereta. Kelas Kereta mempunyai ciri dan sifat bagi sesebuah kereta yang merupakan model abstrak bagi kereta.
23
Proses Pengkompilan
Dilakukan oleh pengkompil (compiler)
Pengkompil adalah program yang menterjemahkan kod sumber ke dalam kod objek.
Pengkompil akan melihat arahan secara keseluruhan, menyusun dan menukarnya ke dalam bahasa mesin.
Hasil terakhir daripada proses pengkompilan adalah “executable file”.
Pengkompil memerlukan sedikit masa sebelum “executable file” terhasil. 24
Proses Pengkompilan Fasa dalam proses mengkompil: Fasa 1 – Pengkompil mengenalpasti semua arahan dalam kod sumber dan menyemaknya samada terdapat kesalahan atau pepijat dari sudut penulisan dan logik aturcara (syntax dan semantic).
Fasa 2 – Penkompil menterjemahkan setiap arahan ke dalam bahasa mesin dan disimpan dalam fail kod objek (object code). 25
Proses Pengkompilan
Fasa 3 – Kod objek akan dirangkaikan dan digabungkan dengan aturcara lain sebelumnya dan aturcara daripada sistem pengoperasian. – runtime library
Fasa 4 – Fail yang telah selesai dihubungkan –”executable file” (*.exe) - disimpan secara bersendiri dan bersedia untuk beroperasi dan digunakan. 26
Proses Pengkompilan 27
Proses Pengkompilan
Kod Sumber Contoh IF PMK = 3.0 GOT 10 DONE ELSE GO TO 10 AGAIN END IF
Kod objek (contoh) 100101010010001010100 10101010010101001001010 10100101010001010010010
28
Proses Penterjemahan
Dilakukan oleh penterjemah (interpreter). – Program yang melaksanakan program lain
Kaedah alternatif untuk menukarkan kod sumber kepada bahasa mesin.
Setiap arahan kod sumber akan diterjemahkan ke dalam bahasa mesin dan dilancarkan serta merta.
Penterjemah harus disediakan bersama2 dengan setiap program pada setiap sistem yg akan digunakan. 29
Proses Penterjemahan
Kebanyakan penterjemah adalah fail yang diletakkan di dalam direktori yang sama dengan kod sumber. – Membolehkan perisian hasil daripada proses penterjemahan dilancarkan terus seperti perisian yang terhasil daripada proses pengkompilan.
30
Proses Pengkompilan vs. Penterjemahan Pengkompilan
Penterjemahan
Melihat keseluruhan kod sumber, mengumpul dan menyusunnya
Menganalisa dan melaksankan setiap baris kod secara berturutan.
Hasilnya lebih efektif serta mudah disebarkan
Kurang efektif dan agak sukar disebarkan
Proses pembetulan sukar dilakukan serta merta
Memudahkan proses pembetulan dilakukan serta merta
Lebih cepat utk melarikan program tetapi masa lama utk mengkompil & melarikannya
Ambil masa lebih lama utk melarikan program tapi lebih pantas utk terjemah 31
Proses Pengkompilan vs. Penterjemahan Pengkompilan Kurang sesuai
Lebih cepat untuk melarikan kod yg telah dikompil – terus melaksankan “action”
Penterjemahan Penting dlm kitaran edit-interpretingdebug utk proses prototaip atau ujian.
Lambat untuk menterjemah setiap baris arahan – perlu analisis setiap penyataan 32