Senin, 10 Desember 2012

PROGRAM DAN PEMROGRAMAN



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.

Ada beberapa definisi algoritma, tetapi di sini kita menggunakan acuan Microsoft Bookshelf :

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.