Konsep Bahasa Pemograman- BAB 1 – Pengenalan Bahasa Pemograman

                                                       BAB 1

                              Pengenalan Bahasa Pemograman

1.Alasan Mengapa Ki ta Harus Belajar Konsep Pemrograman

Di masa yang lalu secara luas banyak yang percaya bahwa untuk memasuki zaman komputer hampir semua orang harus belajar bagaimana cara memprogram. Tetapi anggapan tersebut tidak dapat dibenarkan, karena dimasa sekarang komputer sudah memiliki perangkat lunak yang mudah digunakan dan tidak memerlukan keahlian dalam pemrograman.

Alasan lain untuk belajar pemrograman mungkin untuk berkarir sebagai ilmuwan komputer. Bagaimanapun juga, walaupun pemrograman adalah satu perlengkapan utamanya (primary tools), ilmu komputer adalah disiplin ilmu yang luas dan bermacam-macam, dimana meliputi dari persoalan engineering, seperti desain processor, persoalan yang berhubungan dengan matematik, dan performance analysis. Banyak ilmuwan komputer yang mengerjakan sedikit atau tidak sama sekali sebagai bagian dari hari kerja mereka. Jika Anda merencanakan untuk mengambil ilmu komputer sebagai yang utama ataupun tambahan, tentu saja Anda akan belajar pemrograman, tetapi untuk berkarir dibidang komputasi tersedia bagi programmer maupun nonprogrammer.

Dengan mempelajari bahasa pemograman juga dapat menambah pengetahuan anda dalam mempelajari bahasa pemograman yang tentunya akan mempermudah anda untuk mengerti makna essensial dari implementasi suatu program dan membantu bagi orang yang sudah mengenal suatu bahasa pemograman sebelumnya untuk lebih memahami sehingga lebih baik dan cepat dalam menggunakan bahasa pemograman yang diketahui.Semakin baik konsep bahasa pemograman seseorang,semakin mudah seseorang untuk mempelajari bahasa pemograman yang baru yang akan menjadi referensi bagi seseorang untuk memilih bahasa pemograman yang cocok untuk dirinya.

Terakhir alasan terbaik kenapa untuk belajar pemrograman adalah kreativitasnya dan kegiatan pemecahan masalah yang menyenangkan. Salah satu pikiran terbaik tentang pemrograman adalah Anda melihat dengan sebenarnya dan merasakan pengalaman dalam menjalankan program dari solusi yang Anda buat. Mendesain dan membangun program yang dibuat dengan baik akan menyediakan pengertian yang kuat dalam penyelesaian dan kepuasan.Jadi bagi Anda yang tertarik dengan dunia pemrograman, mulailah dari sekarang untuk belajar pemrograman, dan cobalah untuk menyelesaikan suatu permasalahan lalu diimplementasikan ke dalam program.

2.Domain Program

Pemograman telah menyentuh hampir seluruh titik kehidupan manusia.Namun,terdapat lima yang sangat menonjolkan eksitensi program pada suatu bidang sebagai berikut:

  • Scientific applications

Komputer digital pertama kali muncul pada akhir tahun 1940 dan awal tahun 1950 diciptakan untuk kepentingan scientific .Komputer itu digunakan untuk stuktur data yang sederhana dengan data struktur berupa array dan matriks serta control struktur yang dipakai ialah counting loops dan seleksi.Bahasa pemograman yang dipakai ialah Fortran.Selanjutnya akan dipakai bahasa pemograman Algol 60 .

  • Business applications

Komputer untuk aplikasi bisnis pertama kali dimulai pada tahun 1950 dengan bahasa pemograman tingkat tinggi pertama  yaitu COBOL.Komputer digunakan untuk fasilitas menelaborasi laporan , menentukan cara tepat untuk data decimal,data karakter dan mengspesifikasikan operasi aritmatik desimal.

  • Artificial intelligence

AI adalah aplikasi computer yang lebih banyak memakai simbol daripada komputasi numerik.Komputasi simbolik lebih nyaman dipakai dengan linked list daripada array .Bahasa pemograman yang dipakai pertama kali ialah LISP  pada tahun 1959 dan pada awal tahun 1970 ,munculnya bahasa pemograman Prolog

  • Systems programming

Sistem operasi dan alat yang mendukung program dari system computer disebut system software. Bahasa pemograman yang dibuat untuk system programming oleh IBM ialah PL/S yang nantinya akan berubah menjadi PL/I.Namun,sekarang bahasa pemograman yang dipakai ialah bahasa pemograman C dan C++.Contohnya,pada sistem operasi UNIX sendiri ditulis kebanyakan dalam bahasa C.

  • Web Software

The World Wide Web didukung oleh sebuah kumpulan bahasa pemograman yang diambil dari markup language ,seperti HTML .Biasanya untuk pembuatan konten web yang dinamik dan fungsi ini didapatkan dari bahasa pemograman HTML,Java Script dan PHP.

3.Language Evaluation Criteria ( Kriteria Evaluasi Bahasa Pemograman )

Kriteria yang dibutuhkan untuk melakukan evaluasi pada bahasa pemograman adalah:

  • Readability: kemudahan yang program dapat dibaca dan dipahami

Faktor-faktor dari readability:

  • Simplicity
  • Orthogonality

Orthogonality adalah sekumpulan pembentukan data dasar yang dapat dikombinasikan dengan berbagai cara untuk membangun control dan struktur data dari suatu bahasa .

  • Tipe data dan Struktur data
  • Desain Syntax

 

  • Writability: kemudahan yang bahasa dapat digunakan untuk membuat program.

Faktor-faktor dari writability :

  • Orthogonality
  • Expresif
  • Mendukung abstraksi.

