Your SlideShare is downloading. ×
Daskom 4
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Daskom 4

258
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
258
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PEMROGRAMAN KOMPUTER Chaeriah Wael, ST, MT Email : chaeriah.wael10@gmail.com UNRIKA – Batam tigenap2011@yahoo.com Bahasa Pemrograman
  • 2. Istilah-istilah  Program adalah kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur yang menjadi urutan langkah untuk menyesuaikan masalah dan diimplementasikan dengan bahasa pemrograman.  Bahasa pemrograman merupakan prosedur atau tata cara penulisan program. Dalam bahasa pemrograman, terdapat dua faktor penting yaitu sintaksis dan semantik.  Sintak adalah aturan-aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan sedangkan semantik adalah aturan-aturan untuk menyatakan suatu arti. Contoh : Write, Read  Pemrograman merupakan proses mengimplementasikan urutan langkah-langkah untuk menyelesaikan suatu masalah dengan bahasa pemrograman.  Pemrogram (programmer) adalah orang yang membuat program.
  • 3. Bahasa Pemrograman  Notasi algoritma nantinya dapat dituangkan ke dalam bahasa pemrograman apapun, dengan kata lain algoritma bersifat independen.  Belajar bahasa pemrograman tidak sama dengan belajar algoritma. Belajar logika pemrograman Belajar bahasa pemrograman
  • 4. Sejarah Perkembangan Bahasa Pemrograman  50an - 60an :  Bahasa tingkat tinggi awal : FORTRAN, COBOL, ALGOL60.  Bahasa berbasis matematika : LISP, APL, SNOBOL.  General-purpose language : PL/1.  Bahasa tingkat tinggi : Algol68, SIMULA67, BASIC.  70an  Pemrograman terstruktur : Pascal  Systems programming : C, modula-2  Logical programming: Prolog  Functional programming: Scheme
  • 5. 5 A short history of programming languages (cont.)  80s:  Development of functional programming: ML, Miranda  Need for reliability and maintainability: Ada  Object-oriented programming: Smalltalk, C++  90s:  Fourth-generation languages  Productivity tools (such as spreadsheets)  Visual languages : Delphi  Scripting languages : Perl  Expert systems shells  Network computing : Java
  • 6. Sejarah Perkembangan Bahasa Pemrograman  80an :  Pengembangan functional programming : ML, Miranda  Object-oriented programming: Smalltalk, C++  90an  Fourth-generation languages  Productivity tools (such as spreadsheets)  Visual languages : Delphi, VB  Scripting languages : Perl  Expert systems shells  Network computing : Java
  • 7. Evolusi Bahasa Pemrograman Ditinjau dari segi kemudahan pemakaian dan interaksi dengan perangkat keras, bahasa pemrograman dibagi menjadi 4 generasi : 1. Bahasa Mesin (1st Generation Language) 2. Bahasa Assembly (2nd Generation Language) 3. Bahasa Tingkat Tinggi (3th Generation Language) 4. 4-GL (4th Generation Language) Bahasa Generasi 1 Bahasa Mesin Bahasa Generasi 2 Bahasa Rakitan Bahasa Generasi 3 Bahasa prosedural (ADA, Basic, C, Cobol, dll) Bahasa Generasi 4 Bahasa nonprosedural (Oracle,NOMAD, dll)
  • 8. Bahasa Mesin (1st GL)  Bahasa pemrograman sudah muncul pada era 1940, bahasa yang digunakan pada masa itu dikenal dengan nama bahasa mesin (machine language)  Bahasa mesin (first generation languages) merupakan sederetan kode biner (0 dan 1) yang dapat dimengerti oleh perangkat keras.  Perangkat keras yang berbeda akan memiliki kode mesin yang berbeda pula. Contohnya : Komputer IBM menggunakan bahasa mesin yang berbeda dengan Komputer Apple
  • 9. Bahasa Assembly (2nd GL)  Second Generation Languages muncul pada era 1950, lebih mudah digunakan dibandingkan dengan bahasa mesin namun masih sangat “complicated”  2-GL dikenal juga dengan bahasa Assembly  Karena komputer hanya mengerti bahasa mesin, maka kode yang ditulis dalam Assembly harus ditranslasikan ke dalam bahasa mesin  Kode diterjemahkan menjadi bahasa mesin dengan menggunakan translator yang disebut assembler
  • 10. Bahasa Assembly (2nd GL) Assembler Assembly code Object code
  • 11. Bahasa Tingkat Tinggi(3thGL)  Merupakan bahasa pemrograman yang dekat dengan bahasa manusia.  Sebelum dijalankan, program harus di-compile terlebih dahulu  Kelebihan :  Mudah dalam baca, tulis maupun diperbarui.  Menyediakan lingkungan yang lebih user friendly.  Bersifat portable, artinya kode yang dihasilkan untuk suatu sistem dapat ditranslasikan agar dapat digunakan untuk sistem lain.
  • 12. 4-GL  4-GL lebih mendekati bahasa manusia sehingga lebih mudah digunakan dibandingkan 3-GL.  Ditulis dalam text-based environment, bahkan ada yang menyediakan visual environtment bagi programmer untuk membuat program.  Contoh 4-GL  Berbasis teks (biasa digunakan untuk mengakses database) : SQL  Berbasis visual : Visual Basic (VB), VisualAge
  • 13. Klasifikasi Bahasa Pemrograman Berdasarkan aplikasi kegunaannya : 1. Bahasa pemrograman bertujuan khusus Contoh : Cobol (adm bisnis), Fortran (komputasi ilmiah), Prolog (Artificial Intelligent) 2. Bahasa pemrograman bertujuan umum Contoh : Pascal, Basic, C, C++ Berdasarkan notasi kedekatan ke mesin : 1. Bahasa tingkat rendah : sulit dimengerti oleh manusia Contoh : bahasa mesin 2. Bahasa tingkat tinggi : lebih menyerupai bahasa manusia sehingga lebih mudah dipahami Contoh : Pascal, Cobol, Basic, Fortran, C, C++
  • 14. Paradigma Pemrograman  Paradigma pemrograman : cara pandang kita dalam menyelesaikan suatu masalah pemrograman.  Beberapa paradigma pemrograman yang ada :  Prosedural / Terstruktur  Fungsional  Deklaratif / Logika  Object-Oriented  Paradigma Konkuren
  • 15. Paradigma Prosedural  Algoritma berisi urutan langkah-langkah penyelesaian masalah ↔ proses yang prosedural.  Program dibedakan menjadi bagian data dan bagian instruksi : o Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya percabangan kondisional. o Data yang tersimpan di dalam memori dimanipulasi oleh instruksi secara beruntun / prosedural.  Kelebihan : efisien dalam eksekusi  Contoh : Algol, Pascal, Fortran, Basic, C
  • 16. Paradigma Fungsional  Paradigma fungsional memandang penyelesaian masalah sebagai komposisi dan aplikasi fungsi yang memetakan masalah ke jawaban.  Tidak ada pemisahan data dan instruksi.  Pemrogram tidak perlu lagi mengetahui bagaimana mesin mengeksekusi atau bagaimana informasi disimpan di memori. Yang menjadi perhatian hanya keadaan awal dan akhir (setiap fungsi berperan sebagai kotak hitam).  Kelemahan : proses eksekusi tidak efisien dibandingkan dengan prosedural.
  • 17. Paradigma Deklaratif / Logika  Paradigma deklaratif memandang penyelesaian masalah sebagai inferensi terhadap fakta dan aturan yang diberikan.  Ketika dieksekusi, pemakai mengajukan pertanyaan (query) dan program akan menjawab apakah pernyataan itu dapat dideduksi dari aturan atau fakta yang ada.  Program akan memakai aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan.  Contoh : Prolog
  • 18. Paradigma Konkuren  Paradigma ini erat hubungannya dengan arsitektur perangkat keras yang memungkinkan pemrosesan secara paralel.  Contoh : Ada, Java, dll
  • 19. Paradigma Object-Oriented  OOP memandang penyelesaian masalah sebagai hasil interaksi dari kelas yang membentuk objek.  Beberapa konsep dalam OOP :  Kelas : kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.  Objek : membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer  Atribut : adalah data yang dimiliki oleh object dalam kelas.
  • 20. Paradigma Object-Oriented  Contoh : Dari pengertian tersebut diatas dapat diberikan contoh sebagai berikut : Kelas : Manusia Object : Rini, Budi Atribut : Rini memiliki atribut nama, Alamat, Umur
  • 21. Paradigma Object-Oriented
  • 22. Tahap Pembuatan Program Algoritma Program dalam bahasa tingkat tinggi Program dalam bahasa mesin Interpretasi Kompilasi + Linking Interpretasi oleh CPU Operasi (baca, tulis, hitung, perbandingan, dsb)
  • 23. Translator  Translator melakukan pengubahan source code/source program ke dalam target code/object code. Translator Interpreter Compiler  Tidak membangkitkan object code  Source code dan data diproses bersamaan  Contoh : BASICA, SPSS, DBASE III  Source Code adalah bahasa tingkat tinggi.  Object Code adalah bahasa mesin atau assembly  Source code dan data diproses tidak bersamaan  Contoh : PASCAL, C Assembler  Source Code adalah bahasa Assembly  Object Code adalah bahasa mesin  Contoh : Turbo Assembler
  • 24. Interpreter Analisa Leksikal Analisa Sintaks Intermediate Program Interpretasi Pengelolaan Tabel Program Sumber Penanganan Kesalahan Hasil Operasi
  • 25. Assembler  Source Code adalah bahasa Assembler, Object Code adalah bahasa mesin  Object Code dapat berupa file object (.OBJ), file .EXE, atau file .COM  Contoh : Turbo Assembler (dari IBM) dan Macro Assembler (dari Microsoft) Source Code Object CodeAssembler File TargetLingker .ASM .OBJ .EXE / .COMProses Sebuah Kompilasi pada Bahasa Assembler
  • 26. Compiller  Kompilator : program yang menerjemahkan sebuah program dalam bahasa sumber (source language) ke bahasa sasaran (target language).  Proses kompilasi dapat digambarkan sebagai berikut :  Proses kompilasi dikelompokkan menjadi : 1. Analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediate representation). 2. Sintesa : membangun program sasaran yang diinginkan dari CompilerProgram sumber Bahasa sasaran Pesan-pesan kesalahan (error messages)
  • 27. Penganali sa Leksikal (scanner) Penganali sa Sintaks (parser) Penganalis a Semantik Pembangkit Kode antara Pembent uk kode Pengoptim al kode Program Sumber Progra m Sasara n TABEL SIMBO L ANALISA SINTESA Bagan pokok proses kompilasi Blok Diagram Compiller
  • 28. Keterangan :  Program Sumber ditulis dalam bahasa sumber, misal Pascal, Assembler, dsb.  Program Sasaran dapat berupa bahasa pemrograman lain atau bahasa mesin pada suatu komputer.  Scanner : Memecah program sumber menjadi besaran leksik/token.  Parser : Memeriksa kebenaran dan urutan kemunculan token.  Penganalisa semantik : Melakukan analisa semantik, biasanya dalam realisasi akan digabungkan Dengan intermediate code generator (bagian yang berfungsi membangkitkan kode antara)  Pembentuk Kode : Membangkitkan kode objek  Pengoptimal Kode : Memperkecil hasil dan mempercepat proses.  Tabel : Menyimpan semua informasi yang berhubungan dengan proses kompilasi Compiller
  • 29. Compiller Source Code 1 Source Code 2 Source Code n Object Code 1 Object Code 2 Object Code n Compiler 1 Compiler 2 Compiler n Linker Executable Library Object Code  Pembentukan file Executable dari beberapa Source Code  Source Code dapat terdiri dari satu atau lebih behasa pemrograman.
  • 30. Interpreter vs. Compiller Interpreter Compiler 1. Menerjemahkan instruksi per instruksi. 2. Bila tejadi kesalahan kompilasi, dapat langsung dibetulkan secara interaktif. 3. Tidak menghasilkan objek program. 4. Tidak menghasilkan executable program karena langsung dijalankan pada saat program diinterprestasi 5. Proses interprestasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakan dan output langsung dilihat hasilnya 6. Source program terus dipergunakan karena tidak dihasilkan executable program. 7. Proses pengerjaan program lebih lambat karena setiap instruksi dikerjakan harus diinterprestasikan ulang kembali 8. Keamanan dari program kurang terjamin, karena yang selalu digunakan adalah source program 1. Menerjemahkan secara keseluruhan sekaligus. 2. Bila tejadi kesalahan kompilasi, Source program harus dibenarkan dan proses kompilasi diulang kembali. 3. Menghasilkan objek program. 4. Menghasilkan executable program, sehingga dapat dijalankan di keadaan prompt sistem. 5. Proses kompilasi lama karena sekaligus menerjemahkan seluruh instruksi program. 6. Source program sudah tidak dipergunakan lagi untuk mengerjakan program. 7. Proses mengerjakan program lebih cepat, karena executable program sudah dalam bahasa mesin. 8. Keamanan dari program lebih terjamin, karena yang dipergunakan executable program Perbedaan interpreter dan compiller
  • 31. TERIMA KASIH