Bahasa pemrograman, atau sering diistilahkan juga dengan
bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah
komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan
sintaks dan
semantik yang dipakai untuk mendefinisikan
program komputer.
Bahasa ini memungkinkan seorang programmer dapat menentukan secara
persis data mana yang akan diolah oleh komputer, bagaimana data ini akan
disimpan/diteruskan, dan jenis
langkah apa secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
- Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
- Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
- Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran
instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat
Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {,
}, ?, <<, >>, &&, ||, dsb.
- Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi
berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if,
for, while, and, or, dsb.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat
Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah
dan Assembly yang merupakan Bahasa Tingkat Rendah.
undefined/undefined
Dalam kehidupan sehari–hari, untuk berkomunikasi dengan orang lain,
kita harus menggunakan bahasa yang sama dengan orang tersebut. Apabila
kita menggunakan Bahasa Indonesia, lawan bicara kita harus mengerti
Bahasa Indonesia. Kalau lawan bicara kita tidak mengerti Bahasa
Indonesia, kita masih bisa berkomunikasi dengannya melalui penerjemah.
Dalam
pemograman komputer, berlaku juga hal seperti di atas. Kita harus
menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu
instruksi. Pada dasarnya, komputer adalah mesin digital, artinya
komputer hanya mengenal kondisi ada arus listrik (biasanya dilambangkan
dengan 1) dan tidak ada arus listrik (dilambangkan dengan 0).
Dengan
kata lain kita harus menggunakan sandi 0 dan 1 untuk melakukan
pemrograman komputer. Bahasa pemrograman yang menggunakan sandi 0 dan 1
ini disebut bahasa mesin (assembly). Sebagai contoh, dalam prosesor
Intel, terdapat perintah 0011 1010 0000 1011. Perintah dalam bahasa
mesin ini sama artinya dengan perintah assembly CMP AL, 0D, yang
artinya
bandingkan nilai register AL dengan 0D. CMP di sini sebenarnya adalah
singkatan dari CoMPare. Untuk membantu manusia dalam mengkonversi bahasa
mesin diperlukan perangkat lunak yang disebut assembler.
Pemrograman
dengan bahasa assembly masih terasa sulit bagi kebanyakan orang
sehingga dikembangkan bahasa pemrograman yang lebih mudah digunakan.
Bahasa pemrograman yang dikembangkan ini lebih condong ke bahasa manusia
dan disebut bahasa generasi ketiga / 3GL (Third-Generation Language)
atau juga dikenal dengan bahasa tingkat tinggi/ HLL (High-Level
Language). Sebagai contoh Basic, Pascal, C, C++, Cobol, dsb. Bahasa
generasi ketiga menggunakan kata-kata dalam bahasa Inggris karena bahasa
tersebut adalah bahasa internasional, misal ;
Pascal:
writeln (‘Algoritma’);
Atau perintah dalam bahasa C:
printf (“Algoritma\n\r”):
A
tau perintah dalambahasa C++:
cout << “Algoritma” << endl;
Ketiga pernyataan di atas bertujuan sama yaitu menuliskan teks ‘algoritma’ ke keluaran standar
(Standard
Output), ke layar monitor. Ketiga perintah sederhana di atas sebenarnya
terdiri dari puluhan atau bahkan ratusan pernyataan assembly. Perangkat
lunak yang menerjemahkan program dalam bahasa manusiawi ke dalam bahasa
assembly atau mesin ada dua macam, yaitu interpreter dan kompiler.
Interpreter menerjemahkan program baris perbaris artinya jika suatu
baris akan diekskusi maka baris tersebut diterjemahkan terlebih dahulu
ke bahasa mesin. Apabila baris berikutnya akan diekskusi maka baris
tersebut baru diterjemahkan kedalam bahasa mesin. Contoh bahasa
pemograman yang menggunakan interpreter adalah basic.
Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil
penerjemahan.
Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh
bahasa pemrograman yang menggunakan kompiler adalah Pascal, C, dan C++.
Khusus untuk Pascal, ada beberapa kompiler tetapi jumlahnya sedikit.
Misalnya Turbo Pascal (
http://www.inprice.com), GNU Pascal (
http://didaktik.physik.uni-essen.de/~gnupascal/home.html), Free Pascal
(
http://www.freepascal.sk)
, dsb. Kompiler Pascal yang banyak digunakan adalah Turbo Pascal,
sehingga pada modul ini juga digunakan Turbo Pascal sebagai acuannya.
Perkembangan
bahasa pemrograman setelah bahasa generasi ketiga adalah bahasa
generasi keempat atau yang disingkat 4GL (fourth-generation language).
Bahasa ini banyak digunakan sebagai aplikasi basis data (database),
salah satu contohnya adalah SQL (Structured Query Language). Pada bahasa
ini, perintah-perintah yang digunakan lebih manusiawi, misalnya “
SELECT Nama,Nilai FROM Mahasiswa”, untuk mengambil data Nama dan Nilai dari basis data Mahasiswa.
Langkah-langkah dalam Pemrograman Komputer
Dalam
pemrograman komputer, diperlukan beberapa langkah dan langkah-langkah
yang disajikan pada modul ini tidak bersifat mutlak. Artinya Anda tidak
harus melakukan dari langkah pertama, kedua, ketiga, dst. Ada beberapa
langkah yang harus atau mungkin
diulang sampai beberapa kali. Berikut ini contoh beberapa langkah yang harus dilakukan dalam
pemrograman komputer:
1. Mendefinisikan Masalah.Mendefinisikan masalah dengan menentukan masalahnya seperti apa, kemudian apa saja yang
harus dipecahkan dengan komputer, yang terakhir adalah apa masukannya dan bagaimana keluarannya.
2. Menentukan Solusi.Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang
diinginkan
sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian
masalah. Jika permasalahan terlalu kompleks, biasanya kita harus
membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan.
Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi
menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari
pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari invers
matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan
hasilnya pada pengguna.
3. Memilih Algoritma.
Langkah
ini merupakan salah satu langkah yang penting dalam pemrograman
komputer karena pemilihan algoritma yang salah akan menyebabkan program
memiliki unjuk kerja yang kurang baik.
4. Menulis Program.
Pada
langkah ini dimulai penulisan program komputer untuk memecahkan masalah
yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa
generasi ketiga. Ada beberapa hal yang harus diperhitungkan sebelum
memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa
pemrograman yang Anda kuasai, dsb.
5. Menguji Program.
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakah
program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat
menampilkan
keluaran yang diinginkan? Lebih jauh lagi program harus diuji dengan
banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus
A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus
X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program
diyakini benar-benar berjalan sesuai dengan yang diharapkan.
6. Menulis Dokumentasi.
Merupakan
hal sepele yang sering dilupakan, karena tidak ada fungsinya pada saat
pembuatan program, namun pada masa mendatang akan sangat diperlukan,
apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada
dua, yaitu di atas kertas dan menjadi satu dalam program (komentar
pendek yang menerangkan fungsi perintah-perintah yang ada dalam program
tersebut.
7. Merawat programSetelah program selesai dan digunakan oleh user, maka sering kali muncul bug / kesalahan yang
sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harus direvisi.
Definisi Algoritma
1. PengertianDitinjau
dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang
aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung
dengan angka arab. Anda dikatakan Algorist jika anda menghitung
menggunakan Angka Arab. Para ahli bahasa berusaha menemukan asal kata
ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah
matematika menemukan asal kata tersebut yang berasal dari nama penulis
buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa
Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism.
Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala
yang artinya “Buku pemugaran dan pengurangan” (The book of restoration
and reduction). Dari judul buku itu kita juga memperoleh akar kata
“Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm
muncul karena kata Algorism sering
dikelirukan dengan Arithmetic,
sehingga akhiran – sm berubah menjadi –thm. Karena perhitungan dengan
angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm
berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara
umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia,
kata Algorithm diserap menjadi Algoritma.
2. Definisi Algoritma“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis
dan logis”. Kata Logis merupakan kata kunci dalam Algoritma.
Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan
bernilai salah atau benar.
3. Aturan Penulisan Algoritma
Pada setiap bagian algoritma apabila akan dituliskan komentar mengenai setiap bagian
tersebut dituliskan di antara tanda kurung kurawal, contoh { Komentar }. Notasi algoritmis
yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program
Konsep Dasar Pemrograman
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.
Pengertian dasar program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.
Tujuan pembuatan program
- Membuat solusi dari pemecahan kasus yang timbul.
- Meningkatkan kualitas dan performance dari kinerja kerja.
- Membantu proses pengambilan keputusan.
Struktur Dasar Pemrograman
Salah satu tahapan dari pengembangan suatu program adalah menterjemahkan
atau mengkodekan rancangan terinci yang telah dibuat menjadi suatu
program komputer yang siap pakai.
Beberapa karakteristik seorang pemrogram yang mempengaruhi suatu program yang dibuat adalah sbb:
- Memiliki pol pikir yang logis.
- Memiliki ketekunan dan ketelitian yang tinggi.
- Memiliki penguasaan bahasa pemrograman yang baik.
- Memiliki pengetahuan tentang teknik pemrograman yang baik.
Langkah-langkah pokok secara umum didlam membuat program komputer
- Mendefinisikan masalah.
- Membuat flowchart.
- Membuat program.
- Melakukan tes program.
- Membuat dokumentasi program.
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat
program yang berisi instruksi-instruksi dalam bahasa komputer yang
disusun secara logis dan sistematis supaya mudah dimengerti, mudah
dites, dan mudah dimodifikasi.
Pemrograman Modular
Dalam pemrograman modular program dipecah-pecah kedalam modul-modul dimana setiap modul menunjukkan fungsi dan tugas tertentu.
Pemrograman Top Down
Sangat berguna dalam perencanaan pemrograman modular.