algoritma dasar

25
BAB I KOMPUTER DAN PEMECAHAN MASALAH 1.1 Pendahuluan Dari sekian banyak macam penemuan barang elektronik yang dihasilkan oleh manusia di abad 20, mungkin yang paling penting dan paling banyak mempengaruhi kehidupan manusia adalah komputer. Sedemikian pentingnya komputer sehingga komputer digunakan hampir di semua bidang kehidupan manusia mulai dari sekedar sebagai alat bermain yang digunakan oleh seorang anak balita sampai sebagai alat bantu dalam menyelenggarakan pemerintahan suatu negara. Dilihat dari asal katanya, komputer berasal dari bahasa latin Computare yang berarti menghitung. Dengan demikian seluruh alat yang digunakan untuk menghitung dapat disebut sebagai komputer. Tetapi dengan perkembangan teknologi komputer sekarang, komputer didefinisikan sebagai alat pengolah data elektronik yang bekerja dan dikontrol oleh sekumpulan instruksi yang disebut program (software). Meskipun komputer digunakan dalam banyak bidang kehidupan manusia, sebenarnya komputer hanya melakukan 3 fungsi dasar yaitu : 1

Upload: larcleonardo

Post on 11-Feb-2016

12 views

Category:

Documents


0 download

DESCRIPTION

Pengenalan dasar tentang algoritma

TRANSCRIPT

Page 1: Algoritma Dasar

BAB I

KOMPUTER DAN PEMECAHAN MASALAH

1.1 Pendahuluan

Dari sekian banyak macam penemuan barang elektronik yang dihasilkan

oleh manusia di abad 20, mungkin yang paling penting dan paling banyak

mempengaruhi kehidupan manusia adalah komputer. Sedemikian pentingnya

komputer sehingga komputer digunakan hampir di semua bidang kehidupan

manusia mulai dari sekedar sebagai alat bermain yang digunakan oleh seorang

anak balita sampai sebagai alat bantu dalam menyelenggarakan pemerintahan

suatu negara.

Dilihat dari asal katanya, komputer berasal dari bahasa latin Computare

yang berarti menghitung. Dengan demikian seluruh alat yang digunakan untuk

menghitung dapat disebut sebagai komputer. Tetapi dengan perkembangan

teknologi komputer sekarang, komputer didefinisikan sebagai alat pengolah data

elektronik yang bekerja dan dikontrol oleh sekumpulan instruksi yang disebut

program (software).

Meskipun komputer digunakan dalam banyak bidang kehidupan manusia,

sebenarnya komputer hanya melakukan 3 fungsi dasar yaitu :

1. Melakukan operasi aritmatika pada data numerik seperti +. -. *. /.

2. Melakukan operasi logika seperti <, >, =, .

3. Menyimpan dan mengambil data.

Ketiga fungsi dasar itu semuanya dapat dilakukan oleh setiap manusia,

Tetapi komputer dapat melakukannya dengan lebih cepat, lebih teliti, dan lebih

dapat dipercaya karena komputer mengerjakannya tanpa terganggu oleh suasana

lingkungan sekitar atau suasana perasaan hati yang biasanya dapat mengganggu

kualitas dan kuantitas kerja seseorang.

1

Page 2: Algoritma Dasar

Algoritma dan Pemrograman I

1.2 Sistem Komputer

Sistem komputer terdiri dari perangkat keras (hardware), perangkat lunak

(software), dan pemakai (brainware). Ketiganya saling berhubungan dan

membutuhkan seperti hubungan antara mobil, bahan bakar, dan supir. Mobil

dianalogikan dengan perangkat keras, tidak dapat berfungsi jika tidak ada bahan

bakar sebagai penggeraknya (perangkat lunak) dan supir yang mengarahkannya

(pemakai).

1.2.1 Perangkat keras Perangkat keras sering disebut sebagai komputer saja, terdiri dari 4 macam

alat, yaitu alat proses (central processing unit- CPU), alat masukan, alat keluaran,

dan alat penyimpan.

