Anda di halaman 1dari 23

ALGORITMA

PEMROGRAMAN
Buku Modul Pembelajaran

Drs. Suarga. M.Sc, M.Math, Ph.D

STMIK Dipanegara Makassar 2015

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 1


KATA PENGANTAR

Alhamdulillah, segala puji bagi Allah SWT yang telah melimpahkan rahmat dan rahim-nya
sehingga buku modul pembelajaran “Algoritma Pemrograman” ini pada akhirnya dapat
diselesaikan.

Sebagai suatu tulisan yang baru pertama kali diterbitkan sebagai buku ajar maka tentu tulisan ini
tidak terlepas dari kesalahan dan kekurangan oleh seModul itu saran untuk perbaikan sangat
penulis harapkan dari para pembaca dan para pengguna terutama dari kalangan staf pengajar dan
mahasiswa.

Saya ucapkan terima kasih yang sebesar-besarnya kepada pihak yang bersedia menerbitkan
tulisan ini sehingga dapat disebar luaskan kepada para pengguna terutama kalangan mahasiswa,
sebagai satu bagian dari usaha dalam mencerdaskan kehidupan bangsa. Terima kasih saya
ucapkan pula untuk siapa saja yang mau menggunakan buku ini sebagai acuan dalam
mempelajari pembuatan algoritma, dengan demikian jerih payah penulis dalam menyusun buku
ini tidaklah sia-sia.

Walaupun beberapa contoh dan soal latihan telah disertakan dalam buku, namun penulis tetap
mengharapkan agar para pengajar dapat memperkaya khasanah latihan melalui soal-soal
tambahan yang diambil dari berbagai sumber lain. Bagi para mahasiswa saya pesankan bahwa
dalam pembuatan algoritma dan program “latihan adalah guru yang terbaik”.

Makassar Februari 2015


Drs. Suarga, M.Sc, M.Math, Ph.D

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 2


Daftar Isi
Kata Pengantar
Daftar Isi

Modul-1 : Pendahuluan Algoritma

Modul-2 : Flowcharting

Modul-3 : Variabel, Data, dan Operator

Modul-4 : Instruksi Input/Output dan instruksi seleksi If/Then/Else

Modul-5 : Instruksi Seleksi Case dan instruksi Perulangan For

Modul-6 : Instruksi Perulangan While dan do…While

Modul-8 : Presentasi dan UTS

Modul-7 : Berbagai contoh Solusi Masalah (Flowchart, Algoritma, Program C++)

Modul-9 : Prosedur dan Fungsi

Modul-10 : File Teks

Modul-11 : Larik: Vektor dan Matriks

Modul-12 : Teknik Pencarian (Searching)

Modul-13 : Teknik Pengurutan (Sorting)

Modul-14 : Struktur Data

Modul-15 : Pemrograman Ber-orientasi Objek

Modul-16 : UAS

Referensi -

Lampiran : Ringkasan Bahasa C / C++

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 3


MODUL MATERI
PEMBELAJARAN
Matakuliah: Algoritma dan Pemrograman

MODUL 1
Pendahuluan Algoritma

Penyusun Modul
DR. SUARGA. MSc, M.Math, Ph.D

STMIK DIPANEGARA
MAKASSAR
Suarga,PhD, Modul-1 Algoritma Pemrograman Page 4
PETA MODUL

Pendahuluan
Solusi Masalah:
Algoritma
Flowchart, Algoritma, Teknik
Program C/C++ Pencarian

Flowcharting

Ujian Tengah Teknik


Semester Pengurutan
Variabel, Data,
dan Operator

Struktur Data
Instruksi : Prosedur
Input & Output, dan Fungsi
If/then/else

Orientasi Objek

Instruksi : Teks File


Seleksi Case,
Perulangan For Ujian Akhir
Semester
Larik:
Instruksi : Vektor
Perulangan While, Matriks
Do While

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 5


