Konsep Dasar Pemrograman
Pengertian Dasar Program adalah
rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika
dan sistematis.
Pengertian Pemrograman adalah suatu kumpulan urutan perintah ke komputer
untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang
dimengerti oleh komputer atau dikenal dengan bahasa pemrograman.
Konsep Dasar Pemrograman pada
umumnya adalah IPO (Input Proses Output), lalu dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution
||//
Storage
Originating -> input -> proses -> Output -> Distribution
||//
Storage
Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan
pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.
Input
Tahapan ini merupakan proses
pemasukan data kedalam proses komputer melalui peralatan input.
Proses
Tahap ini merupakan proses
pengolahan data dari data yang sudah diinput berupa proses
menghitung membandingkan, mengurutkan, mengklasifikasikan,
mengendalikan dan mencari di storage.
Output
Tahap ini merupakan proses untuk
menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa
informasi (monitor, speaker, dsb)
Distribution
Tahap ini merupakan proses
penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.
Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang
nantinya dapat dipergunakan untuk input proses selanjutnya.
DATA
Data adalah bahan mentah yang
akan diolah menjadi informasi sehingga dapat dipergunakan oleh user atau
pemakai.
1. Tipe Data Dasar : Merupakan tipe data
primitif yang tidak terstruktur yang didefinisikan oleh bahasa pemrograman.
Tipe data dasar dibagi menjadi
lima bagian yaitu :
- a. Numerik, yaitu menyimpan data berupa angka
- b. Enumerasi, yaitu suatu urutan list dari nilai-nilai yang berbeda.
- c. Boolean, yaitu tipe data untuk merepresentasikan True atau False.
- d. Character, yaitu tipe data untuk menyimpan rangkaian karakter.
- e. Internationalization, disebut I18N
3. Tipe Data didefinisikan oleh Pemakai :
Tipe data ini biasanya disebut Enumerasi.
4. Tipe Data Penunjuk :
Contoh tipe data penunjuk adalah pointer
Model Komputasi
Model Komputasi adalah suatu kumpulan
dari nilai dan operasi-operasi. Ada 3 dasar model komputasi :
1. Model Fungsional, yaitu
model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi dan
operasi, aplikasi, fungsi dan komposisi fungsi.
2. Model Logika, yaitu logika
model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan
kesimpulan logis.
3. Model Imperative, yaitu
model perhitungan yang imperative terdiri dari satu set nilai-nilai yang
mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status
tersebut.
Prinsip Bahasa Pemrograman
Empat prinsip dasar perancangan
bahasa pemrograman adalah:
1. Sintaks, menjelaskan
bagaimana struktur program yang benar.
2.Tipe sistem dan semantik,
menunjukkan tipe nilai yang dapat dimanipulasi oleh program dan arti(semantik)
dari program, mencakup juga aturan penamaan entitas
(variabel,fungsi,class,parameter,dll).
3. Manajemen memori, menunjuk
kepada sekumpulan teknik yg membantu kita untuk memahami pemetaan letak dari
nilai, struktur data, dan struktur program di dalam memori.
4. Exception handling, mengenai penanganan exception (hal-hal yang tak terduga seperti
kesalahan input ketika menjalankan program).
Definisi Sintaks, Semantik, dan Pragmatik
Sintaks : Aturan
gramatikal / komposisi suatu program yang mengatur tata cara penulisanhuruf,
angka dan karakter lain.
Contoh : Pada pembuatan program
Pascal antara 2 statement dipisahkan oleh ; (titik koma)
X:=1; X:=X+1;
Semantik :
Mendefinisikan arti dari program yang benar secara sintaks dari bahasa
pemrograman tersebut.
Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan
ruang sebanyak 10
Pragmatik : Kemampuan
pemakai dalam mengaitkan kalimat dengan kontek-kontek yang sesuai bagi kalimat
tersebut.
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.
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 dibanding 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 prologmenggunakan 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
Tidak ada komentar:
Posting Komentar