Alat proses atau disebut sebagai prosesor (processor) merupakan otak dari

komputer, tempat dilakukannya operasi terhadap data dan instruksi. Fungsinya

adalah mengontrol operasi di seluruh sistem komputer, melakukan operasi

aritmatika dan logika, serta menyimpan dan mengambil instruksi dan data. Secara

fisik bentuk dari prosesor adalah rangkaian elektronik terintegrasi yang disebut

sebagai microchip atau chip saja. Karena fungsinya sebagai prosesor dan

bentuknya yang kecil , maka disebut juga mikroprosesor. Pada umumnya sebuah

komputer diidentifikasikan dengan mikroprosesor yang digunakan seperti

Pentium, Celeron, AMD dan sebagainya.

Alat input merupakan tempat data dimasukkan dan diterjemahkan

menjadi bentuk yang dimengerti oleh komputer. Ada banyak macam alat input,

beberapa di antaranya:

1. Keyboard: merupakan alat input tradisional dan serba guna, dapat digunakan

untuk memasukkan data numerik, karakter dan posisi.

2. Alat input tunjuk dan gambar (point and draw device): alat input yang

berfungsi untuk memasukkan data berupa posisi (misalnya menunjuk menu

atau memilih opsi) dan juga berfungsi sebagai kuas untuk menggambar.

Macam-macamnya antara lain: mouse, joystick, trackball, trackpoint, dan

trackpad.

BAB I : Komputer dan Pemecahan Masalah - 2

Page 3: Algoritma Dasar

Algoritma dan Pemrograman I

3. Microphone: alat input untuk memasukkan data suara

Gambar 1.1 Perangkat Keras Komputer

Sumber: Larry Long dan Nancy Long, Computers, 11th Edition, Upper Saddle River: Prentice Hall, 2004, p. 39

4. Diskdrive: alat input untuk memasukkan data yang sudah dibuat oleh

komputer lain, biasanya berupa record-record yang tersimpan dalam file.

BAB I : Komputer dan Pemecahan Masalah - 3

Page 4: Algoritma Dasar

Algoritma dan Pemrograman I

5. Scanner: alat input untuk memasukkan data gambar, tanda, foto, atau teks.

6. Digital Camera: alat input untuk memasukkan data gambar atau foto.

Alat output berfungsi untuk mengkomunikasikan informasi dari komputer

ke manusia atau komputer lain. Ada 3 macam bentuk output yaitu hard copy

(output yang bersifat permanen), soft copy (output yang bersifat sementara), dan

secondary storage (output yang disimpan dalam disket, tape, dan optical disk,

biasanya untuk arsip atau output yang akan diproses lebih lanjut). Ada macam-

macam alat output, diantaranya:

1. Monitor, bentuknya seperti televisi, menghasilkan output soft copy, dapat

bewarna (color atau RGB) atau tidak bewarna (monochrome).

2. Printer, menghasilkan output hard copy yang berupa cetakan. Ditinjau dari

cara menghasilkan output, printer dibagi menjadi impact printer (contoh: dot-

matrix) dan non-impact printer (contoh: laser, ink-jet).

3. Plotter, menghasilkan output hard copy yang berupa gambar: bangunan,

layout, dan sejenisnya.

4. Speaker, menghasilkan output soft copy yang berupa suara.

5. Diskdrive, menghasilkan output yang berupa file untuk disimpan dalam disket.

Alat penyimpan disebut juga Storage atau Memory. Sesuai dengan

namanya, alat penyimpan berfungsi untuk menyimpan data, instruksi dan hasil

proses. Ditinjau dari letaknya dalam komputer, alat penyimpan dibedakan

menjadi:

a. Main Memory Unit: letaknya dekat CPU, berfungsi untuk menyimpan

instruksi (program) dan data selama proses berlangsung. Jenis-jenis main

memory antara lain adalah ROM (Read Only Memory), RAM (Random Access

Memory), dan Cache memory.

b. Auxiliary/Secondary Memory Unit: berfungsi untuk menyimpan program dan