PENDAHULUAN
CAPAIAN PEMBELAJARAN : Setelah mengikuti matakuliah ini mahasiswa
diharapkan dapat menganalisis masalah, menyusun algoritma penyelesaian dan
membuat program dalam bahasa C/C++ berdasarkan algoritma untuk berbagai
persoalan komputasi dasar.

KOMPETENSI MODUL : Setelah mengikuti modul ini Mahasiswa diharapkan mampu


menjelaskan konsep algoritma dan dapat membuat algoritma sederhana.

KERANGKA TOPIK :

a. Konsep Algoritma (Definisi, sifat, ciri algoritma, dan struktur)


b. Bahasa Komputer
c. Sejarah C/C++
d. Struktur Bahasa Program C/C++

PRASYARAT BELAJAR:

Modul awal ini tidak memerlukan prasyarat khusus karena merupakan


pendahuluan dari seluruh rangkaian modul. Mahasiswa hanya diharapkan
mengerti bahasa Indonesia, sedikit bahasa Inggris, dan pengetahuan
matematika dasar.

Setelah menerima modul ini, mahasiswa dianjurkan mengulangi membaca dan


meresapkan materi sehingga dapat menguasai apa yang tersurat dan tersirat
dari modul ini.

DESKRIPSI SINGKAT:

Modul ini merupakan pengenalan tentang konsep algoritma dan


pemrograman, diberikan definisi algoritma, ciri algoritma, sifat algoritma dan
sedikit catatan sejarah algoritma.

Selain itu akan diberikan pula sejarah dari bahasa program C/C++, dan
kemudian hubungan antara algoritma dan C/C++.

Dibagian akhir akan diberikan contoh penyusunan algoritma dan program-nya


dalam C++.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 6


PRE-TEST:
1. Apa itu algoritma, apa bedanya dengan program?

2. Mengapa komputer perlu program?

3. Tulislah algoritma untuk menyelesaikan masalah sebuah mobil yang ban belakangnya
bocor.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 7


URAIAN MATERI:
1.1 Konsep Algoritma

Algoritma merupakan fondasi yang harus dikuasai oleh setiap mahasiswa yang ingin
menyelesaikan suatu masalah secara berstruktur, effektif, dan effisien, teristimewa lagi bagi
mahasiswa yang ingin menyusun program komputer untuk menyelesaikan suatu persoalan.
Konsep dan dasar-dasar penysunan algoritma akan dibahas dalam bab ini.

Definisi :
• Algoritma : teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk
kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis.
• Algoritma : suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan
menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
• Algoritma : susunan langkah yang pasti, bila diikuti maka akan mentransformasi data
input menjadi informasi output.

Catatan Sejarah :
• Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi : Matematisi dan Astronomer
Persia, penulis buku “Aljabar wal muqabala” beberapa abad yang lalu (diperkirakan
wafat pada tahun 850), dianggap sebagai pencetus pertama dari Algoritma, karena
didalam buku tersebut Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan
berbagai persoalan aritmetika (aljabar). Kemungkinan besar kata “Algoritma” diambil
dari kata “Al-Kwarizmi” yang kemudian berubah menjadi “Algorism”, selanjutnya
menjadi “Algorithm”.

Gambar Al-Kwarizmi dari Perangko Rusia

Ciri Algoritma :
• Donald E.Knuth : seorang penulis beberapa buku algoritma abad XX, menyatakan
bahwa ada beberapa ciri algoritma, yaitu:

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 8


o Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah
mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma
memiliki langkah yang terbatas.
o Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti
ganda, tidak membingungkan (not ambiguous).
o Memiliki masukan (input) atau kondisi awal.
o Memiliki keluaran (output) atau kondisi akhir.
o Algoritma harus effektif, bila diikuti benar-benar akan menyelesaikan
persoalan.

Gambar Donald E.Knuth

Algoritma dapat ditemukan dalam kehidupan sehari-hari, misalnya sbb:

Proses Algoritma Contoh langkah


1. Membuat Kue Resep Kue Campurkan 200 gram gula,
400 gram terigu dan 5 butir
telur, kemudian diaduk
hingga menjadi adonan.
2. Menggunakan pesawat Buku Petunjuk Pastikan kabel power sudah
Televisi disambung ke sumber
listrik, kemudian tekan
tombol “power” hingga
lampu indikator merah
menyala.
3. Praktikum Kimia Petunjuk Praktikum Campurkan 15 ml Asam
Nitrat ke dalam 15 ml
Natrium hidroksida.

Ketika suatu pekerjaan akan dilakukan maka tanpa sadar otak sudah merencanakan bagaimana
pekerjaan tersebut akan dilaksanakan, misalkan ketika anda berfikir akan makan siang disuatu
kedai siap saji maka didalam benak anda mulai timbul suatu rencana, antara lain mungkin
sebagai berikut:

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 9


Secara garis besar anda mungkin berfikir untuk makan disebuah kedai siap saji yang terdekat,
kemudian akan memilih menu yang memenuhi selera, dan setelah makan akan menuju ke tempat
yang lain. Langkah secara rinci misalnya dilakukan sebagai berikut:

1. Cari lokasi terdekat dari kedai siap saji tersebut.


2. Bergerak menuju lokasi tersebut.
3. Setelah sampai, melihat dimana tempat memesan makanan.
4. Antri ditempat antrian pemesanan.
5. Melihat daftar menu, dan memilih makanan.
6. Melakukan pesanan sesuai selera.
7. Membayar harga pesanan.
8. Menunggu pesanan.
9. Menerima pesanan.
10. Mencari meja kosong.
11. Meletakkan makanan diatas meja, dan duduk
12. Menikmati makanan.
13. Setelah selesai, meninggalkan kedai tersebut.

Langkah rinci yang anda lakukan ini tidak lain adalah algoritma untuk menyelesaikan suatu
permasalahan anda, makan siang.

Sifat Algoritma :

Berdasarkan ciri dari algoritma yang dipaparkan oleh Donald Knuth dan definisi Algoritma maka
dapat disimpulkan sifat utama suatu algortima, yaitu sebagai berikut:

 input : suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan
dan bisa berupa nilai-nilai peubah yang diambil dari himpunan khusus.
 output : suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma
akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari
nilai input yang telah diproses melalui algoritma.
 definiteness : langkah-langkah yang dituliskan dalam algoritma ter-definisi dengan jelas
sehingga mudah dilaksanakan oleh pengguna algoritma
 finiteness : suatu algoritma harus memberi kondisi akhir atau output setelah melakukan
sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang
diberikan
 effectiveness : setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang
waktu tertentu sehingga pada akhirnya memberi solusi sesuai dengan yang diharapkan.
 generality : langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai
dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu.

Agar bentuk algoritma dan proses penyusunannya dapat mulai dipahami maka berikut ini akan
diuraikan proses pembuatan algoritma mulai dari bentuk yang menggunakan bahasa sehari-hari,
disusul penjelasan format algoritma yang dapat dijadikan acuan, dan beberapa contoh pembuatan
algoritma yang mengikuti format tersebut.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 10


Contoh: Susun algoritma untuk mencari angka terbesar (maksimum) dari suatu kumpulan
bilangan bulat yang terbatas banyaknya.

Solusi : dalam bahasa sehari-hari penyelesaian masalah disusun sebagai berikut:

1. Ambil satu angka pertama dan aggaplah angka pertama dalam kumpulan ini sebagai yang
terbesar (maksimum).
2. Bandingkan angka maksimum ini dengan angka berikutnya dalam kumpulan, bila angka
berikut tersebut lebih besar maka jadikanlah ia maksimum.
3. Ulangi langkah 2 ini sehingga tidak ada lagi angka yang tersisa dalam himpunan
4. Hentikan pembandingan setelah semua angka selesai dibandingkan, maka angka terbesar
dalam himpunan tersebut adalah angka maksimum terakhir.

Solusi tersebut dalam bentuk simbol instruksi atau “pseudo-code” adalah sbb:

• andaikan N = banyaknya angka dalam himpunan


• index = 1
• maksimum = angka(index)
• selama index < N , lakukan:
o bila angka(index) > maksimum maka maksimum = angka(index)
o index = index + 1
o ulangi lagi untuk index berikutnya
• angka terbesar dalam himpunan adalah maksimum terakhir

Suatu algoritma tentu dapat ditulis dengan menggunakan bahasa sehari-hari seperti contoh diatas
namun algoritma seperti ini masih sulit untuk langsung diterjemahkan apabila akan di-
implementasi ke dalam suatu bahasa pemrograman komputer. Setiap algoritma tentu saja
memerlukan suatu langkah “peralihan” ke suatu bahasa program ketika akan dilaksanakan
dengan menggunakan komputer, sehingga semakin dekat bentuk algoritma ini ke bentuk
program komputer maka semakin mudah diterjemahkan. Suatu algoritma juga dapat ditulis
langsung dalam bentuk “bahasa program” namun algoritma seperti ini hanya bisa digunakan
untuk bahasa program tertentu dan terpaksa diubah kembali untuk disesuaikan apabila akan di-
implementasi dengan bahasa program yang lain. Suatu struktur tertentu yang dikenal sebagai
“pseudo-code” akan diperkenalkan dalam modul ini agar algoritma dapat diterima secara umum
dan cukup effisien apabila akan diterjemahkan ke dalam bahasa program.

• Struktur Algoritma : agar algoritma dapat ditulis lebih teratur maka sebaiknya dibagi ke
dalam beberapa bagian. Salah struktur yang sering dijadikan patokan adalah sebagai berikut:

o Bagian Kepala (Header) : memuat nama algoritma serta informasi atau keterangan
tentang algoritma yang ditulis.
o Bagian Deklarasi / Definisi Variabel : memuat defenisi tentang nama variable,
nama tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam
algoritma.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 11


o Bagian Deskripsi / Rincian Langkah : memuat langkah-langkah penyelesaian
masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang
mengubah data input menjadi output, dsb.

• Contoh 1: Berikut ini adalah contoh struktur sebuah algoritma:


Algoritma ini akan menghitung luas sebuah lingkaran dengan input
jejari dari lingkaran tersebut. Luas lingkaran adalah phi*jari*jari.

Algoritma Luas_lingkaran
{ menghitung luas sebuah lingkaran apabila jari-jari lingkaran tersebut diberikan }

Deklarasi
{ Definisi nama tetapan }
const phi = 3.14;

{ definisi nama peubah / variable }


real jari_jari, luas;

Deskripsi
read(jari_jari); { membaca nilai jari-jari lingkaran }
luas = phi * jari_jari * jari_jari; { menghitung luas lingkaran }
write(luas); { menampilkan luas lingkaran }

• Contoh 2: Contoh berikut ini adalah algoritma untuk menghitung nilai rata sejumlah
angka yang dimasukkan lewat keyboard.

Algoritma Nilai_Rata
{menghitung nilai rata sejumlah bilangan yang dimasukkan lewat keyboard }

Definisi Variabel
integer x, N, k, jumlah;
real nilai_rata;

Rincian Langkah
{ masukkan jumlah data }
read(N); { membaca banyaknya data }
k  1; { memulai pencacah k=1 }
jumlah  0; { menolkan jumlah nilai data}
while (k <= N) do { perulangan untuk mengambil data }
{ baca data }
read(x); { baca data satu persatu }
jumlah  jumlah + x; { menjumlahkan data }
k  k + 1; { menaikkan angka pencacahan }
endwhile

{ hitung nilai rata }


nilai_rata  jumlah / N; { menghitung nilai rata }
write(nilai_rata); { menampilkan nilai rata }

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 12


