Secara umum, struktur suatu program terdiri dari beberapa bagian yaitu :
1. Input
Bagian ini merupakan proses untuk memasukkan data ke komputer melalui device yang ada
misalnya keyboard, mouse, scanner dll.
Program melakukan proses membaca data yang akan diolah dari device tersebut.
2. Output
Bagian ini merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil
pegolahan data melalui device seperti monitor, printer dll. Program melakukan proses mencetak
data ke device tersebut.
4. Penyimpanan Data
Bagian ini merupakan proses menyimpan data dalam memori atau device penyimpanan data
seperti disket, harddisk, CD dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk
menyelesaikan suatu masalah yang disusun secara sistematis.
1. Algoritma adalah inti dari ilmu komputer
2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu
masalah
3. Algoritma adalah blueprint dari program
4. Sebaiknya disusun sebelum membuat program
5. Kriteria suatu algoritma:
Ada input dan output
Efektifitas dan efisien
Terstruktur
Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan
berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan
bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana B
2. Tuangkan larutan dari bejana B ke dalam bejana A
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak
logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan
sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah
sebagai berikut:
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan
berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru
dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
Notasi Algoritma:
1. Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang
mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke
dalam berbagai bahasa pemrograman.
2. Notasi algoritma dapat berupa:
Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
Jika nilai >= 60 maka
Keterangan = lulus
Tetapi jika salah
Keterangan = tidak lulus
Tulis nama dan keterangan.
Contoh Algoritma:
1. Mengirim surat kepada teman:
Tulis surat pada secarik kertas surat
Ambil sampul surat
Masukkan surat ke dalam sampul
Tutup sampul surat dengan perekat
Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
Tempel prangko pada sampul
Bawa sampul ke kantor pos untuk diposkan
2. Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
Masukkan sebuah bilangan sembarang
Bagi bilangan tersebut dengan 2
Hitung sisa hasil bagi pada langkah 2
Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil
Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam
menyelesaikan suatu masalah atau problem.
Flowchart
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu
program, yang menyatakan arah alur program tersebut.
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur
dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah
kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif
lain dalam pengoperasian.
Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus
diperhatikan, seperti :
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat
dimengerti oleh pembacanya.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja,
misalkan MENGHITUNG PAJAK PENJUALAN.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati.
Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu
digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan
percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila
percabangannya tidak berkaitan dengan sistem.
JENIS-JENIS FLOWCHART
1. FLOWCHART SISTEM
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang
dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur
yang ada di dalam sistem.
Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur
yang terkombinasi yang membentuk suatu sistem.
Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses
yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan
secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan
langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
KETERANGAN :
# : Masukkan data calon anggota ke dalam komputer (proses pengisian data)
P : Tanda tangan dan validasi data
3. FLOWCHART SKEMATIK
Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau
prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol-simbol flowchart standar,
tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain
yang digunakan dalam sistem.
Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang
yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar
sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh
seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.
Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini
disebabkan oleh ketidak-mengertian tentang simbol-simbol yang digunakan. Gambar-gambar
juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis,
sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian.
4. FLOWCHART PROGRAM
Flowchart Program dihasilkan dari Flowchart Sistem.
Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah
program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah
program atau prosedur dalam urutan yang tepat saat terjadi.
5. FLOWCHART PROSES
Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan
menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.
Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan
proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk
menelusuri alur suatu laporan atau form.
1. Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah
penyelesaian suatu masalah
2. Merupakan cara penyajian dari suatu algoritma
3. Ada 2 macam flowchart:
System flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis
penyimpanan dalam proses pengolahan data.
Program flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah
dalam suatu program.
Pembuatan Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart = gambaran hasil analisa suatu masalah
3. Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4. Secara garis besar ada 3 bagian utama:
Input
Proses
Output
5. Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi
singkat
6. Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.
Pseudocode:
1. Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama : String
Nilai : Integer
Keterangan : String
Deskripsi:
Read (nama, nilai)
if nilai >= 60 then
Keterangan = 'lulus'
else
Keterangan = 'tidak lulus'
write (nama, keterangan)
Contoh Pseudocode:
1. Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
{Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari
lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran}(ini
spesifikasi algoritma)
2. Deklarasi
const phi = 3.14 {nilai konstanta phi}
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3. Deskripsi
Read (R)
Luas = phi * R * R
Keliling = 2 * phi * R
Write (luas, keliling)
KARAKTERISTIK ALGORITMA
Algoritma komputer memiliki beberapa karakteristik yang harus dipenuhi agar menjadi
algoritma yang baik. Karakteristik itu antara lain:
Presisi. Langkah langkah penyelesaian masalah dalam algoritma haruslah secara presisi
(tepat) dinyatakan, tidak mengandung ambiguitas.
Keunikan. Hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan
secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.
Keterbatasan. Algoritma harus terbatas dan berhenti pada suatu titik setelah semua
ekesekusi dilaksanakan.
Input. Algoritma menerima input.
Output. Algoritma menghasilkan output.
General. Algoritma berlaku untuk suatu kumpulan input tertentu.
Notasi Algoritma
Dalam suatu penulisan algoritma terkadang kita sulit untuk mengerti dan memahami maksud
dari algoritma tersebut. Selain itu juga kita sulit untuk menuliskan algoritmanya. Untuk itu agar
mempermudahnya dapat dilakukan notasi notasi algoritma. Notasi algoritma merupakan
rancangan penyelesaian masalah (algoritma) yang dituliskan ke dalam notasi (cara penulisan
khusus).
Notasi algoritma yang sering dijumpai ada 3 macam yaitu :
1. Notasi deskriptif,
yaitu algoritma menggunakan bagan alir dengan memanfaatkan bentuk-bentuk geometri seperti
persegi panjang, jajaran genjang, lingkaran dan sebagainya. Sama halnya dengan notasi
deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang
algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke
notasi bahasa pemrograman cenderung relatif sukar.
Aliran data
Input/Output
Proses
Percabangan (Decision)
Pemberian nilai awal suatu variabel (Preparation)
Input Manual
Operasi Manual
Data tersimpan
Penyimpanan Data
Pengulangan
1. Notasi pseudo-code,
yaitu notasi algoritma yang praktis dan mirip dengan bahasa pemrograman tingkat tinggi seperti
Pascal. Banyak notasi pseudo-code yang digunakan oleh para ahli komputer dan berbeda-beda
sehingga tidak ada aturan baku dalam penulisan pseudo-code ini, tetapi yang paling banyak
digunakan dalam algoritma pemrograman adalah yang mendekati bahasa pascal. Keuntungan
menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut
mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo
code dengan notasi bahasa pemrograman. Pseudo-code adalah bahasa buatan yang membantu
programmer mengembangkan algoritma. Pseudo-code mirip dengan bahasa sehari-hari (Bahasa
Inggris atau Bahasa Indonesia, sebaiknya menggunakan bahasa Inggris agar mudah dipahami
banyak orang). Program pseudocede tidak dijalankan oleh komputer, tetapi dipergunakan untuk
membantu programmer dalam mengembangkan program sebelum menulisnya ke dalam bahasa
pemrograman tertentu , misalnya C++, VB, Java, VBA, dan lain sebagainya.
Penerapan Pseudo-code dalam algoritma ada 3 (tiga) macam, yaitu :
1. Struktur Berurutan
Contoh 1:
Decision Structure (struktur keputusan) atau Selection Structure (struktur seleksi) terdiri atas :
1. If Then
2. If Then Else
3. Select Case
Contoh :
Deskrisi Permasalahan: Amir ujian ABC, jika nilainya lebih dari 60, maka mendapat status atau
keterangan PASS selain itu FAIL
Pseudocode
AngkaAwal = 1
Remark adalah PASS atau FAIL
Jika Remark lebih Besar atau sama dengan 55 maka Remark sama dengan PASS
Jika Tidak Maka Remark sama dengan FAIL
Tampilkan NilaiABC dan Remark di monitor
Bahasa Pemrograman VBA.
Sub TampilkanGanjil()
AngkaAwal = 1
While AngkaAwal <= 9
MsgBox AngkaAwal
AngkaAwal = AngkaAwal + 2
Wend
End Sub
Pada pseudocode juga terdapat beberapa aturan penulisan agar pseudocode mudah dipahami dan
dimengerti oleh para pemrogram. Aturan penulisan tersebut antara lain :
1) Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi)
tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan
apa yang akan dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan
penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah
nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai
dengan spesifikasi yang didefinisikan.
2) Deklarasi
Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan semua nama yang
dipakai di dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah, nama tipe,
nama prosedur dan nama fungsi.
3) Deskripsi
Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-
langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam
penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah
paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.
Aplikasi Teori
Contoh Flowchart:
Problem :
Mencari nilai terbesar ( A, B, C )
Algoritma :