data dalam waktu yang lama. Jenis-jenis auxiliary memory antara lain adalah

Magnetic tape: tape, cassette, catridge; Magnetic disk: floopy disk, harddisk;

dan Optical disk: CD-ROM, CD-R, WORM, DVD.

BAB I : Komputer dan Pemecahan Masalah - 4

Page 5: Algoritma Dasar

Algoritma dan Pemrograman I

1.2.2 Perangkat lunak Perangkat lunak adalah instruksi supaya perangkat keras komputer

melakukan suatu proses. Instruksi ini yang disebut sebagai program. Berdasarkan

fungsinya dikenal 2 macam perangkat lunak yaitu perangkat lunak sistem dan

perangkat lunak aplikasi.

Perangkat lunak sistem adalah program yang dirancang untuk melakukan

operasi yang berhubungan langsung dengan pengontrolan dan penggunaan

perangkat keras komputer. Macam-macam perangkat lunak sistem adalah:

1. Sistem Operasi (Operating system): merupakan perangkat lunak sistem yang

paling penting, berisi program-program inti untuk mengontrol perangkat keras.

Macam-macam sistem operasi yang biasa digunakan dalam lingkungan

komputer pribadi adalah:

a. DOS : didesain pertama kali tahun 1979 untuk mikroprosesor Intel

8086. Pada tahun 1981 digunakan oleh IBM-PC sehingga disebut PC-

DOS. MS-DOS adalah versi generic dari PC-DOS untuk komputer

kompatibel IBM. Sekarang sudah jarang digunakan lagi. Kemampuan:

single user, single tasking.

b. Macintosh/Mac OS: didesain untuk mikroprosesor Motorola

680XX, pertama kali dikeluarkan pada tahun 1984 untuk komputer Apple

Machintosh (sekarang termasuk komputer PowerBook, iMac dan iBook),

menggunakan GUI (graphical user interface). Kemampuan: single user,

multi tasking.

c. Windows95/98/Me/NT/2000, dan CE: didesain untuk

mikroprosesor Intel 80XXX, merupakan sistem operasi yang paling

banyak digunakan di lingkungan komputer pribadi, menggunakan GUI.

Kemampuan: single user, multi tasking.

d. Linux: merupakan turunan dari sistem operasi Unix yang populer

di lingkungan sistem komputer multi user. Linux merupakan sistem

operasi yang open source sehingga para pemakai dapat mengubah kode

programnya. Kemampuan: multi user, multi tasking.

2. Bahasa pemrograman dan penerjemahnya (Programming language &

language translator)

BAB I : Komputer dan Pemecahan Masalah - 5

Page 6: Algoritma Dasar

Algoritma dan Pemrograman I

Bahasa pemrograman didefinisikan sebagai sekumpulan aturan (sintaks), kata,

dan lambang yang memungkinkan orang untuk memberi perintah ke komputer

dalam format yang dapat dipahami secara eksak. Bahasa pemrograman dapat

digolongkan menjadi 5 jenis, yaitu :

a. Bahasa Mesin (bahasa tingkat rendah - low level language), adalah bahasa

yang langsung dipahami oleh komputer, Tetapi sulit dipahami oleh

manusia, kecepatan aksesnya tinggi. Contohnya, bahasa mesin (machine

language) yang menggunakan angka biner dan bahasa Assembly yang

menggunakan simbol-simbol (mnemonic).

b. Bahasa berorientasi prosedur, adalah bahasa pemrograman yang

menggunakan logika tradisional dalam memecahkan masalah. Contohnya

BASIC, FORTRAN, PASCAL, dan sebagainya.

c. Bahasa berorientasi objek, adalah bahasa pemrograman yang

menggunakan objek-objek dalam memecahkan masalah. Contohnya

Smalltalk, C++, Java, dan sebagainya .

d. Bahasa pemrograman generasi ke 4, adalah bahasa yang berbentuk

pertanyaan (query), biasanya digunakan bersama basis data. Contohnya