• Contoh 3 : Contoh algoritma yang menerima dua buah angka bulat kemudian
menampilkan angka yang lebih besar.

Algoritma Lebih_besar
{ menerima dua angka kemudian menampilkan angka yang lebih besar }

Definisi Variable
integer angka1, angka2;

Rincian Langkah
{ memasukkan angka }
write (“Masukkan angka 1 : “);
read (angka1);
write (“Masukkan angka 2 : “);
read (angka2);
{ periksa yang lebih besar }
if (angka1 > angka2)
then write(“yang lebih besar = “, angka1);
else write(“yang lebih besar= “, angka2);
endif.

Contoh 4 : algoritma berikut ini mencari angka terbesar dari suatu himpunan angka.

Algoritma Terbesar
{ membentuk himpunan angka, kemudian mencari angka terbesar }

Definisi Variabel
integer N=25, max, indeks;
integer Angka[N];

Rincian Langkah
{ memasukkan anggota himpunan angka }
for ( i = 1 to N step 1)
write ( “Masukkan angka ke : “, i );
read ( Angka[ i ] );
endfor.
{ max adalah angka pertama }
max  Angka[ 1 ];
indeks  1;
{ bandingkan max dengan setiap angka dalam himpunan }
while ( indeks < N ) do
indeks  indeks + 1;
if ( Angka[indeks] > max )
then max  Angka[indeks];
enddo.
write ( “Angka terbesar = “, max );

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 13


1.2 BAHASA KOMPUTER
Algoritma sebagai suatu langkah penyelesaian masalah hanya bisa dibuktikan kebenaran-nya
apabila algoritma di-implementasi dalam bentuk program komputer, kemudian di-uji-coba
melalui pelaksanaan (eksekusi) program pada komputer. Program ditulis berdasarkan atau
mengikuti algoritma penyelesaian dalam satu bahasa komputer yang dipilih.

Ada banyak sekali bahasa komputer yang telah diciptakan, namun yang populer tidak terlalu
banyak, antara lain seperti BASIC, Visual BASIC (VB), Pascal, Delphi, C, C++, Visual C++,
C#, Java, Python, PHP, dan sebagainya.

Bahasa komputer dapat dibedakan pula menurut tingkatan-nya, yaitu:


– Machine Language
– Low Level Language (Assembly)
– Middle Level Language
– High Level Language
– Very High Level Language

Machine-language adalah bahasa yang paling rendah biasanya dalam format bit (binary digit)
yang hanya dikenal oleh komputer dan sangat sulit untuk manusia. Bahasa ini yang paling sesuai
dengan perangkat keras komputer, bahkan instruksi harus diubah menjadi bahasa mesin agar
dapat dilaksanakan. Komputer adalah perangkat elektronik digital yang bekerja berdasarkan
rentetan pulsa listrik, setiap pulsa adalah disebut bit (binary digit).

Bahasa tingkat rendah (Low Level Language), ditulis dalam simbol-simbol instruksi, seperti:
ADD (menjumlah), SUB (mengurang), MUL (mengalikan) dsb. Setiap simbol instruksi ini
merupakan representasi dari instruksi dalam format bit/biner/hexa, agar lebih mendekati bahasa
manusia. Namun pada hakekatnya setiap perangkat keras memiliki kumpulan instruksi yang
berbeda, atau konstruksi bahasa bergantung pada jenis mikroprosessor yang digunakan oleh
hardware dan disebut bahasa Assembly (Rakitan), walaupun sedikit sulit namun banyak
programmer yang gemar memakai-nya karena dengan memakai assembler programmer bisa
langsung memberi perintah ke hardware (register, ram, dsb).

Bahasa tingkat tinggi (High Level Language), menggunakan perintah dalam bahasa Inggris
sehingga mudah di-ingat dan dimengerti oleh programmer, namun bahasa ini tidak dimengerti
oleh hardware, baris instruksi harus diterjemahkan ke dalam bahasa mesin sebelum dijalankan
oleh komputer. Ada dua macam penterjemahan bahasa tingkat tinggi yaitu: Compiler dan
Interpreter.