Abstraksi adalah kemampuan untuk mendefinisikan dan kemudian menggunakan struktur atau operasi yang kompleks  yang mengizinkan pengabaian detail sebanyak-banyaknya.

  • Tipe data dan Struktur data
  • Desain Syntax

 

  • Reliability: sesuai dengan spesifikasi (yaitu, melakukan dengan spesifikasinya).

Faktor-faktor dari realiability :

  • Type checking.
  • Exception handling.
  • Readability dan writability

 

  • Cost : Biaya akhir dari sebuah bahasa pemrograman adalah fungsi dari banyak

characteristicsa nya:

  1. Biaya programmer pelatihan
  2. Biaya penulisan program
  3. Biaya kompilasi program
  4. Biaya mengeksekusi program

 

3.Pengaruh terhadap Desain Bahasa Pemograman

  • Arsitektur komputer

Bahasa dikembangkan sekitar arsitektur komputer umum, yang dikenal sebagai

arsitektur von Neumann. Desain bahasa pemrograman telah menerima efek mendalam dari arsitektur dasar komputer. Sebagian besar bahasa pemrograman yang populer dari 50 tahun terakhir telah dirancang pada masa arsitektur komputer umum, yang disebut arsitektur von Neumann, pencetusnya John von Neumann .Bahasa pemrograman yang dipakai ialah bahasa-bahasa imperatif.

Karena arsitektur von Neumann, fitur utama dari bahasa-bahasa imperatif adalah variabel, model sel memori; assignment statement, yang didasarkan pada operasi pipa (piping) dan bentuk berulang dari pengulangan, yang merupakan cara paling efisien untuk melaksanakan pengulangan pada ini arsitektur komputer ini.

Arsitektur Von Neuman

  • Shared program technique :
    -Perangkat keras sederhana yang tidak perlu tertanam untuk setiap program.

-Memori terpisah dari CPU

-Data dan Instruksi disalurkan dari memori ke CPU
-Instruksi kompleks untuk digunakan untuk mengontrol perangkat keras, yang

memungkinkan untuk “memprogram ulang”(“reprogrammed”) jauh lebih cepat.

  • Conditional control transfer (Transfer kontrol kondisional) :

-subroutines atau blok kecil kode yang dapat melompat ke dalam urutan apapun bukan berurutan memerintahkan langkah-langkah.

                      Von Nuemann computer architecture

  • Metode-Metode Desain Program

Metode-Metode Desain Program mengarahkan kepada paradigma bahasa pemograman yang baru dengan perbaharuan dan bahasa pemograman baru.Berikut perkembangan Metodologi Pemrograman
-Tahun 1950-an dan awal 1960-an: aplikasi sederhana; khawatir tentang efisiensi mesin.
-masa akhir 1960an: efisiensi orang menjadi penting, mudah dibaca, struktur kontrol yang lebih baik.

-Masa akhir 1970an : data abstraksi.
-masa pertengahan 1980an: domain dan data kompleksitas ; pemrograman berorientasi obyek.

-Masa saat ini : web dan lingkungan jaringan; komputasi terdistribusi.

4.Kategori Bahasa Pemograman

Ada 4 kategori bahasa pemrograman :

  1. Imperative, bahasa yang berbasiskan von Neumann Archittecture, diamana memori yang sama digunakan untuk data dan memberikan instruksi kepada program. Mayoritas computer modern menggunakan von Neumann Archittecture sebagai basis nya.
  2. Functional, bahasa yang berbasiskan fungsi matematika yang merupakan struktur anggota dari suatu set yang disebut domain set sampai ke set yang lain yang disebut range set.
  3. Logic, bahasa yang berbasiskan logika yang formal yang mengekspresikan fakta dan aturan – aturan yang berkaitan dengan suatu masalah pada sebuah domain.
  4. Markup/programming hybrid, bahasa yang berbasiskan teks dan tags yang berhubungan dengan dokumen elektronik, operating system, aplikasi dan program.

  5.Metode Implementasi

Ada 3 metode untuk mengimplementasikan bahasa pemrograman :

  1. Compilation, dengan metode ini compiler akan menerjemahkan suatu program menjadi machine language, yang bisa menjadi suatu input untuk interpreter ato compiler yang lain.

Compilation juga terbagi atas beberapa fase :

  • Lexical analysis, perubahan karakter di dalam program sumber menjadi unit lexical.
  • Syntax analysis, merubah unti lexical menjadi parse trees, yang merepresentasikan struktur syntax dari suatu program.
  • Semantics analysis, menghasilkan intermediate code.
  • code generation, merubah intermediate code menjadi kode yang dapat dimengerti oleh mesin sehingga siap digunakan.

Compilation biasa digunakan untuk aplikasi komersial.

                                  Gambar Proses Compilation

 

  1. Pure Interpretation, dengan metode ini suatu program akan ditafsirkan oleh interpreter. Metode ini tidak membutuhkan translasi dan lebih mudah untuk digunakan karena error bisa ditemukan dengan cepat, akan tetapi memiliki waktu eksekusi yang lebih lama dan memakan lebih banyak memori.
    Pure Interpretation biasa digunakan pada program – program kecil.

Gambar Proses Pure Interpretation

  1. Hybrid Implementation Systems, merupakan gabungan dari Compilation dan Pure Interpretation. Dalam metode ini bahasa yang berlevel tinggi dari suatu program akan diterjemahkan menjadi bahasa level menengah agar dapat di interpretasi dengan mudah.
    Hybrid Implementation Systems biasa digunakan untuk program kecil dan sedang.

Gambar Proses Hybrid Implementation System

 

 

Oleh Kelompok 12.

Referensi :

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *