Informatika

Sabtu, 04 Maret 2017

ALGORITMA DAN PEMROGRAMAN DENGAN MENGGUNAKAN C++

09.55 Posted by Unknown No comments
Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis serta dapat ditentukan bernilai salah atau benar”. Suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
1.      Mengerti setiap langkah dalam Algoritma.
2.      Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Dalam membuat sebuah program, ada beberapa hal penting, yaitu:
1.      Tujuan pembuatan program.
2.      Algoritma.
3.      Bahasa pemrograman itu sendiri.
Ciri – ciri dari algoritma seperti yang dipaparkan oleh Donald E. Knuth:
1.      Algoritma mempunyai awal dan akhir.
2.      Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda.
3.      Memiliki masukan (input) atau kondisi awal.
4.      Memiliki keluaran (output) atau kondisi akhir.
5.      Algoritma harus efektif, bila digunakan benar – benar menyelesaikan persoalan.

B.       Mekanisme Pelaksanaan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Langkah-langkah penyelesaian dalam algoritma dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidak ada notasi baku dalam penulisan algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden dengan notasi bahasa pemrograman secara umum.

C.      Aturan Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu:
1.      Judul (Header)
2.      Kamus
3.      Algoritma
Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawal contoh {Komentar}. Notasi algoritma yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.

Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
Contoh :

Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan : Nama type, Nama konstanta, Nama variable, Nama fungsi, Nama prosedur
Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain/range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan).

Algoritma (Deskripsi)
Merupakan bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentukan urutan langkah pelaksanaan perintah.
Contoh :

Contoh Penyelesaian Masalah dengan Algoritma
Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti Keluaran.


Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran.



D.      Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah, berupa urutan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar algoritma ada tiga, yaitu:
1.   Struktur Runtunan: digunakan untuk program yang pernyataannya sequential atau urutan.
2. Struktur Pemilihan: digunakan untuk program yang menggunakan pemilihan kondisi.
3.  Struktur Perulangan: digunakan untuk program yang pernyataannya dieksekusi berulang-ulang.

E.       Pemrograman Prosedural
Algoritma merupakan proses yang prosedural. Pada program prosedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri dari atas runtunan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh sebuah pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun. Kita katakan bahwa tahapan pelaksanaan program mengikuti pola beruntun atau prosedural. Paradigma pemrograman seperti ini dinamakan pemrograman prosedural. Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C/C++ mendukung kegiatan pemrograman prosedural, sehingga dinamakan bahasa prosedural.
Selain paradigma pemrograman prosedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming atau OOP). Paradigma pemrograman ini merupakan trend baru dan sangat populer akhir-akhir ini. Pada paradigma OOP, data dan instruksi dibungkus (encapsulation) menjadi satu. Kesatuan ini disebut kelas (class) dan instansiasi kelas pada saat run-time disebut objek (object). Data di dalam objek hanya dapat diakses oleh instruksi yang ada di dalam objek itu saja.
Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrograman deklaratif, dan pemrograman konkuren. Penulis dalam modul ini hanya menyajikan paradigma pemrograman prosedural saja.

F.       Flowchart
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut. Flowchart digunakan dalam pengembangan program aplikasi, merupakan cara tradisional untuk mengajukan tahapan atau langkah-langkah penyelesaian dalam bentuk diagram atau grafis.


Contoh 1 : Kasus dan Penyelesaian Algoritma
1.      Menghitung luas dan keliling lingkaran. Proses kerjanya sebagai berikut:
Algoritma dengan struktur bahasa Indonesia
a.       Baca jari-jari lingkaran
b.      Tentukan konstanta phi = 3.14
c.       Hitung luas dan keliling
L = phi*r*r
K = 2*phi*r
d.      Cetak luas dan keliling

2.      Algoritma konversi suhu dalam derajat Celcius ke derajat Kelvin
Penyelesaian menggunakan pseudocode:
Input (Celcius)
Kelvin = Celcius + 273
Output (Kelvin)
3.      Menghitung rata-rata tiga buah data, menggunakan algoritma dalam stuktur bahasa Indonesia dan Psedocode
a.       Algoritma dengan struktur bahasa Indonesia
Baca bilangan a, b, dan c
Jumlahkan ketiga bilangan tersebut
Bagi jumlah tersebut dengan 3
Tulis hasilnya
b.      Algoritma dengan pseudocode
input (a, b, c)
Jml = a+b+c
Rata = Jml/3
Output (Rata)
Contoh 2 : Algoritma dan Flowchart
Buatlah algoritma dan flowchart untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
Algoritma dalam struktur bahasa Indonesia:
1.      Tentukan bilangan yang akan diinputkan.
2.      Hitung sisa bagi antara bilangan dengan 2.
3.      Bila sisa hasil bagi sama dengan 0, maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil.

Flowchart menentukan Bilangan Ganjil atau Bilangan Genap, adalah sebagai berikut:


Contoh 3 : Algoritma dan Flowchart
Berikut ini contoh algoritma dan flowchart untuk mencari hasil perhitungan 1+3+5+7+9+11+13+15.

Langkah-Langkah Penyelesaian (Algoritma)
1.      Tentukan nilai awal untuk N = -1 dan JML = 0.
2.      Tentukan nilai beda bilangan N.
N = N + 2
3.      Hitung hasil perhitungan jumlah bilangan.
JML = JML + N
4.      Bandingkan nilai N, apakah nilai N = 15.
5.      Jika N = 15, berarti perhitungan jumlah bilangan sudah terpenuhi, goto 7.
6.      Jika N  15, berarti perhitungan jumlah bilangan belum terpenuhi, goto 2.
7.      Cetak nilai JML, yaitu hasil perhitungan jumlah bilangan 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15.


Flowchart

0 komentar:

Posting Komentar