Compiler adalah proses mengubah bahasa tingkat tinggi menjadi bahasa tingkat rendah,
kemudian disatukan dengan instruksi-instruksi dasar (instruksi rutin) yang dimiliki
mikroprosessor menjadi bahasa mesin agar dapat dilaksanakan oleh komputer. Pada saat
kompilasi berlangsung, sintaks dari instruksi diperiksa dahulu, kalau ada kesalahan harus
diperbaiki dahulu, bila bebas kesalahan barulah diterjemahkan ke dalam bahasa mesin. Baris-
baris program dalam bahasa program disebut “source-code”, hasil kompilasi-nya disebut
“object-code”.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 14


Contoh bahasa High Level adalah C++ yang dipelajari kelak, suatu bahasa yang bersifat
compiler.

Sebenarnya yang biasa disebut middle-level language adalah bahasa yang memiliki instruksi
yang bersifat highlevel dan juga memiliki kemampuan yang bersifat lowlevel. Contoh-nya

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 15


adalah bahasa C, disamping memiliki instruksi-instruksi yang bersifat high-level juga memiliki
instruksi yang bisa langsung menyentuh hardware.

Bahasa tingkat menengah (Middle level language) : beberapa bahasa dikenal sebagai bahasa
tingkat menengah seperti bahasa C, karena bahasa ini dapat menggunakan perintah-perintah
bahasa tingkat rendah seperti assembly, disamping instruksi-instruksi dalam bahasa tingkat
tinggi.

Very High Level Language adalah bahasa yang tingkatan-nya sangat tinggi, pada bahasa ini
tersedia selain instruksi pemrograman yang umum digunakan (bahasa tingkat tinggi) tersedia
juga berbagai modul fungsi (pustaka fungsi) yang langsung bisa digunakan oleh programmer
untuk berbagai keperluan, misalnya untuk struktur data, untuk pengurutan data, dan sebagainya.
Contoh bahasa pada tingkatan ini adalah Java dan Python.

Program adalah “implementasi” dari algoritma dalam satu bahasa komputer yang dipilih
sehingga program dapat dilaksanakan oleh komputer. Program adalah susunan instruksi dalam
bahasa komputer yang disusun sesuai dengan algoritma. Sebelum program dilaksanakan oleh
komputer maka program (source) tersebut harus di-terjemahkan dulu ke bahasa mesin (object).

Pada kuliah ini dipilih bahasa C++ sebagai bahasa program-nya

1.3 SEJARAH BAHASA C/C++


Pada tahun 1969 pembuat komputer bermerek PDP meminta Dennis Ritchie untuk membuat
sebuah sistem operasi baru yang akan digunakan pada mesin generasi baru PDP-7. Pada masa itu
bahasa yang tersedia adalah Assembly, ALGOL60, CPL, BCPL, dan bahasa B ciptaan Ken
Thompson. Dennis Ritchie merasa sulit untuk membuat sistem operasi yang handal memakai
bahasa yang ada, maka dia bersama Ken Thompson dan Brian Kernighan bekerjasama untuk
menciptakan bahasa baru. Bahasa ini diberi nama bahasa C, nama ini bukan singkatan, dipilih
karena setelah B maka ada C, sekaligus menjadi indikator bahwa bahasa C memiliki pendahulu
yaitu bahasa B.

Bahasa C kemudian digunakan untuk menciptakan sistem operasi UNIX yang menjadi induk dari
semua sistem operasi modern dewasa ini. C memiliki set instruksi yang lengkap seperti bahasa
program lainnya (high level language) tetapi juga menyediakan fasilitas untuk mengakses
langsung unit-unit perangkat keras sebagaimana bahasa Assembly (low level language),
sehingga bahasa C sering dikenal sebagai bahasa Middle-Level-Language