SQL, Informix, Oracle dan sebagainya.

e. Bahasa pemrograman visual, adalah bahasa yang menggunakan simbol-

simbol visual. Contohnya Visual Basic

Program yang ditulis dalam bahasa pemrograman selain bahasa mesin harus

diterjemahkan ke bahasa mesin dengan bantuan compiler atau intepreter

supaya dapat dieksekusi oleh komputer. Tiap bahasa pemrograman

mempunyai compiler/intepreter-nya sendiri.

3. Utility & aid program adalah program yang digunakan untuk membantu

mengatasi masalah-masalah pada perangkat keras dan perangkat lunak.

Contohnya: Norton Utility, PC Tool.

Perangkat lunak aplikasi adalah program atau perangkat lunak yang

membantu manusia melakukan pekerjaan tertentu. Macamnya :

BAB I : Komputer dan Pemecahan Masalah - 6

Page 7: Algoritma Dasar

Algoritma dan Pemrograman I

1. Generalized application software: perangkat lunak yang diperlukan untuk

melakukan macam-macam pekerjaan. Di antaranya yang paling banyak

digunakan untuk membantu pekerjaan manusia sehari-hari adalah :

a. Wordprocessing (pengolah kata): MS Word, Word Perfect

b. Spreadsheet (lembar kerja): MS Excell, Lotus123

c. Presentation (presentasi): MS Power Point

d. Database Management (pengelolaan basis data): MS Access

e. Internet browser: Internet Explorer, Netscape

2. Specialized application software : perangkat lunak yang dirancang untuk

melakukan pekejaan tertentu dan tidak dapat diubah atau diprogram untuk

melakukan pekerjaan lain. Biasanya perangkat lunak jenis ini harus dibuat

khusus sesuai permintaan/spesifikasi tertentu. Contohnya program untuk

mencetak lembaran-lembaran DPMK (Daftar Peserta Mata Kuliah) untuk tiap

mata kuliah dan kelas yang dibuka di suatu universitas.

1.2.3 PemakaiPemakai (user) adalah orang yang menggunakan komputer sehingga

komputer dapat membantu menyelesaikan pekerjaannya atau hanya sekedar untuk

menghabiskan waktu. Berdasarkan tingkat pengetahuannya, pemakai komputer

dibedakan menjadi :

a. End user: pemakai biasa yang tidak perlu memahami sistem komputer secara

keseluruhan.

b. User: pemakai yang memahami sistem komputer, contohnya para

programmer.

1.2.4 Cara kerja komputer Supaya komputer dapat bekerja maka dibutuhkan langkah-langkah yang

terdiri dari input, proses, output, dan simpan (IPOS) yang saling berhubungan

seperti pada gambar 1.2 di halaman berikut.

BAB I : Komputer dan Pemecahan Masalah - 7

Page 8: Algoritma Dasar

Algoritma dan Pemrograman I

Input berhubungan dengan dimasukkannya data dan instruksi oleh

pemakai ke dalam komputer untuk diproses. Proses adalah mengolah data dan

instruksi sehingga menghasilkan informasi yang diinginkan. Output berhubungan

dengan menampilkan hasil pengolahan data sehingga dapat digunakan oleh

pemakai. Simpan (storage) berhubungan dengan kemampuan komputer untuk

menyimpan data, instruksi, atau informasi sehingga dapat digunakan lagi di

kemudian hari.

Sebagai contoh, ingin diketahui proses penjumlahan angka 25 dan 75 dan

hasilnya. Maka sebagai inputnya adalah angka 25, angka 75, dan instruksi untuk

menjumlahkan dua angka yang diinput tadi. Dan outputnya adalah hasil jumlah

dari kedua angka tadi. Untuk masalah yang sederhana ini, instruksi yang diproses

di dalam komputer akan menjadi sederetan instruksi sebagai berikut (lihat ilustrasi

pada gambar 1.3):

1. simpan angka 25 ke INPUT_1 di memori

2. simpan angka 75 ke INPUT_2 di memori

