BAB I
KOMPUTER DAN BAHASA PEMROGRAMAN
A. Tujuan
Pada bagian
ini akan membahas mengenai pengertian komputer dan bahasa pemrograman. Gambaran
umum mengenai bagaimana membuat program yang baik juga akan dibahas dalam bab
ini.
Pada akhir
pembahasan diharapkan pembaca dapat:
1.
Megidentifikasi perbedaan komponen komputer
2.
Memahami konsep bahasa pemrograman
3.
Memahami struktur program yang baik
4.
Mengetahui alur kerja pembuatan program dan
aplikasinya.
B. Pendahuluan
Terdapat
beberapa pendapat mengenai pengertian komputer, tetapi pada dasarnya pendapat
tersebut memiliki makna yang sama. Sebagian pakar berpendapat bahwa kompter
berasal dari bahasa inggris yaitu to
compute yang artinya menghitung sehingga komputer diartiakn sebagai alat
hitung. Sedangkan pendapat lain menyatakan bahwa istilah komputer berasal dari
bahasa latin yaitu kata computare yang
artinya juga menghitung. Selain sebagai alat hitung komputer juga diartikan
sebagai alat pengolah data. Secara definisi komputer diartikan sebagai
seperangkat alat yang terdiri dari perangkat input/output, pemroses dan memori,
yang berfungsi untuk mengoah data baik berupa angka, huruf, maupun
symbol-simbol termasuk perhitungan aritmatika dan logika. Komputer dapat
menerima data (input), memproses data (proses), dan memberikan informasi
(output).
Komputer,
sesuai dengan definisi dan tujuannya yaitu sebagai alat hitung dan pengolah
data, memiliki beberapa komponen yang saling berhbungan dan bekerjasama
sehingga dapat bekerja secara optimal. Komponen sistem komputer ini adalah hardware
(perangkat keras), software (perangkat lunak) dan brainware (manusia). Hardware
merupakan perangkat komputer yang terdiri dari komponen-komponen elektronik dan
mekanik sedangkan software merupakan komponen yang terdiri dari kode-kode
program yang berisi instruksi-instruksi untuk menjalankan perangkat keras
komputer. Adapun brainware adalah komponen yang mengoperasi kan komputer sehingga komputer tersebut
bermanfaat.
C.
Bahasa
Pemrograman
Bahasa
pemrograman adalah teknik komunikasi standart antara manusai dengan komputer.
Bahasa ini digunakan untuk mengekspresikan instruksi-istrusi kepada komputer.
Sebagaimana bahasa manusia, bahasa pemrograman juga memiliki kaedah-kaedah
tertentu yang harus diikuti sehingga bahasa tersebut dapat dimengerti oleh
komputer.
Komputer
sebagai alat elektronik dan mekanik pada dasarnya hanya memahami dua buah data
yaitu 0 dan 1. Data tersebut menunjukan adanya arus listrik yang mengalir.
Bahasa untuk memberikan perintah kepada komputer dengan bahasa 0 dan 1 adalah
bahasa mesin. Sangatlah tidak praktis dan efisien jika manusia harus membuat
program yang hanya terdiri dari 0 dan 1. para ahli kemudian sepakat untuk
membuat sebuah kamus yang dapat menerjemahkan suatu bahasa yang mendekati
bahasa manusia menjadi bahasa mesin. Kamus ini disebut dengan compiler. Proses untuk menerjemahkan
bahasa manusia menjadi bahasa mesin disebut dengan kompilasi.
Secara umum,
bahasa pemrograman dapat diklasifikasikan menjadi tiga tingkatan yaitu bahasa
tingkat rendah, bahasa tingkat menengah, dan bahasa tingkat tinggi.
1.
Bahasa tingkat rendah
Bahasa pemrograman tingkat rendah merupakan bahasa generasi pertama.
Bahasa ini adalah bahasa mesin yang instruksinya sulit dipahami oleh manusia
karena struktur dan istilah bahasa ini sangat berbeda dengan bahasa manusia.
Bahasa tingkat rendah ini juga disebut dengan bahasa assembly.
2.
Bahasa tingkat menengah
Bahasa pemrograman tingkat menengah merupakan bahasa pemrograman yang
sudah menggunakan instruksi-instruksi yang mengambil istilah dalam bahasa
manusia tetapi dalam penyajiannya masih digunakan istilah-istilah singkatan.
Contoh istilah dalam bahasa ini adalah MOV yang berarti memindahkan (MOVE).
Contoh bahasa pemrograman yang ada dalam tingkatan ini adalah FORTRAN.
3.
Bahasa Tingkat tinggi
Bahasa pemrograman tingkat tinggi merupakan bahasa pemrograman yang
menggunakan istilah-istiah yang mendekati bahasa manusa. Istilah-istilah
tersebut biasa digunakan manusia dalam berkomunikasi sehari-hari.
Istilah-istilah yang umum digunakan dalam bahasa tingkat tinggi adalah
istilah-istilah dalam bahasa inggris. Dengan menggunakan istilah yang sudah
terbiasa dipakai menjadikan bahasa tingkat tinggi mudah diahami dan dibuat oleh
manusia. Sebagai contoh bahasa pemrograman yang termasuk kategori tingkat
tinggi adalah bahasa pemrograman pascal.
D.
Alur
Pembuatan Program
Program pada
umumnya dibuat untuk dapat menyelesaikan permasalahan tertentu. Sebagai contoh
sebuah program kalkulator dibuat untuk menyelesaikan permasalahan yang
berhubungan dengan perhitungan matematis atau perhitungan aritmatika.
Sebuah program
dapat didesain dan dibuat dengan baik apabila permasalahan yang akan ditangani
telah terdefinisi. Dari permasalahan yang telah didefinisikan dengan baik akan
dapat diketahui data-data yang menjadi masukan sehingga proses dapat berjalan.
Apabila proses telah berjalan dengan baik maka dapat dihasilkan informasi
sebagai output dari pemrosesan data tersebut.
Setelah
permasalahan didefinisikan dengan baik beserta dengan kebutuhan input dan
output berikutnya dapat dilakukan desain algoritma yang berisi urutan input,
proses dan output. Dari suatu algoritma dapat dilakukan pengkodean, debugging
dan testing sehingga menghasilkan sebuah program.
1.
Analisa permasalahan
Didalam analisa permasalahan, harus dirumuskan dua hal yaitu input yang
diperluakan dan output yang dihasilkan. Sebagai contoh permasalahan menghitng
luas persegi panjang dapat diselesaikan apabila diketahui lebar dan panjang
persegi panjang tersebut.
Dari analisa tersebut maka dapat dirumuskan hal-hal berikut:
Permasalahan:
Menghitung luas persegi panjang
Input yang dibutuhkan:
Panjang, lebar
Output yang dihasilkan
Luas persegi panjang
2.
Desain Algoritma
Setelah memahami permasalahan dengan baik, seorang programmer kemudian
akan menyusun strategi dan langkah-langkah untuk menyelesaikan masalah
tersebut. Strategi untuk memecahkan sebuah pemasalahan yang sering dilakukan
adalah dengan pendekatan teknik top down yaitu membagi permasalahan yang
kompleks kedalam tingkatan yang lebih sederhana. Dengan demikian, dapat disusun
langkah-langkah stategis untuk menyelesaikannya
Algoritma adalah urutan langkah-langkah logis yang digunakan untuk
menyelesaikan masalah secara sistematis. Kata logis berarti langkah-langkah
tersebut harus dapat ditentukan kebenaranya yaitu salah atau benar. Sebagai
contoh permasalahan yang dapat dianalisa adalah mengitung luas persegi panjang.
Dari permasalahan ini dapat dianalisa bahwa untuk menghitung luas sebuah
persegi panjang dapat dilakukan dengan mengalikan panjang dan lebar. Perkalian ini dapat
dilakukan apabila panjang sebuah persegi panjang sudah diketahui dan lebar
suatu persegi panjang juga sudah diketahui. Setelah proses perkalian maka
informasi yang dapat dihasilkan adalah sebuah nilai yang menunjukan besarny
luas persegi panjang tersebut.
Untuk merepresentasikan sebuah algoritma dapat dilakukan dengan tiga
cara yaitu dengan bahasa natural (bahasa manusia), menggunakan grafik flowchart
(diagram alir) dan menggunakan pseudocode. Algoritma bersifat netral dan dapat
diterapkan kedalam bahasa pemrograman apa saja.
a.
Algoritma dengan bahasa natural
Algoritma
dengan bahasa natral adalah algoritma yang representasikan dengan bahasa
manusia sehari-hari. Urutan langkah-langkah dapat dijabarkan dengan memberikan
nomer urut. Sebagai contoh algoritma untuk menghitung luas persegi panjang
dapat diselesaikan dengan langkah-langkah sebagai berikut:
1).
Menentukan sisi panjang persegi panjang
2).
Menentukan sisi lebar persegi panjang
3).
Menghitung luas=Sisi panjang X Sisi lebar
4).
Menampilkan hasil perkalian (luas)
b.
Algoritma dengan flowchart
Flowchart
merupakan algoritma dalam bentuk
diagaram secara grafis yang terdiri dari symbol-simbol yang memiliki
arti tertentu. Symbol-simbol yang dapat digunakan dalam membuat flowchart dapat
dilihat pada tabel 1.
Tabel 1.
Simbol-simbol pada flowchart
Simbol
|
Nama
|
Keterangan
|
|
Terminator
|
Terminator adalah symbol yang
digunakan untuk memberikan tanda awal dan akhir suatu diagram flowchart.
Symbol ini biasanya diberi label start/ mulai untuk mengawali flowchart dan
diberi label End/selesai untuk mengakhiri flowchart.
|
|
Input/Output
|
Symbol input digunakan untuk
menunjukan data-data masukan yang dibutuhkan dalam menyelesaikan masalah
sedangkan output merupakan informasi yang akan ditampilkan. Didalam symbol
ini dapat dituliskan data apa saja yang akan disajikan sebagai input dan
output program
|
|
Nilai awal / inisialisai
|
Inisialisasi dilakukan untuk
memberikan nilai awal pada suatu variabel. Inisialisasi biasanya diberikan
sebelum proses dilakukan.
|
|
Proses
|
Simbol proses digunakan untuk
menunjukan kegiatan pemrosesan data. Di dalam simbol ini dapat dituliskn
operasi-operasi yang berlaku.
|
|
Percabangan / kondisi
|
Simbol
percabangan digunakan untuk menyatakan sebuah kondisi. Pengecekan dapat
dilakukan untuk melihat suatu keadaan. akan terdapat dua kemungkinan yaitu
tepenuhi atau tidak.
|
|
Arah / Garis Alir
|
Arah/garis
alir menunjukan kemana langkah berikutnya harus dijalankan. Arah/garis alir
ini menghubungkan setiap langkah didalam flowchart.
|
|
Konektor / sambungan
|
Konektor
digunakan untk menghubungkan suatu langkah dengan langkah yang lain. Konektor
biasanya digunakan ketika sebuah aliran diagram terputus karena keterbasan
media dalam menggambarkan grafik flowchart. Pemberian label pada konektor
yang memutus aliran diagram harus sama.
|
Dari
simbol-simbol yang ada pada tabel 1. Langkah-langkah untuk menyelesaikan
perhitungan luas persegi panjang dapat digambarkan sebagai berikut:
Gambar
1. Flowchart luas persegi panjang
c.
Algoritma dengan pseudocode
Pseudocode
merupakan istilah yang mendekati dengan bahasa pemrograman. Algoritma dengan
pseudocode dilakukan dengan merepresentasikan algoritma dengan istilah-istilah
yang mendekati bahasa pemrograman.
Contoh dari
permasalahan pada bagian sebelumnya yaitu untuk menghitung luas sebuah persegi
panjang dapat dibuat algoritma dengan menggunakan pseudocode sebagai berikut:
Algoritma
menghitung luas persegi panjang
Deklarasi
Panjang,lebar,luas : integer
Deskripsi
Mulai
Read(panjang)
Read(lebar)
Luas ß panjang * lebar
Write(luas)
Selesai
Pada pembuatan
algoritma dengan pseudocode secara umum struktur algoritma tersebut terdri dari
tiga bagian. Bagian yang pertama yaitu bagian nama algoritma. Deklarasi sebagai
bagian kedua berisi daftar variabel yang terlibat dalam algoritma tersebut.
Bagian ketiga adalah bagian deskripsi yang berisi langkah-langkah dalam
menyelesaikan suatu permalahan.
3.
Pengkodean (coding)
Setelah pembuatan algoritma dilakukan dengan baik dan telah
menghasilkan suatu langkah-langkah yang dapat menyelesaikan masalah. Proses
berikutnya adalah melakukan pengkodean. Proses pengkodean dilakukan dengan
menyusun algoritma dalam bahasa pemrograman tertentu. Dari proses ini akan
dihasilkan sebuah program yang diinginkan.
Sebagai contoh pengkodean dari algoritma menghitung luas persedi
panjang dalam bahasa pemrograman pascal adalah sebagai berikut:
Program 1.
Menghitung luas persegi panjang
Program menghitung_luas;
Uses wincrt;
Var
Panjang,
lebar:integer;
Luas:integer;
Begin
Writeln(‘Program
Menghitung Luas Persegi Panjang’);
Write(‘Panjang=’);
Readln(panjang);
Write(‘Lebar=’);
Readln(lebar);
Luas
= panjang * lebar;
Write(‘Luas
Persegi panjang =’);
Writeln(luas);
End;
4.
Debuging
Proses debugging adalah proses untuk mencari kesalahan yang mungkin
terjadi pada saat penulisan kode program. Proses debugging ini dilakukan oleh compiler. Debugging pada umumnya
dilakukan untuk memeriksa kesalahan-kesalahan yang muncul akibat kesalahan
sintaksis. Kesalahan ini adalah kesalahan dalam menuliskan program sehingga
tidak dapat dimengerti oleh compiler.
5.
Testing
Testing dilakukan untuk melakukan uji coba terhadap program yang telah
dibuat. Testing dilakukan dengan cara berulang-ulang dengan memberikan suatu
masukan (input) yang mungkin terjadi dalam penerapan program. Setelah program
diberikan data-data input kemudian dianalisa apakah hasil (output) yang
dikeluarkan oleh program telah sesuai dengan permasalahan yang ditangani atau
belum.
Selain kesalahan sintak, keslahan yag lain yang mungkin terjadi adalah
kesalahan algoritma yang menyebabkan runtime eror. Pada kesalahan lagoritma
dapat menyebabkan hasil yang dikeluarkan tidak seperti yang dinginkan. Sebuah
persegi panjang dengan panjang 6 cm dan lebar 4 cm akan diperoleh luas 24 cm2
tetapi karena kesalahan algoritma bisa didapatkan nilai yang berbeda misalnya
10 cm2.
6.
Dokumentasi
Proses dokumentasi dilakukan untuk melakukan pencatatan dari program
yang dibuat. Dokumentasi dibuat dengan tujuan agar lebih mudah dalam melakukan
pemeriksaan terhadap suatu kesalahan pada program. Dokumentasi berisi suatu
informasi mengenai algoritma, tujuan dan fungsi program serta penggunaanya.
E.
Bahasa
Pemrograman Terstruktur
Bahasa
pemrograman terstruktur adalah bahasa pemrograman yang tersusun atas sejumlah
blok. Dari blok-blok yang lebih kecil ini kemudian disatukan menjadi satu
program yang utuh. Suatu permasalahan yang cukup komplek dapat dipecah-pecah
menjadi bagian-bagian yang kecil sehingga dengan mudah dapat dikodekan.
Bagian-bagian program ini biasanya disebut subprogram.
Dengan
pemrograman terstruktur, kesalahan-kesalahan yang mungkin terjadi didalam
program akan mudah ditelusuri. Dalam perkembangannya, suatu saat program
dituntut adanya perubahan karena suatu perubahan kondisi. Perubahan tersebut
dapat terjadi pada sebagian program saja, dengan pemrograman terstruktur maka
perubahan tersebut dapat dilakukan hanya pada bagian tertentu saja tanpa harus
mempengaruhi bagian program yang lain. Salah satu contoh bahasa pemrograman
terstruktur adalah bahasa pemrograman pascal.
F.
Ciri
Algoritma dan Program yang Baik
Algoritma sebagai kumpulan
langkah-langkah dikatakan sebagai algoritma yang baik jika memiliki kriteria
sebagai berikut:
1.
setiap langkah yang ada pada algritma harus definite (jelas dan pasti). Sebagai
contoh jika n mod 2 = 1 maka n adalah
bilangan ganjil. Ini adalah sebuah pernyataan yang jelas dan pasti. Berbeda
dengan pernyataan ganjil ?. Pernyataan
yang kedua adalah pernyataan yang tidak jelas karena tidak didefinisikan apakah
yang ganjil.
2.
algoritma atau program minimal memiliki sebuah output.
Program atau algoritma yang tidak memiliki output tidak akan dapat diketahui
hasil dari penyelesaian masalah.
3.
Harus ada stoping
criteria yaitu kondisi yang membuat program tersebut berhenti. Jika program
tidak memiliki stoping criteria maka program tidak dapat berhenti yang dapat
mengakibatkan komputer hang.
Latihan
1.
Susunlah algoritma dengan menggunakan bahasa
natural, flowchart dan psedocode untuk
mengitung nilai perkalian dari dua buah
bilangan.
Pembahasan
Analisa:
Kasus untuk
menghitung perkalian dari dua buah bilangan akan dapat diketahui jika bilangan
pertama dan bilangan kedua telah diketahui nilainya. Hal ini berarti bilangan
pertama dan bilangan kedua adalah variabel input. Hasil perkalian adalah informasi
yang akan dihasilkan setelah adanya proses perkalian. Variabel ini yang
dijadikan sebagai output.
Algoritma
dengan bahasa natural
-
menentukan nilai bilangan pertama (input).
-
Menentukan nilai bilangan kedua (input).
-
Menghitung kali= bilangan pertama X bilangan kedua
-
Menampilkan hasil (kali).
Algoritma
dengan flowchart
Algoritma dengan pseudocode
Algoritma Perkalian
Deklarasi
Bil1,Bil2
: Integer (input)
Kali
: Integer (output)
Deskripsi
Mulai
Read(Bil1)
Read(Bil2)
Kali ßBil1 X Bil2
Write (Kali)
selesai
2.
Susunlah algoritma untuk mencari nilai terbesar dari
dua buah bilangan dengan cara membandingkan kedua bilangan tersebut. Algoritma
dibuat menggunakan bahasa natural.
Pembahasan
Analisa:
Membandingkan
dua buah bilangan dapat dilakukan jika kedua bilangan telah diketaui nilainya.
Proses mencari nilai terbesar dilakukan dengan membandingkan antara bilangan
pertama dengan bilangan kedua. Hasil perbandingan bilangan yang lebih besar
akan menjadi informasi yang dihasilkan.
Algoritma
dengan bahasa natural.
-
Menentukan bilangan pertama (input)
-
Menentukan bilangan kedua (input)
-
Membandingkan bilangan pertama dan bilangan kedua, jika
bilangan pertama lebih besar dari bilangan kedua maka bilangan terbesar adalah
bilangan pertama tetapi jika tidak maka bilangan kedua sebagai bilangan
terbesar.
-
Menampilkan bilangan terbesar.
Soal
Susunlah algoritma menggunakan bahasa natural, flowchart dan
pseudocode untuk menyelesaikan permasalahan-permasalahan dibawah ini:
1. Menghitung
luas lingkaran.
2. Mengitung
isi (volume) balok.