Pada
saat kita dihadapkan dengan suatu masalah, maka kita akan berusaha untuk
mencari suatu jalan keluar atau suatu pemecahan/penyelesaiannya. Suatu
penyelesaian masalah dapat dirancang dan diprogram dengan menekankan pada
desain yang mewakili pemecahan masalah. Algoritma merupakan peranan yang sangat
penting dalam penyelesaian suatu masalah. Kita dapat menyelesaikan suatu
masalah secara sistematis dan berkonsep. Sehingga hasil pemecahan masalah yang
diperoleh lebih baik dan lebih tepat.
Algoritma
dapat didefinisikan sebagai logika, metode, dan tahapan (urutan sistematis yang
digunakan untuk memecahkan suatu permasalahan). Algoritma merupakan spesifikasi
urutan langkah untuk melakukan pekerjaan tertentu. Jika kita ingin menghasilkan
algoritma yang baik, maka kita harus memperhatikan algoritma, seberapa baik
hasil yang dicapai oleh algoritma tersebut, serta efisiensi algoritmanya.
Dalam
menyelesaikan suatu permasalahan, banyak algoritma yang dapat dibuat. Walaupun
terjadi perbedaan dalam penyusunan algoritma, tentunya kita mengharapkan
keluaran atau output yang sama. Jika terjadi demikian, ada baiknya kita mencari
algoritma yang efisien, cepat, dan tepat.
Apa Perbedaan Algoritma dan Program?
Program
adalah kumpulan instruksi komputer, sedangkan algoritma adalah metode dan
tahapan sistematis dalam program. Program ditulis dalam bahasa pemrograman.
Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman. Beberapa pakar memberikan formula bahwa:
Program
= Struktur Data + Algoritma
Bagaimanapun
juga, struktur data dan algortima berhubungan erat dalam sebuah program.
Algortima yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian pula sebaliknya.
Pembuatan
algoritma mempunyai banyak keuntungan diantaranya adalah:
1.
Pembuatan atau penulisan algoritma tidak
tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma
independen dari bahasa pemrograman dan komputer yang melaksanakannya.
2.
Notasi algoritmik dapat diterjemahkan ke dalam
berbagai bahasa pemrograman.
3.
Apapun bahasa pemrogramannya, output yang
dikeluarkan sama karena algoritmanya sama.
Algoritma
merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer,
algoritma harus ditranslasikan kedalam bahasa pemrograman. Beberapa hal harus
diperhatikan ketika mentranslasikan, yaitu sebagai berikut:
a)
Pendeklarasian variabel
Pendeklarasian variabel bisa disertakan atau tidak tergantung
dibutuhkan atau tidaknya suatu pendeklarasian variabel dalam suatu bahasa pemrograman.
b)
Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan
tipe data.
c)
Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi
masing-masing meiliki kelebihan dan kekurangan yang berbeda-beda.
d)
Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan
sintaksis dalam bahasa pemrograman yang akan digunakan.
e)
Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan
hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika
mengkonversikannya menjadi program.
f)
Cara pengoperasian computer atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok
compiler atau interpreter.
Persyaratan
algoritma yang baik:
1.
Reability (tingkat kepercayaannya tinggi)
2.
Low-cost (pemrosesan yang efisien/cost rendah)
3.
General (sifatnya general atau umum)
4.
Expendable (bisa dikembangkan)
5.
Mudah dimengerti.
6.
Portability (portabilitas tinggi)
Struktur
Dasar Algoritma
a.
Struktur Runtutan
Digunakan untuk program yang instruksinya sequential atau
urut.
b.
Struktur Pemilihan
Digunakan untuk program yang menggunakan pemilihan atau
penyeleksian kondisi.
c.
Struktur Perulangan
Digunakan untuk program yang instruksinya akan dieksekusi
secara berulang-ulang.
Pengenalan Dasar
Bahasa Pemrograman C/C++
Bahasa
tingkat tinggi merupakan bahasa yang mudah dipahami oleh manusia. C dan C++
merupakan contoh dari bahasa tingkat tinggi. Contoh lain dari bahasa tingkat
tinggi adalah Pascal, Java, Perl, dan lain-lain. Sedangkan bahasa tingkat
rendah merupakan bahasa mesin atau bahasa assembly.
Proses
untuk mengubah dari bentuk bahasa tingkat tinggi ke bahasa tingkat rendah dalam
bahasa pemrograman ada dua tipe, yakni interpreter
dan compiler. Interpreter membaca
program berbahasa tingkat tinggi, kemudian mengeksekusi program tersebut. Hal
ini berarti, bahwa interpreter melakukan hal yang dikatakan dalam program
tersebut atau dapat dikatakan bahwa interpreter membaca perbaris kemudian mengeksekusinya.
Contoh: Perl, Phyton, PHP, dan lain-lain.
Sedangkan
compiler membaca program dan menerjemahkan secaara keseluruhan kemudian baru
dieksekusi. Bisa juga terjadi penyusunan suatu program yang merupakan bagian
dari program lain. Dalam kasus ini, program tingkat tinggi ini dinamakan kode
sumber (source code), dan hasil
terjemahan sering dinamakan object code
atau executable. Contoh: C, Pascal,
C++, dan lain-lain. Namun ada beberapa bahasa pemrograman yang menggabungkan
tipe interpreter dan compiler, contohnya adalah bahasa Java.
·
Langkah Interpreter
Input -->
Interpreter -->
Output
·
Langkah Compiler
Input --> Compiler --> Object Code --> Executor --> Output
Keunggulan
bahasa C++
a.
Proses eksekusi program yang cepat
b.
Struktur bahasa yang baik
c.
Menyediakan kemampuan pemrograman berorientasi
objek.
Aturan-aturan
umum penulisan bahasa C/C++:
1.
Bahasa C/C++ bersifat case sensitive artinya
huruf besar dan huruf kecil dibedakan. Sebagai contoh, variabel jumlah dianggap berbeda dengan Jumlah.
2.
Untuk memberi komentar pada suatu baris program,
digunakan /* dan */ atau //.
3.
Awal dan akhir fungsi utama maupun subroutine
diapit dengan kurung kurawal {}.
4.
Setiap pernyataan diakhiri dengan titik
koma/semicolon (;).
5.
Semua variabel yang digunakan di dalam program
wajib dideklarasikan terlebih dahulu.
Referensi:
10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ di GNU/LINUX, Ema Utami & Sukrisno, Penerbit Andi
Pemrograman C++, Tri Basuki Kurniawan & Misinem, Penerbit Ardana Media
Pemrograman C++ di LINUX, Iwan Binanto, Penerbit Andi
Tipe data dalam bahasa C++ apabila dilihat dari jenisnya.
1.
Tipe Integer
Variabel bertipe Integer
digunakan untuk menyimpan data-data yang bernilai bilangan bulat.
2.
Tipe Float
Variabel bertipe float digunakan
untuk menyimpan data-data bernilai real.
3.
Tipe Char
Variabel bertipe char digunakan
untuk menyimpan data-data berupa karakter yakni huruf, simbol, dan angka.
4.
Tak bertipe (Void)
Variabel ini digunakan apabila
suatu fungsi tidak menghasilkan nilai.
Referensi:
10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ di GNU/LINUX, Ema Utami & Sukrisno, Penerbit Andi
Pemrograman C++, Tri Basuki Kurniawan & Misinem, Penerbit Ardana Media
Pemrograman C++ di LINUX, Iwan Binanto, Penerbit Andi
0 komentar:
Posting Komentar