SlideShare a Scribd company logo
1 of 74
dasar-dasar algoritma
 Pada dasarnya komputer adalah mesin yang
tidak dapat melakukan apa-apa, sehingga
diperlukan serangkaian instruksi yang
diberikan kepada komputer untuk dapat
bekerja dan memecahkan suatu masalah.
 Langkah-langkah yang dilakukan dalam
memberikan instruksi kepada komputer
untuk memecahkan masalah disebut juga
Pemrograman Komputer.
 Program adalah kumpulan instruksi yang
digunakan untuk mengatur komputer agar
melakukan suatu tindakan tertentu.
 Definisi lain Program yaitu kata, ekspresi,
pernyataan atau kombinasinya / kumpulan
statement-statement yang dirangkai dan disusun
menjadi satu kesatuan prosedur yang berupa
urutan langkah-langkah logis penyelesaian
masalah yang diimplementasi kan dengan
penggunaan bahasa pemrograman sehingga
dapat dieksekusi oleh komputer dan dilihat hasil
akhirnya.
 Pada dasarnya komputer mencakup 3
aspek penting, berupa Perangkat
Keras (hardware), Perangkat Lunak
(software) berupa program, serta
Perangkat Akal (brainware) atau orang
yang berperan dalam operasi
komputer maupun pengembangan
Perangkat Lunak.
 Dalam Pemrograman Komputer, untuk
memberikan suatu instruksi harus digunakan
bahasa yang dimengerti oleh komputer tersebut,
yang disebut juga Bahasa Komputer. Dengan
bahasa ini, komputer akan mampu memahami
dan mengerti perintah-perintah yang diberikan.
 Bahasa Komputer biasa juga disebut dengan
Bahasa Pemrograman Komputer, yaitu suatu
prosedur atau tata cara penulisan program, yang
dalam hal ini adalah kata, ekspresi, pernyataan
atau kombinasi semuanya yang disusun dan
dirangkai berupa urutan langkah-langkah
penyelesaian masalah.
 Bahasa Pemrograman Komputer
secara garis besar dapat
dikelompokkan menjadi 2:
1. Bahasa Beraras Rendah (Low Level
Language)
2. Bahasa Beraras Tinggi (High Level
Language)
 Komputer adalah mesin digital yang hanya
dapat mengenal kondisi ada arus listrik (biasa
dilambangkan dengan 1) atau tidak ada arus
listrik (biasa dilambangkan dengan 0)
 Dengan kata lain, harus digunakan sandi 0
atau 1 untuk melakukan pemrograman
komputer. Bahasa Pemrograman yang
menggunakan sandi 1 atau 0 ini disebut
dengan Bahasa Mesin.
 Bahasa Mesin sangat susah untuk dimengerti,
maka kemudian muncul ide untuk
melambangkan untaian sandi 0 dan 1 dengan
singkatan kata yang lebih mudah dipahami
oleh manusia. Singkatan kata ini kemudian
disebut Mnemonic Code.
 Bahasa Pemrograman yang menggunakan
singkatan kata (Mnemonic Code) ini disebut
dengan Bahasa Assembly.
 Contohnya, dalam prosesor Intel terdapat
perintah 0011 1010 0000 1011. Perintah ini
sama artinya dengan perintah assembly CMP AL,
0D, yang artinya bandingkan nilai register AL
dengan 0D. CMP adalah singkatan dari CoMPare.
 Perangkat lunak yang mengkonversikan
perintah-perintah assembly ke dalam bahasa
mesin sering disebut juga assembler.
 Bahasa Mesin dan Bahasa Assembly termasuk ke
dalam Bahasa Beraras Rendah (Low Level
Language).
 Pemrograman dengan bahasa assembly
dirasakan masih terlalu sulit, sehingga
kemudian dikembangkan bahasa
pemrograman yang lebih mudah digunakan
karena menggunakan kata-kata yang mudah
dikenali oleh manusia.
 Bahasa Pemrograman seperti ini disebut
Bahasa Generasi Ketiga atau 3GL (Third
Generation Language).
 Bahasa Generasi Ketiga biasa juga
disebut dengan bahasa tingkat tinggi
atau HLL (high level language).
 Contoh Bahasa Generasi Ketiga yaitu
Basic, Pascal, C, C++, COBOL dan
lain-lain.
 Contoh perintah dalam bahas Pascal:
writeln (‘Algoritma’);
 Contoh perintah dalam Bahasa C:
printf (“Algoritmanr”);
 Contoh perintah dalam Bahasa C++:
cout << “Algoritma”<< endl;
 Perangkat Lunak yang menerjemahkan program
dalam bahasa yang dimengerti manusia ke dalam
Bahasa Assembly atau Mesin ada dua macam,
yaitu:
1. Interpreter menerjemahkan program baris per
baris, jika suatu baris akan dieksekusi, maka
baris tersebut diterjemahkan dulu ke Bahasa
Mesin. Contoh: Basic
2. Kompiler menerjemahkan semua baris perintah
ke dalam bahasa mesin kemudian menjalankan
hasil penerjemahannya. Contoh: Pascal, C, dan
C++
 Pada Bahasa Pemrograman Komputer ada
beberapa faktor yang harus diperhatikan:
1. Sintaksis, yaitu tata bahasa yang digunakan
dalam program atau aturan-aturan yang
mengatur tata cara penulisan kata, ekspresi,
dan pernyataan.
2. Semantik adalah maksud yang dikandung
dalam setiap pernyataan yang ada dalam
program atau aturan-aturan untuk
menyatakan suatu arti.
3. Kebenaran Logika berhubungan dengan benar
tidaknya urutan pernyataan yang ada dalam
program
 Kesalahan sintaksis akan langsung kelihatan,
karena komputer akan menampilkan pesan
kesalahan
 Kesalahan semantik biasanya terjadi karena
kekurang pahaman terhadap setiap pernyataan
yang dituliskan pada program, sehingga
walaupun program bisa berjalan tetapi tidak
seperti yang diharapkan.
 Kesalahan logika merupakan kesalahan dalam