Bahasa C kemudian diumumkan oleh Brian Kernighan dan Dennis Ritchie sebagai bahasa
pemrograman baru pada tahun 1972. Bahasa ini segera mendapat sambutan dari para
pemrogram, dan berhasil digunakan untuk menciptakan software-software baru yang muncul
antara tahun 70-an hingga 80-an, seperti VisiCalc, WordStar, Lotus, dan dBase. Bahkan
Microsoft kemudian mengadopsi bahasa C untuk digunakan membuat sistem operasi Windows
pada tahun 80-an. Bahasa ini kemudian di-standarisasi oleh ANSI pada tahun 1982.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 16


Brian Kernighan Dennis Ritchi Ken Thompson

• Seorang programmer ulung yang bekerja pada AT&T Bell Laboratories bernama Bjarne
Stroustrup pada tahun 1980-an memiliki proyek software yang cukup besar, beliau
merasa bahwa bahasa C memiliki keterbatasan untuk proyek pemrograman berskala besar
(misalnya program diatas 25 ribu baris).

• Bjarne kemudian menambahkan konsep OOP (Object Oriented Programming) kedalam


C, dan menambahkan instruksi-instruksi baru yang lebih simple. Perluasan bahasa C ini
diberi nama “C with classes” oleh Bjarne kemudian oleh Rick Mascitti nama ini
dijadikan sebagai bahasa C++ pada 1983, sebagai indikator bahwa bahasa ini merupakan
perluasan dari bahasa C.

• Sistem operasi Windows dari MicroSoft kemudian ditulis kembali memakai C++ sebagai
bahasa utama.

• Berbagai software baru yang muncul setelah tahun 1985 telah dikembangkan memakai
C++ hingga saat ini.

• Bahkan berbagai versi compiler muncul, ada yang gratis ada yang berbayar dan
dilengkapi dengan editor (Intgrated Development Environment / IDE), seperti Visual
C++, C-Builder, dan Developer C++ (Dev Cpp).

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 17


Suarga,PhD, Modul-1 Algoritma Pemrograman Page 18
1.4 STRUKTUR PROGRAM BAHASA C/C++
Ada delapan komponen utama yang menyusun suatu program C/C++ yang lengkap yaitu sebagai
berikut:

1. Komentar tentang program // PROGRAM


// CONTOH dissect.cpp

2. Pre-processor Directive #include <iostream>


using namespace std;

3. Deklarasi fungsi dan variable void Cetak()


global float Gaji;

4. Fungsi Utama void main() {


5. Deklarasi variable lokal int umur, berat;
6. Isi Program umur = 18;
berat = umur * 3;
Gaji = 350.45 + berat / 10
Cetak();
7. Penutup fungsi utama return;
}

8. Isi Fungsi void Cetak()


{
Gaji = Gaji * 2.5;
Cout << “Gaji = “ << Gaji << ‘\n’;
return;
}

1.5 INSTALASI COMPILER C++


Sebelum program diuji-coba maka sistem atau compiler dari bahasa C++ harus di-install dulu di
komputer anda, untuk itu anda perlu men-download installer-nya (cari di-internet melalui Google
search: download Dev C++). Ada banyak variasi dari installer C++ ada yang
komersil/professional ada juga yang gratis. Installer gratis sudah lebih dari cukup untuk
digunakan belajar C++, salah satunya adalah: Developer C++ atau Dev-Cpp. Modul ini
menggunakan Dev-Cpp versi 5.7.0.

Lakukan instalasi dengan meng-klik installer dan ketika selesai coba aktifkan compiler tersebut,
anda akan melihat jendela developer C++ sebagaimana gambar berikut ini.

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 19


Jendela Editor Compiler Dev-C++ 5.7.0

Langkah-langkah pembuatan program memakai compiler Dev-Cpp:

1. Setelah meng-aktifkan editor, klik menu File / New / Source File, dan sebuah jendela baru
terbentuk
2. Ketik-lah program anda pada jendela baru tersebut
3. Setelah semua baris program selesai di-ketik maka simpan dulu melalui menu: File / Save
As, kemudian berikan nama pada kolom yang disediakan dan klik OK.
4. Periksa kebenaran sintaks dari program anda dengan memilih menu : Execute / Compile
5. Apabila ada kesalahan (error) lakukan perbaikan, jangan lupa untuk menyimpan program
yang sudah dikoreksi melalui menu: File / Save
6. Apabila sudah tidak ada lagi error, maka coba jalankan program melalui menu : Execute /
Run

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 20


Sebagai contoh / latihan coba ketik dan jalankan program berikut ini:

// program C++ pertama saya


#include <iostream>
using namespace std;

int main()
{
cout << “Hello World! “;
cout << “I’m a C++ program”;
return 0;
}

Setelah diketik, maka coba lakukan kompilasi, lalu eksekusi. Bagaimana hasilnya?

1.6 ALGORITMA dan C++

Program yang ditulis dalam bahasa C++ pada hakekatnya merupakan implementasi dari
algoritma untuk menyelesaikan suatu permasalahan. Langkah-nya digambarkan sebagai berikut:

Kunci utama dalam penyelesaian masalah adalah “mengerti permasalahan”, suatu persoalan
harus didefinisikan dahulu, apa yang diketahui dari persoalaan ini, apa yang ditanyakan, dan
bagaimana mengubah yang diketahui menjadi hasil yang ditanyakan. Sebagai contoh bagaimana
Suarga,PhD, Modul-1 Algoritma Pemrograman Page 21
menghitung luas suatu lingkaran. Definisi masalah adalah yang diketahui biasanya jari-jari
lingkaran, kemudian yang ditanyakan adalah luas-lingkaran dimana cara menghitung-nya adalah:
Luas lingkaran = π r2 .

Algoritma Program C++


Algoritma Luas_lingkaran //Program Luas_lingkaran
{ menghitung luas sebuah lingkaran apabila #include <iostream>
jari-jari lingkaran tersebut diberikan } Using namespace std;

Deklarasi
{ Definisi nama tetapan } // definisi nama tetapan
const phi = 3.14; #define phi 3.14
{ definisi nama peubah / variable } // definisi nama peubah / variabel
real jari_jari, luas; float jari_jari, luas;

Deskripsi void main() {


read(jari_jari); cin >> jari_jari;
luas = phi * jari_jari * jari_jari; luas = phi * jari_jari * jari_jari;
write(luas); cout >> luas;
return;

Menterjemahkan suatu algoritma ke bahasa C++ pada dasarnya tidak terlalu sulit, hanya
diperlukan pengertian bagaimana cara mendeklarasi variabel, bagaimana input/output, dan
bagaimana instruksi lainnya ditulis dalam C++.

TUGAS:
Hubungkan komputer anda ke internet kemudian aktifkan Web-browser anda. Kemudian
lakukan pencarian situs yang menyediakan installer dev-cpp melalui google search engine.
Download installer dev-cpp pada komputer anda, dan selanjutnya install compiler tersebut.
Compiler dev-cpp akan anda gunakan dalam modul-modul selanjutnya.

POST-TEST:
Dapatkah anda menjawab dengan benar semua pertanyaan pada Pre-Test?

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 22


SUMBER BACAAN

1. Suarga, Drs,MSc,MMath,Ph.D, “ALGORITMA dan Pemrograman”, Penerbit Andi,


Yogyakarta, 2012.
2. Farrel,M., “Computer Programming”, Thomson Course Technology, Boston,MA, 2008
3. Savitch, W., “Problem Solving with C++”, 7th, Pearson Addison-Wesley, Massachusetts,
2009

Suarga,PhD, Modul-1 Algoritma Pemrograman Page 23

Anda mungkin juga menyukai