Jumat, 07 Januari 2011


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.



Tidak ada komentar:

Posting Komentar