mengimplementasikan masalah yang dihadapi,
sehingga program yang ditulis tidak benar secara
logika.
1. Mendefinisikan masalah.
Tujuannya untuk memahami
permasalahan secara mendalam
berkaitan dengan input, perintah
yang digunakan dan bagaimana
bentuk ouputnya.
2. Menentukan solusi. Jika masalahnya terlalu
besar, dapat dibagi menjadi beberapa modul
yang dapat memudahkan penyelesaian
masalah
Contoh:
Program untuk menghitung luas dan keliling
persegi panjang inputnya adalah panjang
dan lebar, prosesnya dengan rumus luas =
panjang * lebar dan keliling = 2*
(panjang+lebar), serta output yang
diharapkan adalah luas dan keliling.
3. Memilih Algoritma. Algoritma dibuat dengan
tujuan untuk menyelesaikan masalah. Algoritma
tidak bisa sekali jadi, tetapi akan dikaji
berulang-ulang sampai diperoleh algoritma
yang tepat, benar, dan relevan.
Contoh menghitung luas dan keliling persegi
panjang dibuat algoritma yaitu:
a. Tentukan variabel dan tipe data yang
digunakan.
b. Masukkan input yaitu panjang dan lebar.
c. Lakukan proses pencarian luas = panjang *
lebar, dan keliling = 2*(panjang+lebar)
d. Tampilkan luas dan keliling persegi panjang
4. Menulis Program menggunakan suatu bahasa
pemrograman ke dalam komputer untuk
memecahkan masalah yang ada.
Di slide selanjutnya akan diperlihatkan contoh
Program Menghitung Luas dan Keliling Persegi
Panjang yang ditulis menggunakan Bahasa C.
/*-----------------------------------------------------------------------------------------------
Program ADP_1_langkah_pemrograman.cpp
Contoh Menulis Program Menghitung Luas dan Keliling Persegi Panjang
----------------------------------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int panjang, lebar, luas, keliling;
printf("Contoh Menulis Program");
printf(" sebagai Langkah-langkah Pemrograman Komputern");
printf("______________________");
printf("_________________________________________n");
printf("n");
printf("Masukkan panjang: ");scanf("%d",&panjang);
printf("Masukkan lebar: ");scanf("%d",&lebar);
printf("n");
luas = panjang * lebar;
keliling = 2 * (panjang+lebar);
printf("Jadi Luas Persegi Panjang adalah: %dn",luas);
printf("Jadi Keliling Persegi Panjang adalah: %dn",keliling);
printf("n");
system("Pause");
}
• Hasil eksekusi program
5. Melakukan testing dan debugging. Testing
merupakan proses menjalankan program
secara rutin untuk menemukan kesalahan-
kesalahan dalam penulisan suatu pernyataan
dalam program. Sedangkan debugging
adalah proses menemukan kesalahan-
kesalahan dalam program dan kesalahan
yang ditemukan diperbaiki sampai tidak
muncul kesalahan lagi
6. Menuliskan Dokumentasi. Dokumentasi
yaitu catatan dari setiap langkah pekerjaan
dalam pembuatan program, yang dilakukan
dari awal sampai akhir. Dokumentasi sangat
penting untuk melakukan penelusuran jika
terjadi kesalahan dan penting untuk
pengembangan program. Dokumentasi juga
akan memberikan informasi yang cukup
memadai sehingga orang lain akan dapat
mengerti dan memahami alur logika
program,
Dokumentasi biasanya berupa komentar-
komentar pada tiap baris program. Hal yang
perlu diperhatikan:
1.komentar jangan terlalu panjang
2.komentar harus jelas maksudnya
3.komentar diletakkan pada tempat yang
tepat
4.keterangan yang harus ditulis harus logis
5.tidak menimbulkan salah pengertian
// -----------------------------------------------------------------------
// Program ADP_2_menulis_dokumentasi_program.cpp
// Contoh Menulis Dokumentasi Program
// -----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
//deklarasi variabel yang digunakan
int jari;
float luas, keliling;
//keterangan program
printf("Contoh Menulis Dokumentasi Programn");
printf("________________________________n");
printf("n");
//input variabel yang digunakan yaitu jari
printf("Masukkan jari-jari: "); scanf("%d",&jari);
printf("n");
//proses menghitung luas dan keliling lingkaran
luas = 3.141593 * jari * jari;
keliling = 2 * 3.141593 * jari;
//ouput luas dan keliling lingkaran
printf("Jadi luasnya adalah: %.2fn",luas);
printf("Jadi keliling adalah: %.2fn",keliling);
printf("n");
system("Pause");
}
• Hasil Eksekusi Program
 Untuk komentar dalam bahasa C++
menggunakan tanda /* dan diakhiri dengan
*/, atau dengan tanda // di awal setiap
pernyataan
7. Melakukan Perawatan. Hal ini perlu
dilakukan karena kemungkinan munculnya
kesalahan di luar dugaan atau biasanya
pengguna meminta fasilitas yang baru dalam
program.
 Dalam mengimplementasi urutan langkah
penyelesaian masalah harus menggunakan bentuk
dan rancang bangun yang mudah dipahami, tidak
berbelit-belit, sederhana dan dapat dikembangkan
siapa saja. Konsep ini dinamakan Pemrograman
Terstruktur, dengan ciri-ciri berikut ini:
1. Mempunyai teknik pemecahan permasalahan yang
tepat dan benar.
2. Memiliki algoritma pemecahan masalah yang
sederhana dan efisien.
3. Teknik penulisan program memiliki struktur logika
yang benar dan mudah dipahami.
4. Membutuhkan biaya testing yang rendah.
5. Memiliki dokumentasi yang baik.
 Clarity, Simplicity dan Unity
Bahasa pemrograman harus dapat menolong
programmer untuk membuat suatu desain
program jauh sebelum programmer
melakukan coding. Kemudahan,
kesederhanaan dan kesatuan merupakan
suatu kombinasi yang membantu
programmer mengembangkan suatu
algoritma sehingga algoritma yang dihasilkan
mempunyai kompleksitas yang rendah.
 Orthogonality
Orthogonality menunjuk kepada suatu atribut
yang dapat dikombinasikan dengan beragam
fitur bahasa pemrograman sehingga setiap
kombinasinya mempunyai arti dan dapat
digunakan
 Kewajaran untuk aplikasi
Bahasa pemrograman membutuhkan syntax
yang tepat/cocok yang digunakan pada
struktur program untuk merefleksikan
struktur logika yang melandasi suatu
algoritma.
 Mendukung Abstraksi
Abstraksi merupakan suatu hal yang
substansial bagi programmer untuk membuat
suatu solusi dari masalah yang dihadapi.
Kemudian abstraksi tersebut dapat dengan
mudah diimplementasikan menggunakan
fitur-fitur yang ada dalam bahasa
pemrograman.
 Kemudahan untuk Verifikasi Program
Verifikasi program merupakan hal penting
bagi sebuah program karena dengan
verifikasi yang mudah maka suatu program
akan dengan mudah dibangun dan
dikembangkan.
 Lingkungan Pemrograman
Bahasa pemrograman yang mempunyai
lingkungan pemrograman yang baik dan
lengkap akan memudahkan programmer
untuk mengimplementasikan abstraksi yang
sudah disusunnya.
 Portabilitas Program
Salah satu kriteria penting untuk proyek
pemrograman adalah kemudahan program
yang sudah jadi untuk dipindah-pindahkan
dari komputer yang digunakan untuk
membuat dan mengembangkan ke komputer
lain yang akan menggunakannya.
 Pemrogram atau Programmer adalah orang
yang menyusun atau membuat suatu
program.
 Ciri-ciri Pemerogram yang baik:
1. Mampu menyusun algoritma dengan baik
2. Menguasai bahasa dan teknik penulisan
program dengan baik
3. Dapat bekerjasama dalam suatu tim
4. Dapat bekerja secara efisien dan tepat
waktu
 Kata Algoritma diambil dari nama
ilmuwan muslim yaitu Abu Ja’far
Muhammad bin Musa Al-Khwarizmi
(780 – 846 M) yang berasal dari
Uzbekistan, yang banyak menghasilkan
karya dalam bidang matematika,
disamping karya-karya dalam bidang
lainnya seperti geografi dan musik.
 Al-Khwarizmi menyatakan bahwa
algoritma adalah suatu metode khusus
untuk menyelesaikan suatu persoalan
 Beberapa definisi Algoritma:
