algoritma dasar
DESCRIPTION
Pengenalan dasar tentang algoritmaTRANSCRIPT
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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