3.1 Program
Di dalam pemecahan persoalan dengan
komputer, kedudukan komputer hanyalah sebagai alat bantu. Untuk itu kepadanya
harus diberikan serangkaian instruksi yang urut, sistematis dan logis, untuk
mengolah data agar ia dapat menampilkan hasil-hasil yang diharapkan dapat mem
bantu pemecahan masalah. Komputer sangat tergantung kepada instruksi-instruksi
yang di berikan dan tidak dapat berbuat menyimpang dari padanya.
Program adalah serangkaian
instruksi yang disusun secara urut, sistematis dan logis. Kegiatan yang
berhubungan dengan pembuatan program disebut pemrograman. Dalam pemrograman
komputer, kita memerlukan beberapa langkah. Berikut ini adalah beberapa langkah
yang harus dilakukan dalam pemrograman komputer :
1. Mendefinisikan masalah.
2. Menyusun Spesifikasi Program.
3. Memilih algoritma.
4. Menulis program.
5. Menguji program.
6. Menulis dokumentasi.
7. Merawat program
3.1.1
Mendefinisikan
Masalah
Langkah pertama ini sering dilupakan oleh
banyak pemrogram. Begitu mereka mendapat perintah untuk membuat suatu program,
mereka langsung menulis programnya tanpa men definisikan masalahnya terlebih
dahulu. Tentukan / identifikasikan masalahnya seperti apa, kemudian apa saja
yang harus dipecahkan dengan komputer, memutuskan apakah penyelesai an masalah
memerlukan modifikasi perangkat lunak yang sudah ada atau membuat program
aplikasi baru (sering dikenal juga sebagai tahapan analysis).
Pemakai komputer sering mengandalkan
komputer untuk menyelesaikan persoalan mereka. Oleh karena itu pekerjaan
seorang programer dimulai berdasarkan permintaan pemakai komputer untuk
menyelesaikan persoalan mereka.
Analisa dari masalah meliputi dua
langkah, yaitu :
1.
Mengidentifikasikan
persoalan dan menentukan jenis penyelesaian macam apa yang diperlukan.
Hal
yang pertama yang harus dilakukan oleh seorang programer dalam mempelajari
suatu masalah adalah memutuskan apakah sebenarnya ada persoalan. Ini mungkin
tugas yang sulit bagi programer, karena menyangkut kemampuan perspektif dan ke
mampuan berkomunikasi yang baik dengan pemakai komputer. Hal ini semua me
merlukan kecerdikan yang biasanya tak dapat dipelajari dari buku. Di samping
menentukan apakah ada atau tidaknya persoalan itu, programer harus juga memutus
kan apakah
penyelesaian dengan komputer tepat.
Setelah
masalah menjadi jelas, programer kemudian menentukan batasan-batasan yang harus
dipenuhi oleh perangkat lunak. Langkah ini menyangkut menentukan output yang
dinginkan, kemudian input yang dibutuhkan untuk menghasilkan output tersebut
dan tugas pemrosesan yang harus dilakukan oleh perangkat lunak tersebut.
2.
Kalau penyelesaian itu
menyangkut perangkat lunak, persyaratan-persyaratan perangkat lunak itu harus
dipenuhi.
Persyaratan-persyaratan
output selalu dikembangkan lebih dahulu,
karena programer belum tahu apa yang akan dimasukkan ke dalam perangkat
lunak jika tidak tahu apa yang akan dikeluarkan. Programer harus menentukan
terlebih dahulu isi, format, timing dan flexibilitas dari output
yang diinginkan.
Isi : tipe informasi apa yang diberikan
oleh program aplikasi dan bagaimana tingkat kedalaman informasi itu.
Timing : kapan para pemakai memerlukan
informasi.
Format : bagaimana informasi itu harus
disajikan.
Flexibilitas : output mempunyai keleluasaan
untuk diubah hasilnya, sesuai dengan keinginan dari pemakai jasa program
komputer dan mudah dimengerti hasilnya.
3.1.2
Menyusun
Spesifikasi Program
Spesifikasi program dalam garis besarnya
terdiri atas :
þ Diskripsi : keterangan umum mengenai persoalan yang
dipecahkan, input dan output yang akan dihasilkan oleh program itu.
þ Diagram Alir : keterangan dalam bentuk diagram, tentang
bagaimana input di proses menghasilkan output, dan aspek teknis pelaksanaannya.
þ Format Input : keterangan mengenai himpunan atau urutan data
yang masuk ke komputer, terutama tentang organisasi data.
þ Informasi tentang proses : ketentuan-ketentuan mengenai proses,
rumus-rumus yang digunakan, syarat-syarat dan tindakan-tindakan yang
berhubungan termasuk keadaan-keadaan abnormal yang ditangani program.
þ Format Output : keterangan bagaimana hasil pengolahan
disajikan serta hasil-hasil samping yang ada, termasuk aneka pilihan yang
tersedia dalam menampilkan hasil-hasil keluarannya.
3.1.3
Memilih
Algoritma
Langkah ini merupakan salah satu langkah
penting dalam pemrograman komputer. Mengapa ? karena pemilihan algoritma yang
salah akan menyebabkan program memiliki unjuk kerja yang kurang baik. Algoritma
ini akan kita bahas sepanjang perkuliahan ini.
3.1.4
Menulis
Program
Pada langkah ini, kita mulai menuliskan
program komputer untuk memecahkan masalah yang diberikan. Untuk menulis
program, kita menggunakan salah satu bahasa generasi ketiga. Kita tidak
menggunakan bahasa mesin atau assembly karena terlalu sulit dan memboroskan
waktu. Memang banyak orang yang senang menggunakan assembly dengan alasan
kecepatan tinggi, tetapi waktu yang diperlukan untuk menulis program juga
sangat lama. Kita juga tidak me makai bahasa generasi keempat, karena
penggunaannya lebih banyak dalam dunia basis data. Dalam perkuliahan ini, kita
akan menulis program menggunakan bahasa Visual Basic.
3.1.5
Menguji
Program
Setelah program selesai ditulis, kita
harus mengujinya. Pengujian pertama adalah : apakah program berhasil
dikompilasi dengan baik ? Pengujian berikutnya : apakah program dapat me
nampilkan keluaran yang diinginkan ? Langkah ke-4 dan ke-5 bisa dilakukan
berulang-ulang sampai program yang diyakini benar-benar berjalan sesuai dengan
yang diharapkan.
3.1.6
Menulis
Dokumentasi
Hal ini biasanya
dilakukan bersamaan dengan menulis program, artinya pada setiap baris program
atau setiap beberapa baris program, kita menambahkan komentar yang menjelaskan
kegunaan dari suatu pernyataan.
Dokumentasi ini
kelihatannya sepele dan banyak dilupakan orang, padahal fungsinya penting
sekali. Di masa mendatang, apabila kita perlu melakukan perubahan atau
perbaikan terhadap suatu program, kita akan merasakan pentingnya dokumentasi
yang baik.
3.1.7
Merawat
Program
Langkah ini
dilakukan setelah program selesai dibuat dan sudah digunakan oleh pengguna kita.
Hal yang paling sering terjadi di sini adalah munculnya bug yang
sebelumnya tidak terdeteksi. Atau mungkin juga pengguna ingin tambahan suatu
fasilitas baru. Apabila hal-hal seperti ini terjadi, kita harus melakukan
revisi terhadap program tersebut.
3.2 Pemrograman
Istilah pemrograman dapat didefinisikan
sebagai kegiatan menyusun program dalam suatu bahasa komputer, untuk suatu
tujuan pengolahan data tertentu. Kegiatan itu sangat penting, karena hanya
berkat program yang jitu sebuah komputer mampu menampilkan kegiatan yang
seakan-akan mengungguli otak manusia. Tanpa program, komputer bukan apa-apa.
Teknik
pemrograman (dan bahasa komputer) senantiasa mengalami kemajuan dan pe
nyempurnaan, agar program dapat disiapkan dan dikomunikasikan kepada komputer dengan
mudah. Disamping itu hendaklah program sederhana konstruksinya sehingga mudah
di modifikasikan untuk mengikuti perkembangan keperluan dan “transportable”
yaitu dapat di pindah dari suatu komputer ke komputer lain menurut perkembangan
keadaan.
3.3 Algoritma
Istilah
algoritma dibentuk dari nama matematikawan Arab terkenal pada abad ke-9, yaitu Abu
Jafar Muhammad Ibnu Musa Al-Khowarismi yang menulis buku berjudul
“Kitab al-Jabr al-Muqabala” (aturan penulisan dan pengurangan). Ia mengusulkan
cara menghitung penjumlah an dua bilangan dengan cara berulang menjumlahkan
angka-angka yang membentuknya, dari judul buku tersebut muncul ilmu Aljabar.
Algoritma adalah urutan langkah
berhingga untuk memecahkan masalah logika atau matematika
Dalam kehidupan sehari-hari, sebenarnya kita juga
menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh, kita ingin
menulis surat ,
maka kita perlu melakukan beberapa lang- kah berikut :
1.
Mempersiapkan kertas dan
amplop.
2.
Mempersiapkan alat tulis,
seperti pena atau pensil.
3.
Mulai menulis.
4.
Memasukkan kertas ke dalam
amplop.
5.
pergi ke kantor pos untuk
mengeposkan surat
tersebut.
Langkah-langkah dari nomor 1 sampai dengan nomor 5 di
atas itulah yang disebut dengan algoritma. Jadi sebenarnya kita sendiri juga
sudah menggunakan algoritma baik sadar maupun tidak sadar.
Contoh 1 : Algoritma
Berikut ini adalah contoh algoritma untuk memecahkan
masalah matematika. Misalkan kita ingin menghitung luas lingkaran dari masukan
berupa jari-jari lingkaran. Rumus luas lingkaran adalah :
Berikut ini adalah contoh algoritma untuk menghitung
luas lingkaran :
1.
Masukkan R.
2.
PI ¬ 3.14.
3.
L ¬ PI * R * R.
4.
Tulis L.
Perhatikan terdapat tanda ¬ pada baris kedua dan ketiga. Tanda ini berarti nilai di sebelah
kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua,
nilai 3.14 diberikan pada variabel PI. Berikutnya, nilai PI * R * R diberikan
pada variabel L.
Baris pertama dari algoritma di atas meminta masukkan
dari pengguna berupa jari-jari lingkar- an yang disimpan pada variabel R. Pada
baris kedua nilai p disimpan pada variabel dengan PI.
Baris ketiga menghitung luas lingkaran dengan rumus pR2 atau yang dituliskan PI * R * R. Luas lingkaran ini disimpan pada
variabel L. Baris terakhir menuliskan luas lingkaran tersebut.
3.4 Flowchart
Flowchart untuk suatu program adalah
suatu diagram yang menggambarkan susunan serta logika program tersebut.
Flowchart dapat membantu kita untuk memahami suatu program yang ada, ataupun
memberikan gambaran dari “arus” pelaksanaan program. Flowchart ter utama
penting untuk program-program yang cukup rumit.
Flowchart
menggunakan simbol-simbol geometrik seperti yang nampak pada Gambar 3-1 dan juga
simbol-simbol matematik yang nampak pada Gambar 3-2, yang menggambarkan secara
grafis urutan yang ada pada sebuah program.
Contoh 2 : Flowchart
Dibawah ini kita lihat contoh flowchart yang menggambarkan tentang proses pengambilan keputusan tentang makan siang. Apakah akan makan siang dengan sayur asem atau dengan gado-gado atau tidak makan siang. Lihat Gambar 3-3.
Biasanya untuk memudahkan memahami algoritma, orang menggambarkan suatu diagram alir (flowchart). Gambar 3-4 adalah contoh diagram alir untuk contoh algoritma penghitung luas lingkaran.
TIGA STRUKTUR KENDALI DASAR
Penganjur pemrograman terstruktur telah menunjukkan bahwa setiap program dapat disusun dari tiga struktur kendali dasar, yaitu :
1. Urutan (sequence).
Urutan adalah serangkaian prosedur-prosedur yang berurutan satu dengan yang lain
2. Pilihan (selection).
Pilihan (sering disebut IF THEN ELSE) adalah struktur kendali yang menyangkut satu kondisi tertentu.
3. Proses berulang (looping).
Adalah satu operasi yang berulang-ulang sampai kondisi dipenuhi.
Diagram alir dari tiga kendali dasar dapat dilihat pada Gambar 3-5 berikut ini :
Contoh 3 : Percabangan
Contoh berikut ini adalah algoritma untuk menuliskan nilai absolut dari nilai yang dimasukkan pengguna. Definisi dari nilai absolut adalah sebagai berikut ;
Berikut ini adalah algoritma untuk menuliskan nilai absolut dari masukan pengguna :
1. Masukkan x.
2. Jika x < 0 maka kerjakan baris 3, jika tidak kerjakan baris 4.
3. x –x.
4. Tulis x.
Baris 1 meminta masukkan suatu bilangan dari pengguna yang disimpan pada variabel x. Baris 2 mengecek nilai variabel x lebih kecil dari 0 atau tidak. Jika ya, yang dikerjakan adalah baris 3, tetapi jika tidak yang dikerjakan adalah baris keempat. Baris ketiga membuat nilai x menjadi positif, karena baris ini hanya dikerjakan jika nilai x lebih kecil dari 0. Baris terakhir menuliskan nilai x yang selalu positif. Gambar 3-6 adalah contoh diagram alir untuk algoritma di atas.
Contoh 4 : Pilihan / selection
Contoh penggunaannya adalah pada Gambar 3-6. Flowchart ini untuk menghitung pembagian gaji bagi tenaga penjualan. Tenaga penjualan dibayarkan berdasarkan atas dasar komisi yaitu dari % tertentu dari penjualan. Apabila mereka menjual lebih dari 10.000 unit, akan mendapatkan bonus 100.
Contoh 5 : Pengulangan
Algoritma untuk menghitung rata-rata dari sekumpulan data yang dimasukkan pengguna. Rumus mencari rata-rata dari data xi yang berjumlah N adalah sebagai berikut :
berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna :
1. Masukkan N.
2. i 1.
3. j 0.
4. Selama i N kerjakan baris 4 sampai dengan 7.
5. Masukkan dt.
6. i i + 1.
7. j j + dt.
8. Rata j / N
9. Tulis Rata.
Baris pertama meminta pengguna memasukkan N, yaitu jumlah data.
Pada baris kedua, variabel i, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pengguna, diberi nilai 1.
Pada baris ketiga, variabel j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0.
Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama i kurang dari atau sama dengan N. Dengan kata lain, setelah i lebih besar dari N, baris kedelapan yang dijalankan.
Baris kelima meminta masukkan data yang ke-i.
Baris keenam menambah variabel i dengan 1. Perhatikan arti dari perintah i i + 1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali.
Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Variabel j diguna kan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt.
Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data.
Baris terakhir menuliskan rata-rata tersebut.
Gambar 3-8 adalah diagram alir untuk algoritma Contoh 5 di atas.
Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu per- masalahan ke dalam bahasa komputer. Oleh karena itu, banyak pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma di atas kertas lagi. Artinya dia menuliskan algoritma itu di dalam kepalanya dan dia langsung memprogram berdasarkan algoritma di kepalanya.
Soal-soal dengan penyelesaian
1. Suatu segitiga mempunyai sisi-sisi A = 9.2, B = 14.4 dan C = 18.8, maka rumus untuk menghitung keliling dan luas segitiga adalah :
a. Buatlah algoritma untuk menghitung keliling dan luas segitiga tersebut.
b. Konversikan algoritma yang telah dibuat ke bentuk diagram alir (flowchart).
Penyelesaian :
a. Algoritma untuk menghitung keliling dan luas segitiga.
1. Baca A, B , C
2. KELILING A + B + C
3. S KELILING / 2
4. LUAS (S(S – A)(S – B)(S – C))
5. Tulis KELILING, LUAS
b. Diagram alir (flowchart)
2. Buatlah algoritma dan diagram alir untuk menyusun hasil keluaran dalam skala Reamur dan Fahreinheit untuk nilai-nilai Celcius mulai dari 5 sampai dengan 100 dengan kenaikan 5. Rumus yang dipergunakan :
a. Algoritma untuk menyusun hasil keluaran Celcius dalam Reamur dan Fahrenheit.
1. Mulai
2. C ¬ 0.0
3. C ¬ C + 5
4. R ¬ C / 5 * 4
5. F ¬ C / 5 * 9 + 32
6. Tulis R, F, C
7. Jika C 100 maka kerjakan baris 2, jika tidak kerjakan baris 8
8. Selesai
c. Diagram alir / flowchart :
3. Kita bermaksud menetapkan apakah seorang mahasiswa lulus atau gagal dalam suatu mata kuliah setelah menempuh 2 kali ujian. Ketentuannya lulus jika nilai rata-ratanya lebih besar dari 54, selain itu dinyatakan gagal.
Penyelesaian :
a. algoritma “Lulus – gagal”
1. Mulai
2. Baca N1, N2
3. X = (N1 + N2) / 2
4. Jika X > 54 kerjakan baris 5, jika tidak kerjakan baris 6
5. Tulis Mahasiswa lulus
6. Tulis Mahasiswa gagal
7. Selesai
b. Diagram alir / flowchart “Lulus – gagal”
Tidak ada komentar:
Posting Komentar
Terima kasih bagi anda yang meninggalkan kritik dan atau saran.