Pertemuan : 1(Satu)
Pokok Bahasan : Pengantar Algoritma dan Program
Kompetensi Dasar : Mahasiswa dapat mengerti dan membedakan algoritma
dan pemrograman
Kompetensi Khusus:
1. Mengerti reperesentasi algoritma
2. Mampu memecahkan masalah sederhana dengan algoritma
3. Membedakan masalah-masalah yang dapat dikerjakan dengan komputasi
1. Pengenalan Algoritma
Algoritma
adalah suatu urutan dari barisan langkah-langkah atau instruksi, guna
menyelesaikan masalah.
Algoritma adalah suatu metode khusus untuk menyelesaikan suatu masalah
yang nyata (Webster Dictionary)
Istilah algoritma pertama kali diperkenalkan oleh seorang ahli matematika, yaitu ABU
JA”FAR MUHAMMAD IBNU ALKHAWARIRZMI)
2 Kriteria-Kriteria Algoritma:
1. Ada Output
Mengacu dari definisi algoritma di atas, maka suatu algoritma haruslah
mempunyai output. Output tersebut tentu harus merupakan solusi dari masalah
yang sedang diselesaikan.
2. Efektifitas dan efisiensi
Suatu algoritma dikatakan efektif jika algoritma tersebut dapat menghasilkan
suatu solusi yang sesuai dengan masalah yang diselesaikan. Dengan kata lain
suatu algoritma tersebut harus tepat guna.
Suatu algoritma dikatakan efisien jika waktu proses dari suatu algoritma relatif
lebih singkat dan penggunaan memorinya relatif lebih sedikit.
3. Jumlah langkahnya Berhingga
Barisan instruksi yang dibuat dalam suatu urutan tertentu, dimaksudkan agar
masalah yang dihadapi dapat diselesaikan. Banyaknya instruksi atau langkah
1
haruslah berhingga. Jika tidak demikian, proses yang dilakukan akan
memerlukan waktu yang relatif lebih lama dan diperoleh hasil yang tidak
diperlukan atau tidak berhubungan dengan masalah yang ada. Bahkan akan
memungkinkan proses akan berlangsung terus walaupun solusi yang
diharapkan sudah diperoleh.
4. Berakhir
Hal ini erat kaitannya dengan kriteria yang ketiga di atas. Proses di dalam
mencari penyelesaian suatu masalah harus berhenti atau berakhir. Hasil akhir
yang didapat merupakan solusinya ataupun berupa informasi tidak
diketemukannya solusi. Dengan perkataan lain, baik dalam kondisi solusinya
ada ataupun tidak ada maka proses akan tetap berhenti. Suatu prosedur yang
hanya akan berhenti bila mempunyai atau menghasilkan solusi disebut SEMI
ALGORITMA.
5. Terstruktur
Urutan dari barisan langkah-langkah yang digunakan harus disusun
sedemikian rupa agar proses penyelesaiannya tidak berbelit-belit. Sehingga
memungkinkan bahwa bagian-bagian dari proses tersebut dapat dibedakan
secara jelas (bagian Input, Proses, Output). Dengan demikian memudahkan
kita di dalam melakukan pengecekan ulang.
Dari kelima kriteria di atas maka dapat ditentukan suatu algoritma yang TERBAIK
dari sekian banyak algoritma yang ada, yaitu :
"suatu algoritma harus menyelesaikan output yang tepat guna (efektif) dalam
waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien)
dengan menggunakan langkah berhingga dan prosesnya berakhir baik dalam
keadaan dihasilkannya solusi apaupun tidak".
3. Representasi Algoritma:
3.1 Bahasa sehari-hari (Bahasa Indonesia)
Representasi ini paling mudah, dengan memecahkan masalah dengan notasi
komputasi.
3.2 Diagram Alur untuk Komputer
Simbol-simbol dalam diagram Alur
2
Keterangan:
A: Simbol untuk proses(Proses)
B: Simbol untuk Keputusan(Decision)
C: Simbol untuk keluaran(Dokumen)
D: simbol untuk Masukan(Data)
E: Simbol untuk Mulai/Start ataupun Berhenti/Stop (Termination)
F: Simbol penghubung(Connector)
G: Simbol penghubung bila beda halaman(Off Page Reference)
H: Simbol untuk transfer(control transfer)
I: Simbol untuk operasi manual(Manual Operasi)
J:Simbol untuk menyatakan harga awal dari suatu proses(Predefined Proses)
3.3. Psedocode
Bahasa yang disajikan dengan notasi khusus yang hampir menyerupai bahasa
komputer.
4. Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan
sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan
bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi
dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah
program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari bahasa
pemrograman dan komputer yang melaksanakannya.
3
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena
algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah
dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi
bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut
notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun,
supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa
pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut
berkorespondensi dengan notasi bahasa pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode
dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat
dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus
ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang
dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam
aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan
oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa
pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi
tersebut, yaitu:
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa
pemrograman membutuhkannya.
b. Pemilihan tipe data
4
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
memiliki kelebihan dan kekurangan yang berbeda.
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 compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler
atau interpreter.
5. Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan
beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan
sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-
cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat
disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah
membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan
masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca
satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang
ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses
(processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat
elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau
“mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara
primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan
5
diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat
menyebabkan kejadian.
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma
tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan
kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya,
pianis memainkan lagu berdasarkan papan not balok. Karena itu 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.
Kasus 1.1
Kita mengawali pembicaraan tentang logika dan algoritma, secara umum
pada masalah sehari-hari, yaitu langkah-langkah yang kita lakukan ketika mengganti
ban mobil yang pecah. Sebelum kita menjawab apa yang akan kita lakukan untuk
memulai pekerjaan tersebut, kita harus tahu komponen yang ada dalam masalah itu,
maksud dari komponen adalah apa-apa saja yang harus kita butuhkan.
Jawab:
Untuk kasus di atas kita
- butuh ban serep (ban pengganti)
- dongkrak
- baut
- kunci.
Pertama kita mengeluarkan ban serep, kemudian menyiapkan kunci yang cocok dan
dongkrak. Setelah alat yang kita punyai sudah lengkap, mobil didongkrak, untuk
selanjutnya dibuka baut-bautnya sehingga ban dapat dilepas. Kemudian ban serep
tersebut dipasang lalu ban dikencangkan tersebut dengan baut, dongkrak dilepaskan
dan langkah terakhir membereskan semua alat-alat seperti ban pecah, kunci dan
dongkrak.
Langkah-langkah tersebut dapat dibuat secara singkat, yaitu:
I. Persiapan, mempunyai beberapa kegiatan yaitu:
1. Ambil Ban Serep
6
2. Siapkan Kunci dan Dongkrak
II. Proses Penggantian, mempunyai beberapa kegiatan yaitu:
1. Mobil didongkrak
2. Buka Baut
3. Lepas Ban Kempis
4. Pasang Ban Serep
5. Pasang baut dan Kencangkan
6. Lepaskan Dongkrak
III. Finishing (kegiatan akhir)
1. Bereskan Peralatan
Kegiatan-kegiatan di atas dapat dibuat alur diagram, guna memudahkan dalam
membaca, yaitu sebagai berikut:
Langkah -langkah tersebut dilakukan tanpa adanya syarat, algoritma tersebut
berjalan lurus dari pertama sampai langkah terakhir. Biasanya masalah yang
7
START
Proses Kegiatan
Mobil didongkrak
Buka Baut
Lepas Ban Kempis
Pasang Ban Serep
Pasang baut dan
Kencangkan
Lepaskan Dongkrak
Persiapan
Ambil Ban Serep
Siapkan Kunci dan
Dongkrak
Kegiatan Akhir
Bereskan Peralatan
END
terjadi tidak sesederhana itu. Selanjutnya apa yang akan dilakukan bila ban serep
tersebut bocor atau mungkin kempis ?. Berarti langkah untuk menyelesaikan
masalah tersebut tidak dapat mengikuti algoritma di atas. Kita akan mengecek
kondisi ban serep sebelumnya, apakah ban serep kempis ?, ataukah ban serep
bocor ? lalu bagaimana algoritmanya ? Kita tinggal menyisipkan langkah tersebut
setelah mengambil ban serep, algoritmanya adalah sebagi berikut :
I. Persiapan, mempunyai beberapa kegiatan yaitu:
1. Ambil Ban Serep
2. Ban serep Kempis ?
3. Ban serep Bocor ? : Jalankan langsung langkah 5 bila jawabnya 'Ya'
4. Tambah Angin Ban serep : Langsung ke langkah 6
5. Tambal Ban serep
6. Siapkan Kunci dan Dongkrak
I. Proses Penggantian, mempunyai beberapa kegiatan yaitu:
1. Mobil didongkrak
2. Buka Baut
3. Lepas Ban Kempis
4. Pasang Ban Serep
5. Pasang baut dan Kencangkan
6. Lepaskan Dongkrak
II. Finishing (kegiatan akhir)
1. Bereskan Peralatan
Latihan 1.1
1. Buatlah langkah-langkah bila Anda ingin menelpon relasi !
2. Buatlah langkah-langkah bila ingin memberi kabar ke sahabat Anda melalui
pos !
3. Buatlah langkah-langkah bila ingin mengetikkan laporan ke dalam formas
Ms Word !
Buatlah masing-masing latihan di atas ke dalam diagram alur.
8
6. Program
adalah sederetan intruksi (dalam bahasa yang dimengerti komputer yang
bersangkutan) yang mengatur apa-apa yang harus dikerjakan komputer, untuk
mendapatkan suatu hasi/keluaran.
6.1 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 pemrograman tertentu sehingga dapat dilaksanakan oleh
komputer.
Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya.
Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan
algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan
program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian
algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata
algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah,
sedangkan program adalah realisasi algoritma dalam bahasa pemrograman.
Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat
program disebut pemrograman (programming). Orang yang menulis program
disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut
pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu
instruksi dilaksanakan, maka operasioperasi yang bersesuaian dengan instruksi
tersebut dikerjakan komputer. Secara garis besar komputer tersusun atas empat
komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan
memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak”
komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi
perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis.
Memori adalah komponen yang berfungsi menyimpan atau mengingatingat. Yang
disimpan di dalam memori adalah program (berisi operasioperasi yang akan
dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-
operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan
data atau program ke dalam memori, dan alat yang digunakan komputer untuk
mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain,
9
papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti
keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.
Bahasa Pemrograman
Bahasa Pemrograman:
1. Bahasa Mesin: terdiri dari ‘1’ dan ‘0’
2. Bahasa Assembly : dengan menggunakan singkatan kata (mnemonic code).
Assembler
3. Bahasa Generasi Ketiga sering disebut bahasa tingkat tinggi : menggunakan
bahasa yang dimengerti oleh manusia Interpreter dan Kompiler
4. Bahasa Generasi Keempat : mengembangkan aplikasi basis data
Suatu Program komputer pada umumnya berisi 3 hal:
1. Pembacaan/pemasukan data ke dalam komputer
2. Melakukan komputasi/perhitungan terhadap data tersebut.
3. Mengeluarkan/mencetak hasilnya
Bahasa C++ merupakan bahasa generasi ketiga, setelah memahami algoritma
selanjutnya permasalahan tersebut dibuat ke dalam bahasa pemrograman.
Sebelum memasuki bahasa pemrograman ini, terlebih dahulu dilakukan pengenalan
Bahasa pemrograman C++.
1. Pengenalan C++
10
INPU
T
PROSE
S
OUTPU
T
Program C++ tidak pernah lepas dari fungsi, sebab salah satu dasar penyusun blok
C++, minimal harus ada fungsi main(). Dimulai dengan tanda buka kurung “{“ dan
diakhiri dengan tutup kurawal “}”.
Sedangkan statemen yang berada diantara kurung tersebut disebut dengan isi
program/pernyataan. Di mana setiap pernyataan harus di akhiri dengan tanda titik
koma”;”.
Mengenal cout
Pengenal cout merupakan sebuah obyek di dalam C++, yang digunakan untuk
mengarahkan data ke dalam standar output(cetak pada layar)
cout<<”Selamat Datang di dunia C++n”;
Tanda << (dua buah tanda kurang dari berurutan) merupakan sebuah operator yang
disebut operator “penyisipan/peletakan”. Opertor ini akan mengarahkan operand
(data) yang terletak di sebelah kanannya ke obyek yang terletak disebelah kiri.
n adalah karakter pindah baris(newline).
Penjelasan tentang #include <namafile>
#include ini bukan merupakan pernyataan melainkan suatu pengarah praprosesor yang
tersedia pada c++. Bentuk umumnya adalah:
#include <namafile>
Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain dalam
hal ini file yang berakhiran .h (file header) yaitu file yang berisi berbagai deklarasi
contohnya:
- #include <iostream.h> : diperlukan pada program yang melibatkan obyek
cout
- #include <conio.h> : diperlukan bila melibatkan clrscr(), yaitu perintah
untuk membersihkan layar.
- #include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat
untuk mengatur lebar dari suatu tampilan data.
- #include <math.h> : diperlukan pada program yang menggunakan operasi
sqrt() yang bermanfaat untuk operasi matematika kuadrat.
11
Komentar
Merupakan penjelasan dalam suatu program, dimana tidak akan dieksekusi oleh
program. Bentuk komentar dapat dilihat dalam contoh berikut ini:
Kasus 1.2
.Anda diminta untuk mencetak ke layar tulisan berikut ini:
Selamat datang di dunia C++
Selamat belajar Algoritma dan Pemrograman
//Belajar Program C++
// *_______________*
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout<<"Selamat datang di dunia C++n";
cout<<"Selamat belajar Algoritma dan Pemrograman";
}
Hasil program di atas adalah:
Selain menggunakan //, komentar pada c++ juga dapat ditulis bentuk”
/* Komentar */
/* Komentar Anda
12
Panjang sekali */
Untuk lebih jelasnya dapat dicoba pada saat praktikum agar dapat diketahui
perbedaannnya.
13

Pengantar Algoritma Dan Program

  • 1.
    Pertemuan : 1(Satu) PokokBahasan : Pengantar Algoritma dan Program Kompetensi Dasar : Mahasiswa dapat mengerti dan membedakan algoritma dan pemrograman Kompetensi Khusus: 1. Mengerti reperesentasi algoritma 2. Mampu memecahkan masalah sederhana dengan algoritma 3. Membedakan masalah-masalah yang dapat dikerjakan dengan komputasi 1. Pengenalan Algoritma Algoritma adalah suatu urutan dari barisan langkah-langkah atau instruksi, guna menyelesaikan masalah. Algoritma adalah suatu metode khusus untuk menyelesaikan suatu masalah yang nyata (Webster Dictionary) Istilah algoritma pertama kali diperkenalkan oleh seorang ahli matematika, yaitu ABU JA”FAR MUHAMMAD IBNU ALKHAWARIRZMI) 2 Kriteria-Kriteria Algoritma: 1. Ada Output Mengacu dari definisi algoritma di atas, maka suatu algoritma haruslah mempunyai output. Output tersebut tentu harus merupakan solusi dari masalah yang sedang diselesaikan. 2. Efektifitas dan efisiensi Suatu algoritma dikatakan efektif jika algoritma tersebut dapat menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan. Dengan kata lain suatu algoritma tersebut harus tepat guna. Suatu algoritma dikatakan efisien jika waktu proses dari suatu algoritma relatif lebih singkat dan penggunaan memorinya relatif lebih sedikit. 3. Jumlah langkahnya Berhingga Barisan instruksi yang dibuat dalam suatu urutan tertentu, dimaksudkan agar masalah yang dihadapi dapat diselesaikan. Banyaknya instruksi atau langkah 1
  • 2.
    haruslah berhingga. Jikatidak demikian, proses yang dilakukan akan memerlukan waktu yang relatif lebih lama dan diperoleh hasil yang tidak diperlukan atau tidak berhubungan dengan masalah yang ada. Bahkan akan memungkinkan proses akan berlangsung terus walaupun solusi yang diharapkan sudah diperoleh. 4. Berakhir Hal ini erat kaitannya dengan kriteria yang ketiga di atas. Proses di dalam mencari penyelesaian suatu masalah harus berhenti atau berakhir. Hasil akhir yang didapat merupakan solusinya ataupun berupa informasi tidak diketemukannya solusi. Dengan perkataan lain, baik dalam kondisi solusinya ada ataupun tidak ada maka proses akan tetap berhenti. Suatu prosedur yang hanya akan berhenti bila mempunyai atau menghasilkan solusi disebut SEMI ALGORITMA. 5. Terstruktur Urutan dari barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaiannya tidak berbelit-belit. Sehingga memungkinkan bahwa bagian-bagian dari proses tersebut dapat dibedakan secara jelas (bagian Input, Proses, Output). Dengan demikian memudahkan kita di dalam melakukan pengecekan ulang. Dari kelima kriteria di atas maka dapat ditentukan suatu algoritma yang TERBAIK dari sekian banyak algoritma yang ada, yaitu : "suatu algoritma harus menyelesaikan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan menggunakan langkah berhingga dan prosesnya berakhir baik dalam keadaan dihasilkannya solusi apaupun tidak". 3. Representasi Algoritma: 3.1 Bahasa sehari-hari (Bahasa Indonesia) Representasi ini paling mudah, dengan memecahkan masalah dengan notasi komputasi. 3.2 Diagram Alur untuk Komputer Simbol-simbol dalam diagram Alur 2
  • 3.
    Keterangan: A: Simbol untukproses(Proses) B: Simbol untuk Keputusan(Decision) C: Simbol untuk keluaran(Dokumen) D: simbol untuk Masukan(Data) E: Simbol untuk Mulai/Start ataupun Berhenti/Stop (Termination) F: Simbol penghubung(Connector) G: Simbol penghubung bila beda halaman(Off Page Reference) H: Simbol untuk transfer(control transfer) I: Simbol untuk operasi manual(Manual Operasi) J:Simbol untuk menyatakan harga awal dari suatu proses(Predefined Proses) 3.3. Psedocode Bahasa yang disajikan dengan notasi khusus yang hampir menyerupai bahasa komputer. 4. Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa: Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Pembuatan algoritma mempunyai banyak keuntungan di antaranya: 1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya. 3
  • 4.
    2. Notasi algoritmadapat diterjemahkan ke dalam berbagai bahasa pemrograman. 3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Beberapa hal yang perlu diperhatikan dalam membuat algoritma: 1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. 2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik. 3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. 4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. 5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. 6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu: a. Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya. b. Pemilihan tipe data 4
  • 5.
    Apabila bahasa pemrogramanyang 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 memiliki kelebihan dan kekurangan yang berbeda. 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 compiler atau interpreter. Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. 5. Algoritma Merupakan Jantung Ilmu Informatika Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara- cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan 5
  • 6.
    diasumsikan sebelumnya bahwaaksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian. Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu 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. Kasus 1.1 Kita mengawali pembicaraan tentang logika dan algoritma, secara umum pada masalah sehari-hari, yaitu langkah-langkah yang kita lakukan ketika mengganti ban mobil yang pecah. Sebelum kita menjawab apa yang akan kita lakukan untuk memulai pekerjaan tersebut, kita harus tahu komponen yang ada dalam masalah itu, maksud dari komponen adalah apa-apa saja yang harus kita butuhkan. Jawab: Untuk kasus di atas kita - butuh ban serep (ban pengganti) - dongkrak - baut - kunci. Pertama kita mengeluarkan ban serep, kemudian menyiapkan kunci yang cocok dan dongkrak. Setelah alat yang kita punyai sudah lengkap, mobil didongkrak, untuk selanjutnya dibuka baut-bautnya sehingga ban dapat dilepas. Kemudian ban serep tersebut dipasang lalu ban dikencangkan tersebut dengan baut, dongkrak dilepaskan dan langkah terakhir membereskan semua alat-alat seperti ban pecah, kunci dan dongkrak. Langkah-langkah tersebut dapat dibuat secara singkat, yaitu: I. Persiapan, mempunyai beberapa kegiatan yaitu: 1. Ambil Ban Serep 6
  • 7.
    2. Siapkan Kuncidan Dongkrak II. Proses Penggantian, mempunyai beberapa kegiatan yaitu: 1. Mobil didongkrak 2. Buka Baut 3. Lepas Ban Kempis 4. Pasang Ban Serep 5. Pasang baut dan Kencangkan 6. Lepaskan Dongkrak III. Finishing (kegiatan akhir) 1. Bereskan Peralatan Kegiatan-kegiatan di atas dapat dibuat alur diagram, guna memudahkan dalam membaca, yaitu sebagai berikut: Langkah -langkah tersebut dilakukan tanpa adanya syarat, algoritma tersebut berjalan lurus dari pertama sampai langkah terakhir. Biasanya masalah yang 7 START Proses Kegiatan Mobil didongkrak Buka Baut Lepas Ban Kempis Pasang Ban Serep Pasang baut dan Kencangkan Lepaskan Dongkrak Persiapan Ambil Ban Serep Siapkan Kunci dan Dongkrak Kegiatan Akhir Bereskan Peralatan END
  • 8.
    terjadi tidak sesederhanaitu. Selanjutnya apa yang akan dilakukan bila ban serep tersebut bocor atau mungkin kempis ?. Berarti langkah untuk menyelesaikan masalah tersebut tidak dapat mengikuti algoritma di atas. Kita akan mengecek kondisi ban serep sebelumnya, apakah ban serep kempis ?, ataukah ban serep bocor ? lalu bagaimana algoritmanya ? Kita tinggal menyisipkan langkah tersebut setelah mengambil ban serep, algoritmanya adalah sebagi berikut : I. Persiapan, mempunyai beberapa kegiatan yaitu: 1. Ambil Ban Serep 2. Ban serep Kempis ? 3. Ban serep Bocor ? : Jalankan langsung langkah 5 bila jawabnya 'Ya' 4. Tambah Angin Ban serep : Langsung ke langkah 6 5. Tambal Ban serep 6. Siapkan Kunci dan Dongkrak I. Proses Penggantian, mempunyai beberapa kegiatan yaitu: 1. Mobil didongkrak 2. Buka Baut 3. Lepas Ban Kempis 4. Pasang Ban Serep 5. Pasang baut dan Kencangkan 6. Lepaskan Dongkrak II. Finishing (kegiatan akhir) 1. Bereskan Peralatan Latihan 1.1 1. Buatlah langkah-langkah bila Anda ingin menelpon relasi ! 2. Buatlah langkah-langkah bila ingin memberi kabar ke sahabat Anda melalui pos ! 3. Buatlah langkah-langkah bila ingin mengetikkan laporan ke dalam formas Ms Word ! Buatlah masing-masing latihan di atas ke dalam diagram alur. 8
  • 9.
    6. Program adalah sederetanintruksi (dalam bahasa yang dimengerti komputer yang bersangkutan) yang mengatur apa-apa yang harus dikerjakan komputer, untuk mendapatkan suatu hasi/keluaran. 6.1 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 pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasioperasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer. Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat. Yang disimpan di dalam memori adalah program (berisi operasioperasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi- operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, 9
  • 10.
    papan kunci (keyboard),pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram. Bahasa Pemrograman Bahasa Pemrograman: 1. Bahasa Mesin: terdiri dari ‘1’ dan ‘0’ 2. Bahasa Assembly : dengan menggunakan singkatan kata (mnemonic code). Assembler 3. Bahasa Generasi Ketiga sering disebut bahasa tingkat tinggi : menggunakan bahasa yang dimengerti oleh manusia Interpreter dan Kompiler 4. Bahasa Generasi Keempat : mengembangkan aplikasi basis data Suatu Program komputer pada umumnya berisi 3 hal: 1. Pembacaan/pemasukan data ke dalam komputer 2. Melakukan komputasi/perhitungan terhadap data tersebut. 3. Mengeluarkan/mencetak hasilnya Bahasa C++ merupakan bahasa generasi ketiga, setelah memahami algoritma selanjutnya permasalahan tersebut dibuat ke dalam bahasa pemrograman. Sebelum memasuki bahasa pemrograman ini, terlebih dahulu dilakukan pengenalan Bahasa pemrograman C++. 1. Pengenalan C++ 10 INPU T PROSE S OUTPU T
  • 11.
    Program C++ tidakpernah lepas dari fungsi, sebab salah satu dasar penyusun blok C++, minimal harus ada fungsi main(). Dimulai dengan tanda buka kurung “{“ dan diakhiri dengan tutup kurawal “}”. Sedangkan statemen yang berada diantara kurung tersebut disebut dengan isi program/pernyataan. Di mana setiap pernyataan harus di akhiri dengan tanda titik koma”;”. Mengenal cout Pengenal cout merupakan sebuah obyek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output(cetak pada layar) cout<<”Selamat Datang di dunia C++n”; Tanda << (dua buah tanda kurang dari berurutan) merupakan sebuah operator yang disebut operator “penyisipan/peletakan”. Opertor ini akan mengarahkan operand (data) yang terletak di sebelah kanannya ke obyek yang terletak disebelah kiri. n adalah karakter pindah baris(newline). Penjelasan tentang #include <namafile> #include ini bukan merupakan pernyataan melainkan suatu pengarah praprosesor yang tersedia pada c++. Bentuk umumnya adalah: #include <namafile> Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain dalam hal ini file yang berakhiran .h (file header) yaitu file yang berisi berbagai deklarasi contohnya: - #include <iostream.h> : diperlukan pada program yang melibatkan obyek cout - #include <conio.h> : diperlukan bila melibatkan clrscr(), yaitu perintah untuk membersihkan layar. - #include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat untuk mengatur lebar dari suatu tampilan data. - #include <math.h> : diperlukan pada program yang menggunakan operasi sqrt() yang bermanfaat untuk operasi matematika kuadrat. 11
  • 12.
    Komentar Merupakan penjelasan dalamsuatu program, dimana tidak akan dieksekusi oleh program. Bentuk komentar dapat dilihat dalam contoh berikut ini: Kasus 1.2 .Anda diminta untuk mencetak ke layar tulisan berikut ini: Selamat datang di dunia C++ Selamat belajar Algoritma dan Pemrograman //Belajar Program C++ // *_______________* #include <iostream.h> #include <conio.h> void main() { clrscr(); cout<<"Selamat datang di dunia C++n"; cout<<"Selamat belajar Algoritma dan Pemrograman"; } Hasil program di atas adalah: Selain menggunakan //, komentar pada c++ juga dapat ditulis bentuk” /* Komentar */ /* Komentar Anda 12
  • 13.
    Panjang sekali */ Untuklebih jelasnya dapat dicoba pada saat praktikum agar dapat diketahui perbedaannnya. 13