3. ambil data INPUT_1 dari memori, taruh di CPU

4. ambil data INPUT_2 dari memori, taruh di CPU

5. jumlahkan data yang ada di CPU lalu simpan hasilnya ke memori:

HASIL = INPUT_1 + INPUT_2

6. tampilkan isi memori HASIL

Instruksi 1 dan 2 merupakan instruksi input, yaitu memasukkan data ke (memori)

komputer. Instruksi 3, 4, dan 5 merupakan instruksi untuk memproses data. Dan

instruksi 6 merupakan instruksi untuk output (menampilkan hasil proses)

BAB I : Komputer dan Pemecahan Masalah - 8

Simpan

Pemakai

OutputProsesInput

Pemakai

Gambar 1.2 Cara kerja komputer

Page 9: Algoritma Dasar

Algoritma dan Pemrograman I

Keyboard Memory CPU Monitor

1. 25

2.

75

3.

4.

5.

6.

Keterangan:: arah aliran data

Gambar 1.3 Ilustrasi proses menjumlahkan angka 25 dan 75

1.3 Pembuatan Program

BAB I : Komputer dan Pemecahan Masalah - 9

25 INPUT_1: 25

75INPUT_1:

INPUT_2:

25

75

INPUT_1:

INPUT_2: 75

25 25

25

25

7525

75

75

100

100

75

25

100

100

INPUT_1:

INPUT_1:

INPUT_1:

INPUT_2:

INPUT_2:

INPUT_2:

HASIL:

HASIL:

Page 10: Algoritma Dasar

Algoritma dan Pemrograman I

Komputer hanya melakukan apa saja yang diperintahkan manusia bukan

apa yang manusia inginkan. Karena itu perintah yang diberikan harus eksak dan

tidak berarti ganda sehingga tidak memungkinkan terjadinya alternatif

interpretasi. Sebagai contoh perintah “Hitung rata-rata nilai tes”, bagi manusia

perintah itu cukup jelas artinya. Tetapi bagi komputer masih banyak yang harus

dijelaskan lebih lanjut, seperti arti rata-rata dan nilai tes, berapa jumlahnya,

bagaimana caranya, dan seterusnya. Hal inilah yang mendasari bagaimana

perintah harus diberikan ke komputer, yaitu dengan bantuan bahasa pemrograman.

Bahasa pemrograman menjadikan komputer sebagai alat bantu untuk

menyelesaikan masalah (problem solving tool). Pemrograman adalah kegiatan

menulis program dalam suatu bahasa pemrograman dan orang yang

melakukannya disebut sebagai programmer. Program atau secara umum disebut

sebagai perangkat lunak didefinisikan sebagai instruksi-instruksi yang diberikan

supaya komputer melaksanakan suatu pekerjaan sehingga menghasilkan keluaran

yang diinginkan. Pemrograman dan pemecahan masalah membutuhkan kreativitas

dan imajinasi serta teknik dan metodologi yang dimiliki si programmer. Teknik

dan metodologi untuk membuat program dicakup dalam bidang ilmu yang disebut

sebagai Rekayasa Perangkat Lunak (Software Engineering).

Program yang telah dibuat, pada umumnya tidak dapat dipakai untuk

selamanya. Pada suatu saat, program harus diganti dengan program baru yang

lebih baik. Karena itu dikatakan program mempunyai daur hidup (life cycle)

seperti manusia. Daur hidup program (software life cycle) adalah :

1. Analisis dan spesifikasi masalah.

2. Membuat algoritma.

3. Membuat program.

4. Menjalankan dan menguji program.

5. Merawat program.

Dari ke lima langkah tersebut, langkah pertama dan kedua adalah yang

paling menentukan hasil akhir suatu program karena jika ada kesalahan/kurang

tepat dalam mengidentifikasikan masalah maka program yang dihasilkan juga

tidak dapat menyelesaikan masalah. Kedua langkah tersebut yang akan dibahas

BAB I : Komputer dan Pemecahan Masalah - 10