1. Menurut Rinaldi Munir (2002), algoritma adalah
urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis
2. Menurut Kamus Besar Bahasa Indonesia (1998),
algoritma adalah urutan logis pengambilan
keputusan untuk pemecahan masalah.
3. Menurut Team Gunadarma (1988), algoritma adalah
suatu himpunan hingga dari instruksi-instruksi
yang secara jelas memperinci langkah-langkah
proses pelaksanaan, dalam pemecahan suatu
masalah tertentu, atau suatu kelas masalah
tertentu, dengan dituntut pula bahwa himpunan
instruksi itu tersebut dapat dilaksanakan secara
mekanik.
 Contoh 1: algoritma dalam kehidupan sehari-
hari (menulis surat):
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena
atau pensil
3. Mulai menulis
4. Memasukkan kertas ke dalam amplop
5. Pergi ke kantor pos untuk mengeposkan
surat.
 Contoh 2: algoritma untuk menghitung luas
lingkaran. (Rumus luas lingkaran, L = πR2):
1. Masukkan R.
2. Pi 3.14
3. L Pi * R * R
4. Tulis L
 Tanda pada baris kedua dan ketiga berarti
nilai di sebelah kanan diberikan pada operan
di sebelah kiri.
 Masalah Algoritma Terjemahkan
ke Dalam Bahasa Pemrograman Hasil/Solusi
 Proses dari masalah hingga menjadi suatu
algoritma disebut “Tahap Pemecahan
Masalah”
 Sedangkan dari Algoritma hingga menjadi
Solusi/Hasil disebut tahap Tahap
Implementasi. Hasil/Solusi yang dimaksud
adalah suatu program yang merupakan
implementasi dari algoritma yang disusun.
1. Uraian Deskriptif, yaitu menggunakan bahasa
sehari-hari.
2. Pseudocode, yaitu kode yang mirip dengan
kode pemrograman sebenarnya seperti Pascal
atau C.
3. Flowchart (Diagram Alir), yaitu gambar atau
diagram yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya.
Gambar ini dinyatakan secara simbol, dan tiap
simbol menggambarkan proses tertentu.
Sedangkan antara proses digambarkan dengan
garis penghubung.
 Bagan-bagan yang mempunyai
arus yang menggambarkan
langkah-langkah penyelesaian
suatu masalah.
 Merupakan salah satu cara
penyajian dari suatu algoritma.
 Ada 2 macam Flowchart :
– System Flowchart, yaitu urutan proses
dalam system dengan menunjukkan alat
media input, output serta jenis media
penyimpanan dalam proses pengolahan
data.
– Program Flowchart, yaitu urutan instruksi
yang digambarkan dengan simbol tertentu
untuk memecahkan masalah dalam suatu
program.
 Simbol – simbol yang digunakan
dalam flowchart, yaitu
- Flow Direction Symbols (Simbol
penghubung alur)
- Processing Symbols (Simbol
proses).
- Input-output Symbols (Simbol
input-output)
 Simbol – simbol flowchart
 Simbol – simbol flowchart
 Pembuatan flowchart
- Sebuah flowchart diawali dari satu titik START dan
diakhiri dengan END.
- Hindari pengulangan proses yang tidak perlu dan
logika yang berbelit sehingga jalannya proses
menjadi singkat.
- Jalannya proses digambarkan dari atas ke bawah
dan diberikan tanda panah untuk memperjelas.
- Masing – masing simbol sebaiknya menggunakan
suatu kata yang mewakili suatu pekerjaan
- Jika flowchart terpotong yang dikarenakan
keterbatasan tempat maka gunakan simbol
penghubung yang tepat.
 Dalam pemrograman, algoritma
digunakan untuk tiga struktur dasar,
yaitu:
1. Struktur Urut (sequence structure),
2. Struktur Keputusan (decision
structure),
3. Struktur perulangan (looping
structure).
1. Struktur Urut (sequence structure), terdiri
dari pernyataan atau beberapa pernyataan
yang tidak mempunyai perulangan atau
keputusan di dalamnya.
Contoh: algoritma untuk menghitung luas
dan volume suatu balok.
Rumus Luas Balok,
L = (2*p*l) + (2*p*t) + (2*l*t)
Rumus Volume Balok,
V = p*l*t
 Algoritma dari permasalahan di atas adalah:
1. Masukkan panjang
2. Masukkan lebar
3. Masukkan tinggi
4. Luas = (2*p*l)+(2*p*t)+(2*l*t)
5. Volume = p*l*t
6. Tampilkan Luas
7. Tampilkan Volume
Keterangan dari algoritma di atas:
Pada baris pertama, kedua & ketiga diminta untuk memasukkan
input yang berkaitan dengan balok yaitu panjang, lebar dan
tinggi. Panjang balok disimpan pada variabel panjang, lebar
balok disimpan pada variabel lebar dan tinggi balok disimpan
pada variabel tinggi.
Pada baris keempat dan kelima, diminta memasukkan rumus
untuk mencari luas dan volume balok, yaitu Luas =
(2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi), dan
Volume = panjang*lebar*tinggi.
Luas balok disimpan pada variabel luas dan Volume balok
disimpan pada variabel volume. Baris keenam dan ketujuh
merupakan hasil dari proses input dan proses perhitungan dari
variabel input yang dimasukkan dan nantinya akan ditampilkan
Luas dan Volume balok.
Flowchart dari algoritma Struktur Urut di atas adalah:
Contoh memecahkan masalah dalam algoritma Struktur Urut.
Program untuk menghitung luas dan volume suatu balok.
/* ----------------------------------------------------------------------
Program ADP_3_struktur_dasar_algoritma_urut.cpp
Contoh Struktur Dasar Algoritma
---------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int panjang, lebar, tinggi, luas, volume;
printf("Contoh Struktur Dasar Algoritma Urutn");
printf("Menghitung Luas & Volume Balokn");
printf(“______________________________n");
printf("n");
printf("Masukkan panjang: "); scanf("%d",&panjang);
printf("Masukkan lebar: "); scanf("%d",&lebar);
printf("Masukkan tinggi: "); scanf("%d",&tinggi);
luas=(2*panjang*lebar)+(2*panjang*tinggi)+(2*lebar*tinggi);
volume=panjang*lebar*tinggi;
printf("Jadi Luasnya adalah: %dn",luas);
printf("Jadi Volumenya adalah: %dn",volume);
system("Pause");
}
• Hasil eksekusi program
2. Struktur Keputusan (decision
structure), digunakan untuk
memilih salah satu alternatif
jawaban yang tepat dari pilihan
yang ada. C++ menyediakan
dua perintah pengambilan
keputusan yaitu perintah IF dan
SWITCH.
Contoh: algoritma untuk menghitung
total pembayaran dari pembelian
seorang pelanggan toko, dengan
ketentuan apabila pembelian pelanggan
tersebut sama dengan atau melebihi
100000, maka pelanggan tersebut
mendapat discount 10%, jika tidak
pelanggan tersebut hanya mendapat
discount 5%.
Algoritma dari permasalahan tersebut adalah:
1. Masukkan pembelian
2. Jika pembelian >= 100000, discount =10% *
pembelian
3. Total pembayaran = pembelian – discount
4. Jika pembelian < 100000, discount = 5% *
pembelian
5. Total pembayaran = pembelian – discount
6. Tampilkan pembelian
7. Tampilkan discount
8. Tampilkan total pembayaran
Keterangan dari algoritma di atas:
Pada baris pertama, diminta untuk memasukkan input yang
berkaitan dengan permasalahan di atas yaitu pembelian. Pembelian
tersebut disimpan pada variabel beli.
Pada baris kedua, akan dilakukan pengujian dan pengecekan
pembelian yang dimasukkan yaitu apabila pembelian pelanggan
tersebut sama dengan atau melebihi 100000 atau tidak.
Jika jawabannya ya, maka pelanggan tersebut mendapat discount
10%, dan total pembayarannya = pembelian-dicount. Discount
disimpan dalam variabel disc dan total pembayaran disimpan dalam
variabel total. Kemudian ke baris keenam sampai kedelapan.
Jika jawabannya tidak, maka kerjakan baris keempat dan kelima
yaitu discount hanya 5% dan total pembayaran = pembelian-
discount.
Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan
discount dan total pembayaran.
Flowchart dari algoritma Struktur Keputusan di atas adalah:
// ------------------------------------------------------------------------------
// Program ADP_4_struktur_dasar_algoritma_keputusan.cpp
// Contoh Struktur Dasar Algoritma
// ------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
long int beli,disc,total;
printf("Contoh Struktur Dasar Algoritma Keputusann")
printf("Program untuk menghitung Pembelian");
printf(" dengan discountn");
printf("___________________________________");
printf("________________n");
printf("n");
printf("Masukkan nilai pembelian: Rp. "); scanf("%d",&beli);
printf("n");
if (beli>=100000)
{
disc=0.1*beli;
total=beli-disc;
}
else
{
disc=0.05*beli;
total=beli-disc;
}
printf("Jadi pembelian adalah Rp. %dn",beli);
printf("dengan discount Rp. %dn",disc);
printf("dan total pembayaran sebesar Rp. %dn",total);
printf("n");
system("Pause");
}
Contoh memecahkan masalah dalam algoritma Struktur Keputusan.
Program untuk menghitung total pembayaran dari pembelian dengan discount
• Hasil eksekusi program
3. Struktur Perulangan (looping
structure), digunakan untuk
melakukan suatu proses secara
berulang-ulang, jika suatu kondisi
dipenuhi atau sebaliknya. Biasa
dipergunakan untuk mengulang
proses pemasukan data,
mengulang proses perhitungan,
dan mengulang proses penampilan
hasil pengolahan data.
Contoh: algoritma untuk menampilkan
bilangan dari 10 sampai 1 secara
menurun, yaitu 10,9,8,7,6,5,4,3,2,1.
Algoritma dari permasalahan tersebut:
1. Tentukan nilai awal, batas, dan
penurunan nilai
2. Lakukan perulangan sampai batas
terpenuhi
3. Tampilkan bilangan
Keterangan dari algoritma di atas:
Pada baris pertama, diminta untuk mendefinisikan variabel
bilangan dalam hal ini disimpan dalam variabel n. Adapun
nilai awal n adalah 10, batas dari bilangan adalah n>0.
Karena yang akan ditampilkan bilangan secara menurun,
maka bilangan awal dikurangi satu persatu. Dalam C++
penulisannya adalah n--.
Pada baris kedua, proses perulangan dimulai, n dimulai dari
10, karena 10>0, maka perulangan dilakukan serta proses
penurunan berjalan yaitu 10-1=9. Seterusnya, perulangan
dilakukan sampai n=0.
Apabila nilai n=0, maka proses perulangan dihentikan dan
langkah selanjutnya akan turun ke baris ketiga yaitu
menampilkan semua bilangan dalam perulangan tersebut.
Flowchart dari algoritma Struktur Perulangan di atas adalah:
Contoh memecahkan masalah dalam algoritma Struktur
Perulangan.
Program untuk menampilkan bilangan dari 10 sampai 1 secara
menurun
// -------------------------------------------------
// Program ADP_5_struktur_dasar_algoritma_perulangan.cpp
// Contoh Struktur Dasar Algoritma
// -------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
int n;
printf("Contoh Struktur Dasar Algoritma Perulangann");
printf("Program untuk menampilkan nilai 10 s.d. 1n");
printf("__________________________________________n");
printf("nt");
for (n=10; n>0; n--){
printf("%dnt",n);
}
printf("n");
system ("Pause");
}
Sejauh ini tidak ada standarisasi tentang
bagaimana menyusun algoritma. Secara
prinsip, setiap orang mempunyai kebebasan
untuk menyusun bentuk suatu algoritma. Tiap
orang dapat menggunakan kata-kata dalam
bahasa manusia, pseudocode, atau bahkan
diagram alir untuk mewujudkan suatu
algoritma. Tiap orang juga dapat menggunakan
cara-caranya sendiri untuk menuliskan suatu
algoritma dengan memegang teguh
konsistensi.
Namun demikian ada beberapa hal yang perlu diperhatikan dalam
menyusun suatu algoritma.
Menurut Knuth ( 1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada lima
ciri-ciri penting yang harus dimiliki sebuah algoritma, yaitu:
1. Finitness, menyatakan bahwa suatu algoritma harus berakhir untuk
semua kondisi setelah memproses sejumlah langkah.
2. Definiteness, menyatakan bahwa setiap langkah harus dinyatakan
dengan jelas (tidak rancu atau memiliki dua arti).
3. Masukan, setiap algoritma dapat tidak memiliki masukan atau
mempunyai satu atau beberapa masukan. Masukan merupakan suatu
besaran yang diberikan di awal sebelum algoritma diproses.
4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah
keluaran atau banyak keluaran. Keluaran merupakan besaran yang
mempunyai kaitan atau hubungan dengan masukan.
5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam arti
semua operasi yang dilaksanakan oleh algoritma harus sederhana dan
dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap
instruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya
menggunakan kertas dan pensil.
 Memiliki logika perhitungan / metode yang tepat
dalam memecahkan masalah
 Menghasilkan output yang tepat dan benar dalam
waktu yang singkat.
 Ditulis dengan bahasa yang standart secara
sistematis dan rapi sehingga tidak menimbulkan arti
ganda
 Ditulis dengan format yang mudah dipahami, dan
diimplementasikan ke dalam bahasa pemograman
 Semua Operasi yang dibutuhkan terdefinisi dengan
jelas
 Semua proses harus selalu berakhir setelah sejumlah
langkah dilakukan.
 Standart Teknik Pemecahan Masalah
– Top – Down : Merupakan teknik pemecahan masalah
yang paling banyak digunakan dimana pada teknik ini
suatu masalah yang besar / complex dibagi-bagi ke
dalam beberapa kelompok masalah yang lebih kecil,
Dari kelompok kecil kemudian dianalisa dan apabila
masih memungkinkan untuk dibagi lagi menjadi sub
bagian lalu kemudian di susun langkah-langkah
untuk menyelesaikan masalah secara detail.
– Bottom – Up : Teknik ini masalah yang besar/komplek
dipecahkan dengan melakukan penggabungan
prosedur-prosedur yang menjadi satu kesatuan
program guna menyelesaikan masalah tersebut,
teknik ini sudah mulai di tinggalkan.
 Standart Penyusunan Program
– Kebenaran logika dan penulisan : Program
yang disusun harus memiliki ketepatan,
ketelitian, dan kebenaran dalam
perhitungan, sehingga hasilnya dapat
dipercaya serta harus teliti dalam
penulisannya.
– Waktu untuk penulisan program : Program
harus dapat menentukan batas waktu
minimum dan maksimum dalam penulisan
programnya yang tersedia secara wajar.

More Related Content

What's hot

Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer Hairil Rahman
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarDisma Ariyanti W
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritmapakdemamo
 
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanAndri Yanto
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemogramanankg44
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartSyaiful Ahdan
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMartin Arale
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrogramanlidyanamaria
 

What's hot (19)

Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer Unm tki1-kb3-ppt1-alur logika pemrograman komputer
Unm tki1-kb3-ppt1-alur logika pemrograman komputer
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasar
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritma
 
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemograman
 
Definisi Algoritma
Definisi AlgoritmaDefinisi Algoritma
Definisi Algoritma
 
Bab 1
Bab 1 Bab 1
Bab 1
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
 
flowchart
flowchartflowchart
flowchart
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMK
 
Pertemuan_2
Pertemuan_2Pertemuan_2
Pertemuan_2
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrograman
 

Similar to 1 adp dasar-dasar algoritma

Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
01 komponen dasar komputer (1)
01 komponen dasar komputer (1)01 komponen dasar komputer (1)
01 komponen dasar komputer (1)adi yusuf
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang cDyes Wirok
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasimastnie
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.pptJournalJPMN
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptNoerisEkaBudiarti
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemogramanYusup Palsu
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptxssuser98f5ad
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritmaBraga Rezpect
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppteriekorlando3
 
pengenalan pemrograman komputer
pengenalan pemrograman komputerpengenalan pemrograman komputer
pengenalan pemrograman komputerfajaralpindra
 

Similar to 1 adp dasar-dasar algoritma (20)

Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
01 komponen dasar komputer (1)
01 komponen dasar komputer (1)01 komponen dasar komputer (1)
01 komponen dasar komputer (1)
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Bab i
Bab iBab i
Bab i
 
Bab i
Bab iBab i
Bab i
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.ppt
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemograman
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptx
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritma
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 
pengenalan pemrograman komputer
pengenalan pemrograman komputerpengenalan pemrograman komputer
pengenalan pemrograman komputer
 

More from Fisma Ananda

More from Fisma Ananda (20)

Bab 13 etika komputer
Bab 13   etika komputerBab 13   etika komputer
Bab 13 etika komputer
 
Bab 12 keamanan komputer
Bab 12   keamanan komputerBab 12   keamanan komputer
Bab 12 keamanan komputer
 
Bab 11 bahasa pemograman
Bab 11   bahasa pemogramanBab 11   bahasa pemograman
Bab 11 bahasa pemograman
 
Bab 10 internet
Bab 10   internetBab 10   internet
Bab 10 internet
 
Bab 9 jaringan komputer
Bab 9   jaringan komputerBab 9   jaringan komputer
Bab 9 jaringan komputer
 
Bab 8 komunikasi data
Bab 8   komunikasi dataBab 8   komunikasi data
Bab 8 komunikasi data
 
Bab 7 organisasi file
Bab 7   organisasi fileBab 7   organisasi file
Bab 7 organisasi file
 
Bab 6 sistem bilangan
Bab 6   sistem bilanganBab 6   sistem bilangan
Bab 6 sistem bilangan
 
Bab 5 software
Bab 5   softwareBab 5   software
Bab 5 software
 
Bab 4 hardware
Bab 4   hardwareBab 4   hardware
Bab 4 hardware
 
Bab 3 komputer dan bagian-bagiannya
Bab 3   komputer dan bagian-bagiannyaBab 3   komputer dan bagian-bagiannya
Bab 3 komputer dan bagian-bagiannya
 
Modul xiii
Modul xiiiModul xiii
Modul xiii
 
Modul xii
Modul xiiModul xii
Modul xii
 
Modul xi
Modul xiModul xi
Modul xi
 
Modul x
Modul xModul x
Modul x
 
Modul viii
Modul viiiModul viii
Modul viii
 
Modul vii
Modul viiModul vii
Modul vii
 
Modul vi
Modul viModul vi
Modul vi
 
Modul v
Modul vModul v
Modul v
 
Modul lengkap
Modul lengkapModul lengkap
Modul lengkap
 

1 adp dasar-dasar algoritma

  • 2.  Pada dasarnya komputer adalah mesin yang tidak dapat melakukan apa-apa, sehingga diperlukan serangkaian instruksi yang diberikan kepada komputer untuk dapat bekerja dan memecahkan suatu masalah.  Langkah-langkah yang dilakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah disebut juga Pemrograman Komputer.
  • 3.  Program adalah kumpulan instruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu.  Definisi lain Program yaitu kata, ekspresi, pernyataan atau kombinasinya / kumpulan statement-statement yang dirangkai dan disusun menjadi satu kesatuan prosedur yang berupa urutan langkah-langkah logis penyelesaian masalah yang diimplementasi kan dengan penggunaan bahasa pemrograman sehingga dapat dieksekusi oleh komputer dan dilihat hasil akhirnya.
  • 4.  Pada dasarnya komputer mencakup 3 aspek penting, berupa Perangkat Keras (hardware), Perangkat Lunak (software) berupa program, serta Perangkat Akal (brainware) atau orang yang berperan dalam operasi komputer maupun pengembangan Perangkat Lunak.
  • 5.  Dalam Pemrograman Komputer, untuk memberikan suatu instruksi harus digunakan bahasa yang dimengerti oleh komputer tersebut, yang disebut juga Bahasa Komputer. Dengan bahasa ini, komputer akan mampu memahami dan mengerti perintah-perintah yang diberikan.  Bahasa Komputer biasa juga disebut dengan Bahasa Pemrograman Komputer, yaitu suatu prosedur atau tata cara penulisan program, yang dalam hal ini adalah kata, ekspresi, pernyataan atau kombinasi semuanya yang disusun dan dirangkai berupa urutan langkah-langkah penyelesaian masalah.
  • 6.  Bahasa Pemrograman Komputer secara garis besar dapat dikelompokkan menjadi 2: 1. Bahasa Beraras Rendah (Low Level Language) 2. Bahasa Beraras Tinggi (High Level Language)
  • 7.  Komputer adalah mesin digital yang hanya dapat mengenal kondisi ada arus listrik (biasa dilambangkan dengan 1) atau tidak ada arus listrik (biasa dilambangkan dengan 0)  Dengan kata lain, harus digunakan sandi 0 atau 1 untuk melakukan pemrograman komputer. Bahasa Pemrograman yang menggunakan sandi 1 atau 0 ini disebut dengan Bahasa Mesin.
  • 8.  Bahasa Mesin sangat susah untuk dimengerti, maka kemudian muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah dipahami oleh manusia. Singkatan kata ini kemudian disebut Mnemonic Code.  Bahasa Pemrograman yang menggunakan singkatan kata (Mnemonic Code) ini disebut dengan Bahasa Assembly.
  • 9.  Contohnya, dalam prosesor Intel terdapat perintah 0011 1010 0000 1011. Perintah ini sama artinya dengan perintah assembly CMP AL, 0D, yang artinya bandingkan nilai register AL dengan 0D. CMP adalah singkatan dari CoMPare.  Perangkat lunak yang mengkonversikan perintah-perintah assembly ke dalam bahasa mesin sering disebut juga assembler.  Bahasa Mesin dan Bahasa Assembly termasuk ke dalam Bahasa Beraras Rendah (Low Level Language).
  • 10.  Pemrograman dengan bahasa assembly dirasakan masih terlalu sulit, sehingga kemudian dikembangkan bahasa pemrograman yang lebih mudah digunakan karena menggunakan kata-kata yang mudah dikenali oleh manusia.  Bahasa Pemrograman seperti ini disebut Bahasa Generasi Ketiga atau 3GL (Third Generation Language).
  • 11.  Bahasa Generasi Ketiga biasa juga disebut dengan bahasa tingkat tinggi atau HLL (high level language).  Contoh Bahasa Generasi Ketiga yaitu Basic, Pascal, C, C++, COBOL dan lain-lain.
  • 12.  Contoh perintah dalam bahas Pascal: writeln (‘Algoritma’);  Contoh perintah dalam Bahasa C: printf (“Algoritmanr”);  Contoh perintah dalam Bahasa C++: cout << “Algoritma”<< endl;
  • 13.  Perangkat Lunak yang menerjemahkan program dalam bahasa yang dimengerti manusia ke dalam Bahasa Assembly atau Mesin ada dua macam, yaitu: 1. Interpreter menerjemahkan program baris per baris, jika suatu baris akan dieksekusi, maka baris tersebut diterjemahkan dulu ke Bahasa Mesin. Contoh: Basic 2. Kompiler menerjemahkan semua baris perintah ke dalam bahasa mesin kemudian menjalankan hasil penerjemahannya. Contoh: Pascal, C, dan C++
  • 14.  Pada Bahasa Pemrograman Komputer ada beberapa faktor yang harus diperhatikan: 1. Sintaksis, yaitu tata bahasa yang digunakan dalam program atau aturan-aturan yang mengatur tata cara penulisan kata, ekspresi, dan pernyataan. 2. Semantik adalah maksud yang dikandung dalam setiap pernyataan yang ada dalam program atau aturan-aturan untuk menyatakan suatu arti. 3. Kebenaran Logika berhubungan dengan benar tidaknya urutan pernyataan yang ada dalam program
  • 15.  Kesalahan sintaksis akan langsung kelihatan, karena komputer akan menampilkan pesan kesalahan  Kesalahan semantik biasanya terjadi karena kekurang pahaman terhadap setiap pernyataan yang dituliskan pada program, sehingga walaupun program bisa berjalan tetapi tidak seperti yang diharapkan.  Kesalahan logika merupakan kesalahan dalam mengimplementasikan masalah yang dihadapi, sehingga program yang ditulis tidak benar secara logika.
  • 16. 1. Mendefinisikan masalah. Tujuannya untuk memahami permasalahan secara mendalam berkaitan dengan input, perintah yang digunakan dan bagaimana bentuk ouputnya.
  • 17. 2. Menentukan solusi. Jika masalahnya terlalu besar, dapat dibagi menjadi beberapa modul yang dapat memudahkan penyelesaian masalah Contoh: Program untuk menghitung luas dan keliling persegi panjang inputnya adalah panjang dan lebar, prosesnya dengan rumus luas = panjang * lebar dan keliling = 2* (panjang+lebar), serta output yang diharapkan adalah luas dan keliling.
  • 18. 3. Memilih Algoritma. Algoritma dibuat dengan tujuan untuk menyelesaikan masalah. Algoritma tidak bisa sekali jadi, tetapi akan dikaji berulang-ulang sampai diperoleh algoritma yang tepat, benar, dan relevan. Contoh menghitung luas dan keliling persegi panjang dibuat algoritma yaitu: a. Tentukan variabel dan tipe data yang digunakan. b. Masukkan input yaitu panjang dan lebar. c. Lakukan proses pencarian luas = panjang * lebar, dan keliling = 2*(panjang+lebar) d. Tampilkan luas dan keliling persegi panjang
  • 19. 4. Menulis Program menggunakan suatu bahasa pemrograman ke dalam komputer untuk memecahkan masalah yang ada. Di slide selanjutnya akan diperlihatkan contoh Program Menghitung Luas dan Keliling Persegi Panjang yang ditulis menggunakan Bahasa C.
  • 20. /*----------------------------------------------------------------------------------------------- Program ADP_1_langkah_pemrograman.cpp Contoh Menulis Program Menghitung Luas dan Keliling Persegi Panjang ----------------------------------------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int panjang, lebar, luas, keliling; printf("Contoh Menulis Program"); printf(" sebagai Langkah-langkah Pemrograman Komputern"); printf("______________________"); printf("_________________________________________n"); printf("n"); printf("Masukkan panjang: ");scanf("%d",&panjang); printf("Masukkan lebar: ");scanf("%d",&lebar); printf("n"); luas = panjang * lebar; keliling = 2 * (panjang+lebar); printf("Jadi Luas Persegi Panjang adalah: %dn",luas); printf("Jadi Keliling Persegi Panjang adalah: %dn",keliling); printf("n"); system("Pause"); }
  • 22. 5. Melakukan testing dan debugging. Testing merupakan proses menjalankan program secara rutin untuk menemukan kesalahan- kesalahan dalam penulisan suatu pernyataan dalam program. Sedangkan debugging adalah proses menemukan kesalahan- kesalahan dalam program dan kesalahan yang ditemukan diperbaiki sampai tidak muncul kesalahan lagi
  • 23. 6. Menuliskan Dokumentasi. Dokumentasi yaitu catatan dari setiap langkah pekerjaan dalam pembuatan program, yang dilakukan dari awal sampai akhir. Dokumentasi sangat penting untuk melakukan penelusuran jika terjadi kesalahan dan penting untuk pengembangan program. Dokumentasi juga akan memberikan informasi yang cukup memadai sehingga orang lain akan dapat mengerti dan memahami alur logika program,
  • 24. Dokumentasi biasanya berupa komentar- komentar pada tiap baris program. Hal yang perlu diperhatikan: 1.komentar jangan terlalu panjang 2.komentar harus jelas maksudnya 3.komentar diletakkan pada tempat yang tepat 4.keterangan yang harus ditulis harus logis 5.tidak menimbulkan salah pengertian
  • 25. // ----------------------------------------------------------------------- // Program ADP_2_menulis_dokumentasi_program.cpp // Contoh Menulis Dokumentasi Program // ----------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> main() { //deklarasi variabel yang digunakan int jari; float luas, keliling; //keterangan program printf("Contoh Menulis Dokumentasi Programn"); printf("________________________________n"); printf("n"); //input variabel yang digunakan yaitu jari printf("Masukkan jari-jari: "); scanf("%d",&jari); printf("n"); //proses menghitung luas dan keliling lingkaran luas = 3.141593 * jari * jari; keliling = 2 * 3.141593 * jari; //ouput luas dan keliling lingkaran printf("Jadi luasnya adalah: %.2fn",luas); printf("Jadi keliling adalah: %.2fn",keliling); printf("n"); system("Pause"); }
  • 27.  Untuk komentar dalam bahasa C++ menggunakan tanda /* dan diakhiri dengan */, atau dengan tanda // di awal setiap pernyataan
  • 28. 7. Melakukan Perawatan. Hal ini perlu dilakukan karena kemungkinan munculnya kesalahan di luar dugaan atau biasanya pengguna meminta fasilitas yang baru dalam program.
  • 29.  Dalam mengimplementasi urutan langkah penyelesaian masalah harus menggunakan bentuk dan rancang bangun yang mudah dipahami, tidak berbelit-belit, sederhana dan dapat dikembangkan siapa saja. Konsep ini dinamakan Pemrograman Terstruktur, dengan ciri-ciri berikut ini: 1. Mempunyai teknik pemecahan permasalahan yang tepat dan benar. 2. Memiliki algoritma pemecahan masalah yang sederhana dan efisien. 3. Teknik penulisan program memiliki struktur logika yang benar dan mudah dipahami. 4. Membutuhkan biaya testing yang rendah. 5. Memiliki dokumentasi yang baik.
  • 30.  Clarity, Simplicity dan Unity Bahasa pemrograman harus dapat menolong programmer untuk membuat suatu desain program jauh sebelum programmer melakukan coding. Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.
  • 31.  Orthogonality Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan
  • 32.  Kewajaran untuk aplikasi Bahasa pemrograman membutuhkan syntax yang tepat/cocok yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.
  • 33.  Mendukung Abstraksi Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.
  • 34.  Kemudahan untuk Verifikasi Program Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka suatu program akan dengan mudah dibangun dan dikembangkan.
  • 35.  Lingkungan Pemrograman Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.
  • 36.  Portabilitas Program Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.
  • 37.  Pemrogram atau Programmer adalah orang yang menyusun atau membuat suatu program.  Ciri-ciri Pemerogram yang baik: 1. Mampu menyusun algoritma dengan baik 2. Menguasai bahasa dan teknik penulisan program dengan baik 3. Dapat bekerjasama dalam suatu tim 4. Dapat bekerja secara efisien dan tepat waktu
  • 38.  Kata Algoritma diambil dari nama ilmuwan muslim yaitu Abu Ja’far Muhammad bin Musa Al-Khwarizmi (780 – 846 M) yang berasal dari Uzbekistan, yang banyak menghasilkan karya dalam bidang matematika, disamping karya-karya dalam bidang lainnya seperti geografi dan musik.  Al-Khwarizmi menyatakan bahwa algoritma adalah suatu metode khusus untuk menyelesaikan suatu persoalan
  • 39.  Beberapa definisi Algoritma: 1. Menurut Rinaldi Munir (2002), algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis 2. Menurut Kamus Besar Bahasa Indonesia (1998), algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. 3. Menurut Team Gunadarma (1988), algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi itu tersebut dapat dilaksanakan secara mekanik.
  • 40.  Contoh 1: algoritma dalam kehidupan sehari- hari (menulis surat): 1. Mempersiapkan kertas dan amplop. 2. Mempersiapkan alat tulis, seperti pena atau pensil 3. Mulai menulis 4. Memasukkan kertas ke dalam amplop 5. Pergi ke kantor pos untuk mengeposkan surat.
  • 41.  Contoh 2: algoritma untuk menghitung luas lingkaran. (Rumus luas lingkaran, L = πR2): 1. Masukkan R. 2. Pi 3.14 3. L Pi * R * R 4. Tulis L  Tanda pada baris kedua dan ketiga berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri.
  • 42.  Masalah Algoritma Terjemahkan ke Dalam Bahasa Pemrograman Hasil/Solusi  Proses dari masalah hingga menjadi suatu algoritma disebut “Tahap Pemecahan Masalah”  Sedangkan dari Algoritma hingga menjadi Solusi/Hasil disebut tahap Tahap Implementasi. Hasil/Solusi yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun.
  • 43. 1. Uraian Deskriptif, yaitu menggunakan bahasa sehari-hari. 2. Pseudocode, yaitu kode yang mirip dengan kode pemrograman sebenarnya seperti Pascal atau C. 3. Flowchart (Diagram Alir), yaitu gambar atau diagram yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambar ini dinyatakan secara simbol, dan tiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung.
  • 44.  Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.  Merupakan salah satu cara penyajian dari suatu algoritma.
  • 45.  Ada 2 macam Flowchart : – System Flowchart, yaitu urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart, yaitu urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.
  • 46.  Simbol – simbol yang digunakan dalam flowchart, yaitu - Flow Direction Symbols (Simbol penghubung alur) - Processing Symbols (Simbol proses). - Input-output Symbols (Simbol input-output)
  • 47.  Simbol – simbol flowchart
  • 48.  Simbol – simbol flowchart
  • 49.  Pembuatan flowchart - Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. - Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. - Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. - Masing – masing simbol sebaiknya menggunakan suatu kata yang mewakili suatu pekerjaan - Jika flowchart terpotong yang dikarenakan keterbatasan tempat maka gunakan simbol penghubung yang tepat.
  • 50.  Dalam pemrograman, algoritma digunakan untuk tiga struktur dasar, yaitu: 1. Struktur Urut (sequence structure), 2. Struktur Keputusan (decision structure), 3. Struktur perulangan (looping structure).
  • 51. 1. Struktur Urut (sequence structure), terdiri dari pernyataan atau beberapa pernyataan yang tidak mempunyai perulangan atau keputusan di dalamnya. Contoh: algoritma untuk menghitung luas dan volume suatu balok. Rumus Luas Balok, L = (2*p*l) + (2*p*t) + (2*l*t) Rumus Volume Balok, V = p*l*t
  • 52.  Algoritma dari permasalahan di atas adalah: 1. Masukkan panjang 2. Masukkan lebar 3. Masukkan tinggi 4. Luas = (2*p*l)+(2*p*t)+(2*l*t) 5. Volume = p*l*t 6. Tampilkan Luas 7. Tampilkan Volume
  • 53. Keterangan dari algoritma di atas: Pada baris pertama, kedua & ketiga diminta untuk memasukkan input yang berkaitan dengan balok yaitu panjang, lebar dan tinggi. Panjang balok disimpan pada variabel panjang, lebar balok disimpan pada variabel lebar dan tinggi balok disimpan pada variabel tinggi. Pada baris keempat dan kelima, diminta memasukkan rumus untuk mencari luas dan volume balok, yaitu Luas = (2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi), dan Volume = panjang*lebar*tinggi. Luas balok disimpan pada variabel luas dan Volume balok disimpan pada variabel volume. Baris keenam dan ketujuh merupakan hasil dari proses input dan proses perhitungan dari variabel input yang dimasukkan dan nantinya akan ditampilkan Luas dan Volume balok.
  • 54. Flowchart dari algoritma Struktur Urut di atas adalah:
  • 55. Contoh memecahkan masalah dalam algoritma Struktur Urut. Program untuk menghitung luas dan volume suatu balok. /* ---------------------------------------------------------------------- Program ADP_3_struktur_dasar_algoritma_urut.cpp Contoh Struktur Dasar Algoritma ---------------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int panjang, lebar, tinggi, luas, volume; printf("Contoh Struktur Dasar Algoritma Urutn"); printf("Menghitung Luas & Volume Balokn"); printf(“______________________________n"); printf("n"); printf("Masukkan panjang: "); scanf("%d",&panjang); printf("Masukkan lebar: "); scanf("%d",&lebar); printf("Masukkan tinggi: "); scanf("%d",&tinggi); luas=(2*panjang*lebar)+(2*panjang*tinggi)+(2*lebar*tinggi); volume=panjang*lebar*tinggi; printf("Jadi Luasnya adalah: %dn",luas); printf("Jadi Volumenya adalah: %dn",volume); system("Pause"); }
  • 57. 2. Struktur Keputusan (decision structure), digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. C++ menyediakan dua perintah pengambilan keputusan yaitu perintah IF dan SWITCH.
  • 58. Contoh: algoritma untuk menghitung total pembayaran dari pembelian seorang pelanggan toko, dengan ketentuan apabila pembelian pelanggan tersebut sama dengan atau melebihi 100000, maka pelanggan tersebut mendapat discount 10%, jika tidak pelanggan tersebut hanya mendapat discount 5%.
  • 59. Algoritma dari permasalahan tersebut adalah: 1. Masukkan pembelian 2. Jika pembelian >= 100000, discount =10% * pembelian 3. Total pembayaran = pembelian – discount 4. Jika pembelian < 100000, discount = 5% * pembelian 5. Total pembayaran = pembelian – discount 6. Tampilkan pembelian 7. Tampilkan discount 8. Tampilkan total pembayaran
  • 60. Keterangan dari algoritma di atas: Pada baris pertama, diminta untuk memasukkan input yang berkaitan dengan permasalahan di atas yaitu pembelian. Pembelian tersebut disimpan pada variabel beli. Pada baris kedua, akan dilakukan pengujian dan pengecekan pembelian yang dimasukkan yaitu apabila pembelian pelanggan tersebut sama dengan atau melebihi 100000 atau tidak. Jika jawabannya ya, maka pelanggan tersebut mendapat discount 10%, dan total pembayarannya = pembelian-dicount. Discount disimpan dalam variabel disc dan total pembayaran disimpan dalam variabel total. Kemudian ke baris keenam sampai kedelapan. Jika jawabannya tidak, maka kerjakan baris keempat dan kelima yaitu discount hanya 5% dan total pembayaran = pembelian- discount. Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan discount dan total pembayaran.
  • 61. Flowchart dari algoritma Struktur Keputusan di atas adalah:
  • 62. // ------------------------------------------------------------------------------ // Program ADP_4_struktur_dasar_algoritma_keputusan.cpp // Contoh Struktur Dasar Algoritma // ------------------------------------------------------------------------------ #include <stdio.h> #include <stdlib.h> main() { long int beli,disc,total; printf("Contoh Struktur Dasar Algoritma Keputusann") printf("Program untuk menghitung Pembelian"); printf(" dengan discountn"); printf("___________________________________"); printf("________________n"); printf("n"); printf("Masukkan nilai pembelian: Rp. "); scanf("%d",&beli); printf("n"); if (beli>=100000) { disc=0.1*beli; total=beli-disc; } else { disc=0.05*beli; total=beli-disc; } printf("Jadi pembelian adalah Rp. %dn",beli); printf("dengan discount Rp. %dn",disc); printf("dan total pembayaran sebesar Rp. %dn",total); printf("n"); system("Pause"); } Contoh memecahkan masalah dalam algoritma Struktur Keputusan. Program untuk menghitung total pembayaran dari pembelian dengan discount
  • 64. 3. Struktur Perulangan (looping structure), digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Biasa dipergunakan untuk mengulang proses pemasukan data, mengulang proses perhitungan, dan mengulang proses penampilan hasil pengolahan data.
  • 65. Contoh: algoritma untuk menampilkan bilangan dari 10 sampai 1 secara menurun, yaitu 10,9,8,7,6,5,4,3,2,1. Algoritma dari permasalahan tersebut: 1. Tentukan nilai awal, batas, dan penurunan nilai 2. Lakukan perulangan sampai batas terpenuhi 3. Tampilkan bilangan
  • 66. Keterangan dari algoritma di atas: Pada baris pertama, diminta untuk mendefinisikan variabel bilangan dalam hal ini disimpan dalam variabel n. Adapun nilai awal n adalah 10, batas dari bilangan adalah n>0. Karena yang akan ditampilkan bilangan secara menurun, maka bilangan awal dikurangi satu persatu. Dalam C++ penulisannya adalah n--. Pada baris kedua, proses perulangan dimulai, n dimulai dari 10, karena 10>0, maka perulangan dilakukan serta proses penurunan berjalan yaitu 10-1=9. Seterusnya, perulangan dilakukan sampai n=0. Apabila nilai n=0, maka proses perulangan dihentikan dan langkah selanjutnya akan turun ke baris ketiga yaitu menampilkan semua bilangan dalam perulangan tersebut.
  • 67. Flowchart dari algoritma Struktur Perulangan di atas adalah:
  • 68. Contoh memecahkan masalah dalam algoritma Struktur Perulangan. Program untuk menampilkan bilangan dari 10 sampai 1 secara menurun // ------------------------------------------------- // Program ADP_5_struktur_dasar_algoritma_perulangan.cpp // Contoh Struktur Dasar Algoritma // ------------------------------------------------- #include <stdio.h> #include <stdlib.h> main() { int n; printf("Contoh Struktur Dasar Algoritma Perulangann"); printf("Program untuk menampilkan nilai 10 s.d. 1n"); printf("__________________________________________n"); printf("nt"); for (n=10; n>0; n--){ printf("%dnt",n); } printf("n"); system ("Pause"); }
  • 69.
  • 70. Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip, setiap orang mempunyai kebebasan untuk menyusun bentuk suatu algoritma. Tiap orang dapat menggunakan kata-kata dalam bahasa manusia, pseudocode, atau bahkan diagram alir untuk mewujudkan suatu algoritma. Tiap orang juga dapat menggunakan cara-caranya sendiri untuk menuliskan suatu algoritma dengan memegang teguh konsistensi.
  • 71. Namun demikian ada beberapa hal yang perlu diperhatikan dalam menyusun suatu algoritma. Menurut Knuth ( 1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada lima ciri-ciri penting yang harus dimiliki sebuah algoritma, yaitu: 1. Finitness, menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah. 2. Definiteness, menyatakan bahwa setiap langkah harus dinyatakan dengan jelas (tidak rancu atau memiliki dua arti). 3. Masukan, setiap algoritma dapat tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan di awal sebelum algoritma diproses. 4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan. 5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma harus sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap instruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas dan pensil.
  • 72.  Memiliki logika perhitungan / metode yang tepat dalam memecahkan masalah  Menghasilkan output yang tepat dan benar dalam waktu yang singkat.  Ditulis dengan bahasa yang standart secara sistematis dan rapi sehingga tidak menimbulkan arti ganda  Ditulis dengan format yang mudah dipahami, dan diimplementasikan ke dalam bahasa pemograman  Semua Operasi yang dibutuhkan terdefinisi dengan jelas  Semua proses harus selalu berakhir setelah sejumlah langkah dilakukan.
  • 73.  Standart Teknik Pemecahan Masalah – Top – Down : Merupakan teknik pemecahan masalah yang paling banyak digunakan dimana pada teknik ini suatu masalah yang besar / complex dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil, Dari kelompok kecil kemudian dianalisa dan apabila masih memungkinkan untuk dibagi lagi menjadi sub bagian lalu kemudian di susun langkah-langkah untuk menyelesaikan masalah secara detail. – Bottom – Up : Teknik ini masalah yang besar/komplek dipecahkan dengan melakukan penggabungan prosedur-prosedur yang menjadi satu kesatuan program guna menyelesaikan masalah tersebut, teknik ini sudah mulai di tinggalkan.
  • 74.  Standart Penyusunan Program – Kebenaran logika dan penulisan : Program yang disusun harus memiliki ketepatan, ketelitian, dan kebenaran dalam perhitungan, sehingga hasilnya dapat dipercaya serta harus teliti dalam penulisannya. – Waktu untuk penulisan program : Program harus dapat menentukan batas waktu minimum dan maksimum dalam penulisan programnya yang tersedia secara wajar.