KONSEP DASAR PEMROGRAMAN DAN BAHASA PEMROGRAMAN

Selasa, 31 Oktober 2017
1. Pengenalan

Komputer  adalah  mesin  yang  dapat  melaksanakan  seperangkat  perintah  dasar  (instruction  set).  Agar  komputer  dapat  melakukan  sesuatu hal, harus diberikan perintah yang dapat dilaksanakannya, yaitu  dalam  bentuk  kumpulan  perintah-perintah  dasar.  Program  komputer  adalah  sekumpulan  instruksi  yang  dikenal  oleh  komputer  dan  disusun  menurut  urutan  yang  logis  untuk menyelesaikan  suatu masalah. Bahasa  pemrograman  adalah  bahasa  yang  dapat  diterjemahkan  menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program  komputer  yang  disebut  kompilator.  Sintaks  dari  bahasa pemrograman  lebih  mudah  dipahami  oleh  manusia  daripada  sintaks perintah  dasar. Namun  tentu  saja  komputer  hanya  dapat  melaksanakan perintah  dasar  itu.  Maka  di  sinilah  peran  penting  kompilator  sebagai perantara  antara  bahasa  pemrograman  dengan  perintah  dasar.  Kegiatan membuat program komputer dengan menggunakan bahasa pemrograman disebut  pemrograman  komputer.  Untuk  dapat  membuat  program komputer,  harus  dikuasai  bahasa  komputer.  Berbagai  bahasa  komputer telah  diciptakan  untuk  membantu  manusia  memprogram  komputer. Berdasarkan tingkatannya dikenal beberapa tingkat bahasa pemrograman diantaranya:

Bahasa  Pemrograman  tingkat  dasar  seperti:  Bahasa  Mesin,  Bahasa Assembley.
Bahasa  Pemrograman  tingkat  tengah  seperti:  Bahasa  C,  Bahasa FORTH.
Bahasa  Pemrograman  tingkat  tinggi  seperti:  Bahasa  Pascal, FORTRAN, COBOL, dan lain-lain.
Bahasa  pemgrogram  tingkat  dasar,  sebagai  hirarki  pertama, disebut  juga bahasa generasi pertama, bahasa  ini sangat  tergantung pada jenis  CPU  yang  dipakai  oleh  komputer  itu.  Bahasa  ini  sangat  sulit dipelajari,  karena  sifatnya  yang  sangat  tergantung  pada  mesinnya  itu (machine  dependent). Untuk menguasai  bahasa  ini, harus  dipelajari  dan dikuasai  teknologi  dan  arsitektur  komputer,  matematika  diskrit, elektronika, dan lain-lain. Bahasa ini masih menggunakan simbol-simbol yang bersifat mnemonic.

Bahasa pemrograman tingkat tengah, sifatnya sudah lebih mudah daripada bahasa pemrograman  tingkat dasar, perintah-perintahnya  sudah lebih mudah dibaca sebab sudah menggunakan huruf-huruf.

Bahasa  pemrograman  tingkat  tinggi  adalah  bahasa  komputer yang  sudah  mirip  dengan  bahasa  manusia.  Perintah-perintahnya  sudah dibuat  dalam  bahasa  yang  mudah  dimengerti  manusia,  seperti  PRINT, WRITE, IF, THEN, ELSE, dan lain-lain.

Tahapan dalam Pemrograman

Langkah-langkah  yang  dilakukan  dalam  menyelesaikan  masalah  dalam pemrograman dengan komputer adalah:

Defenisikan Masalah

Tentukan apa yang menjadi masalah
Tentukan data input yang diperlukan
Tentukan output yang diinginkan
Buat bagan dan struktur cara penyelesaian

Bagan secara global
Deskripsikan tugas masing-masing subprogram
Pilih Metode Penyelesaian

Pilih struktur data dan Algoritma terbaik
 Pengkodean

Pilih bahasa pemrograman yang sesuai
Menterjemahkan algoritma ke bahasa pemrograman
Mencari Kesalahan
Kesalahan sintaks (penulisan program)
Kesalahan Pelaksanaan: Semantik, Logika, dan  ketelitian
Uji dan Verifikasi Program
Dokumentasi Program
Pemiliharaan Program
Memperbaiki kekurangan yang ditemukan kemudian
Memodifikasi, karena perubahan spesifikasi
3. Diagram Alir

Konsep  pemrograman  dapat  digambarkan  juga  dengan menggunakan  diagram  alir  (flowchart).  Diagram  alir  adalah  simbol-simbol yang digunakan untuk menggambarkan sebuah pernyataan logika pemrograman  serta  aliran  logika  yang  ditunjukkan  dengan  arah  panah.  Ada dua jenis diagram alir yaitu:

Diagram  alir  sistem  yaitu  bagan  dengan  simbol-simbol  tertentu yang  menggambarkan  urutan  procedure  dan  proses  suatu  file dalam suatu media menjadi file di dalam media lain, dalam suatu system pengolahan data.
Diagram alir program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan  urutan  proses  dan  hubungan  antar  proses secara mendetail di dalam suatu program.
Berikut merupakan  beberapa  contoh  simbol  yang  disepakati  oleh  dunia pemrograman:

1

4. Syarat Program yang Baik

Program yang baik haruslah memenuhi beberapa kriteria, antara lain:

Program haruslah sesuai dengan tujuan dan memenuhi spesifikasi yang telah ditentukan.
Fleksibel
Tidak mengandung kesalahan
Didokumentasi secara baik
Cepat dalam waktu penggunaannya
Efesien dalam penggunaan memori computer.
KELEMAHAN DAN KELEBIHAN BAHASA PEMROGRAMAN

A.    Bahasa C

Kelebihan Bahasa C

Bahasa C tersedia hampir di semua jenis computer
Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer
Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci
Proses executable program bahasa C lebih cepat
Dukungan pustaka yang banyak
C adalah bahasa yang terstruktur
Bahasa C termasuk bahasa tingkat menengah
Kekurangan Bahasa C

Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
Bagi pemula pada umumnya akan kesulitan menggunakan pointer
B.     Bahasa Java

Kelebihan Bahasa Java:

Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
Aman, java dirancang dengan konsep keamanan internet.
Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan.
Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program.
Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll.
Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine.
Mudah dipelajari karena bersifat sederhana
Mendukung koneksi ke database
Kekurangan bahasa Java :

Java memiliki kecepatan yang kurang dari bahasa C ++
Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
Java memakan banyak memori computer
Java merupakan bahasa yang kompleks dan susah dipelajari
Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat dengan bahasa lain seperti C atau C++.
C.    Bahasa Pascal

Kelebihan bahasa pascal :

Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string.
User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.
Kekurangan bahasa pascal :

Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
Sintaks Pascal terlalu bertele-tele
Tidak mendukung pemrograman berorientasi objek
Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.
D.    Bahasa PHP

Kelebihan PHP:

PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll
PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web
Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux
Sintaks mirip C dan mudah dipelajari
Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com, phpbuilder.com, phpindo.com, dll
Berbagai script atau aplikasi yang gratis telah tersedia.
Kekurangan :

Tidak detail untuk pengembangan skala besar
Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya
Tidak bisa memisahkan antara tampilan dengan logic dengan baik
PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend
E.     Bahasa Ruby

Kelebihan:

Sintaks sederhana
Memiliki Exception Handling yang baik
OOP
Single inheritance
Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
Merupakan bahasa pemrograman scripting yang berorientasi objek
Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori
Kelemahan :

Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.
F.     Bahasa PROLOG

Kelebihan :

Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
Melakukan komputasi rumit pada data yang kompleks.
Mengekpresikan algoritma dengan baik.
Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
PROLOG mempunyai Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.
Kekurangan :

Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi lambat
G.    Bahasa Phyton

Kelebihan :

Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode
Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada
Pemrograman berorientasi objek
Pelekatan dan perluasan dalam C
Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular
Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya
Model objek universal kelas Satu
Konstruksi pada saat aplikasi berjalan
Interaktif, dinamis dan alamiah
Akses hingga informasi interpreter
Portabilitas secara luas seperti pemrograman antar platform tanpa ports
Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber
Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll
Kekurangan:

Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.
H.    Bahasa Cobol

Kelebihan :

Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat.
Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan .
Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan.
Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit.
COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer.
Mudah didokumentasikan dan dikembangkan bilamana perlu
Problem Orientad Language
Kekurangan :

Operasi masukan dan keluaran yang masih kaku
Struktur penulisan program yang sangat kaku dan bertele-tele
I.       Bahasa Basic

Kelebihan:

Bahasa Basic tergolong bahasa serbaguna dan dapat digunakan di aplikasi apa saja.
Kekurangan:

Bahasanya kurang terstruktur
Tidak cocok untuk membuat aplikasi besar
Sintaksnya penuh dengan GOTO yang menyesatkan
Bahasa ini merupakan bahasa yang primitif di era DOS
J.      Bahasa C++

Kelebihan:

Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#
Compiler bahasa C++ terdapat di semua platform
Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll
Merupakan pemrograman berorientasi objek
Kekurangan:

Bahasa ini cukup sulit untuk dipel;ajari dan dipahami
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
Bagi pemula pada umumnya akan kesulitan menggunakan pointer

https://merecut.wordpress.com/2013/03/12/konsep-dasar-pemrograman-dan-bahasa-pemrograman/

Tidak ada komentar:

Posting Komentar