Page 11: Algoritma Dasar

Algoritma dan Pemrograman I

dalam kuliah ini. Sementara itu langkah ketiga dan keempat akan dikerjakan

dalam sesi praktikum di laboratorium komputer.

1.3.1 Analisis dan spesifikasi masalah Analisis masalah mencakup kegiatan untuk menentukan data yang perlu

input, bagaimana cara mendapatkan data input, cara memvalidasinya, output

seperti apa yang diperlukan, kepada siapa output harus diberikan, bagaimana

bentuk outputnya dan seterusnya. Untuk masalah yang besar, diperlukan banyak

pertanyaan sebelum masalah menjadi jelas sehingga dapat dibuat spesifikasinya.

Selain masalah input dan output, yang perlu dipertimbangkan juga adalah tingkat

keahlian si pemakai program: apakah pemakai program adalah orang yang awam

di bidang komputer sehingga program harus dibuat sangat user friendly atau orang

yang sudah biasa menggunakan komputer; berapa lama program ini akan

digunakan dan perubahan apa yang diharapkan dari program ini nantinya;

perangkat keras dan perangkat lunak lunak apa yang tersedia dan informasi yang

berhubungan lainnya.

Semua informasi itu diperlukan supaya masalah menjadi jelas dan

spesifikasi yang dibuat dapat menjawab masalah. Pekerjaan ini biasanya

dilakukan oleh seorang analis sistem (system analyst).

1.3.2 Membuat Algoritma Algoritma didefinisikan sebagai prosedur untuk mendapatkan output dari

input yang ada. Untuk masalah yang besar, diperlukan banyak langkah persiapan

sebelum dapat dibuat algoritmanya. Salah satu caranya adalah dengan pendekatan

top-down, yaitu mulai dari mengidentifikasikan pekerjaan utama untuk mengatasi

masalah, lalu tiap pekerjaan tadi diperinci lagi menjadi sub-pekerjaan. Pendekatan

ini diilustrasikan dengan dengan diagram struktur (structure diagram).

Sebagai contoh: masalah menghitung biaya konstruksi gedung apartemen.

Diagram struktur untuk masalah ini dimulai dari 3 pekerjaan utama, yaitu:

memperoleh spesifikasi proyek (untuk memasukkan data input), melakukan

perhitungan, dan menampilkan hasil (lihat gambar 1.4).

PROYEK KONSTRUKSI GEDUNG

BAB I : Komputer dan Pemecahan Masalah - 11

Page 12: Algoritma Dasar

Algoritma dan Pemrograman I

Gambar 1.4 Diagram struktur untuk menghitung biaya proyek konstruksi gedung apartemen

Ketiga pekerjaan itu harus diperinci lagi sebelum dapat dibuat

algoritmanya. Misalnya untuk “Memperoleh spesifikasi proyek” diperlukan data

orang yang akan mengerjakan proyek, jenis dan jumlah material, serta jenis dan

jumlah peralatan. Dengan demikian, “Memperoleh spesifikasi proyek” dapat

dibagi menjadi 3 sub-pekerjaan yaitu: input data personalia, input data material,

dan input data peralatan. Dengan cara yang sama, “Menghitung biaya” dapat

dibagi menjadi 3 sub-pekerjaan lagi yaitu menghitung biaya personalia,

menghitung biaya material, dan menghitung biaya peralatan. Untuk sementara,

sub-pekerjaan “Menampilkan output” belum diperinci. Diagram struktur untuk

sub-pekerjaan ini dapat dilihat pada gambar 1.5.

Dari gambar 1.5, semua sub-pekerjaan yang berada di bawah

“Memperoleh spesifikasi proyek”, sudah cukup rinci sehingga sudah dapat dibuat

algoritmanya. Sementara itu, sub-pekerjaan “Menghitung biaya personalia” masih

perlu diperinci lagi menjadi sub-sub-pekerjaan menghitung gaji dan menghitung

PROYEK KONSTRUKSI GEDUNG

Gambar 1.5 Diagram struktur level 2 untuk menghitung biaya proyek konstruksi gedung apartemen

biaya asuransi. Demikian juga dengan sub-pekerjaan “Hitung biaya material”,

masih harus diperinci lagi (lihat gambar 1.6 di halaman 16). Pembagian pekerjaan

menjadi sub-pekerjaan dilakukan sampai tiap sub-pekerjaan cukup rinci sehingga

BAB I : Komputer dan Pemecahan Masalah - 12

Memperoleh spefifikasi proyek

Menghitung biaya

Menampilkan output

Memperoleh spefifikasi prroyek

Menghitungbiaya

Menampilkan output

Memperoleh data personalia

Memperoleh data material

Memperoleh data peralatan

Menghitung biaya

personalia

Menghitung biaya

material

Menghitung biaya

peralatan

Page 13: Algoritma Dasar

Algoritma dan Pemrograman I

dapat dibuat algoritmanya. Pendekatan membagi suatu pekerjaan besar menjadi

sub-pekerjaan-sub-pekerjaan yang lebih kecil seperti di atas disebut pendekatan

dengan cara devide-and-conquer (dipecah-pecah lalu dikuasai).

Setelah itu programmer membuat dan menguji algoritma dan program

dengan cara modul, yaitu setiap sub-pekerjaan dibuat satu sub-modul, dimulai dari

sub-pekerjaan yang paling bawah pada diagram struktur. Setelah masing-masing

sub-modul selesai, lalu digabungkan menjadi modul yang lebih besar, demikian

seterusnya sampai seluruh sub-pekerjaan selesai. Pemrograman dengan cara ini

disebut modular programming.

1.3.3 Membuat Program Setelah algoritma selesai dibuat, langkah berikutnya adalah

menerjemahkan algoritma menjadi program. Untuk itu perlu ditentukan lebih dulu

bahasa pemrograman apa yang akan digunakan. Hal ini tergantung dari bahasa

pemrograman yang dikuasai programmer dan aplikasi program. Sekarang tersedia

banyak sekali bahasa pemrograman, Tetapi beberapa bahasa pemrograman

mempunyai kekhususan bidang aplikasi tertentu, seperti bahasa FORTRAN untuk

aplikasi yang berhubungan perhitungan ilmiah yang kompleks dan presisi, bahasa

COBOL untuk aplikasi yang banyak melibatkan banyak file untuk input/output

dan pembuatan laporan, bahasa PROLOG untuk aplikasi di bidang intelegensi

buatan yang memerlukan inferensi logika, dan lain sebagainya.

Apapun bahasa pemrograman yang dipilih, program yang dibuat

harus betul, mudah dibaca dan dimengerti. Untuk memenuhi hal tersebut, para

programmer harus mengikuti 3 buah prinsip dalam membuat program, yaitu:

1. Program harus terstruktur, caranya dengan menggunakan pendekatan top-

down ketika menghadapi masalah yang kompleks (membagi masalah menjadi

sub-masalah yang lebih sederhana) dan selalu berusaha untuk membuat

program yang sederhana dan jelas alurnya.

2. Setiap unit program harus didokumentasikan dengan cara:

a. tiap unit program harus mempunyai keterangan yang beris: kegunaannya,

cara kerjanya dan sebagainya.

b. untuk bagian program yang penting perlu ditambahkan keterangan.

BAB I : Komputer dan Pemecahan Masalah - 13

Page 14: Algoritma Dasar

Algoritma dan Pemrograman I

c. menggunakan nama yang mempunyai arti, contoh: rumus

Luas = Panjang * Tinggi

lebih berarti dari pada ditulis dengan cara:

L = P * T atau A = B * C

3. Program harus ditulis dengan cara yang dapat memudahkan pembacaan

program, misalnya dengan:

a. menambahkan spasi di antara butir-butir dalam statement program

b. menambahkan baris kosong di antara bagian-bagian program

c. menambahkan identasi untuk memperjelas hubungan di antara bagian-

bagian program

Program yang dibuat dalam praktikum, mungkin tidak perlu

mengikuti semua prinsip di atas, karena pada umumnya berupa program-program

yang sederhana dan hanya terdiri dari puluhan baris. Tetapi untuk program-

program yang kompleks dan terdiri dari ratusan baris atau lebih, sebaiknya

mengikuti semua prinsip di atas, karena pada umumnya program tersebut dibuat

dalam waktu yang lama dan dikerjakan oleh beberapa programmer. Dengan

demikian, programmer baru yang akan meneruskan pembuatan program dapat

langsung mengerjakannya.

1.3.4 Menjalankan dan menguji programKarakteristik program yang paling penting adalah bahwa program tersebut

harus benar maksudnya program harus menghasilkan output yang sesuai dengan

keinginan pemakai. Karena itu, setelah program selesai ditulis, program

dijalankan (execute) sambil diuji dengan dengan menggunakan data yang valid

dan invalid. Data yang valid adalah data yang jika diproses akan menghasilkan

output yang benar. Data yang invalid adalah data yang jika diproses akan

menghasilkan output yang salah. Program yang baik harus dapat mengenali data

yang invalid ini sehingga data tersebut tidak perlu diproses. Jika output program

belum benar maka program harus diperbaiki sampai output program benar. Ketika

menjalankan dan menguji program (disebut juga debugging), biasanya ditemui

kesalahan-kesalahan (error atau bug) berikut ini:

BAB I : Komputer dan Pemecahan Masalah - 14

Page 15: Algoritma Dasar

Algoritma dan Pemrograman I

1. Syntax error: kesalahan salah menulis instruksi program. Kesalahan ini

ditemui ketika program di-compile. Compiler biasanya akan memberi tahu

letak dan jenis kesalahan. Contohnya: “WRITE” tertulis: “WRIT”

2. Run-time error: kesalahan yang terjadi ketika program dijalankan. Kesalahan

ini akan menyebabkan eksekusi program berhenti. Biasanya jenis kesalahan

akan ditampilkan di layar. Contohnya: pembagian dengan angka nol.

3. Logical error: kesalahan ini biasanya terjadi ketika menulis algoritma atau

program. Berbeda dengan syntax error dan run-time error, kesalahan ini tidak

menyebabkan eksekusi berhenti sehingga tidak ada pesan adanya kesalahan,

tetapi output program salah. Untuk mencari letak kesalahan, algoritma atau

program tersebut harus ditelusuri baris per baris.

Untuk program yang dibuat per modul, maka tiap modul program harus

benar (bebas kesalahan) sebelum digabungkan dengan modul lain. Penggabungan

modul-modul dilakukan dari modul yang terletak pada tingkat terbawah dari

gambar diagram struktur lalu dilanjutkan ke tingkat-tingkat di atasnya.

1.3.5 Merawat programSetelah output program benar, program baru dapat digunakan oleh

pemakai. Biasanya selama penggunaan program (selama beberapa tahun), ada

sedikit kekurangan sehingga program perlu dikoreksi atau dimodifikasi sedikit

sampai pada suatu saat program tidak dapat digunakan lagi (misalnya karena

masih menggunakan teknologi lama) sehingga perlu dibuat program yang baru

dan siklus kembali ke awal lagi.

BAB I : Komputer dan Pemecahan Masalah - 15

Page 16: Algoritma Dasar

PROYEK KONSTRUKSI GEDUNG

Gambar 1.6 Diagram struktur level 3 dan 4 untuk menghitung biaya proyek konstruksi gedung apartemen

16

Memperoleh spefifikasi prroyek

Menghitungbiaya

Menampilkan output

Memperoleh data personalia

Memperoleh data material

Memperoleh data peralatan

Menghitung biaya

personalia

Menghitung biaya material

Menghitung biaya

peralatan

Menghitung gaji

Elektrikal Mekanikal LansekapStruktur

Menghitung biaya lainnya

Menghitung biaya konstruksi

Menghitung asuransi

Furniture Lain-lain