dasar-dasar algoritma
 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.
 Agar komputer mengerti instruksi yang dibacanya, maka
instruksi tersebut harus ditulis dalam bahasa yang
dipahami oleh komputer. Jadi algoritma harus ditulis
dalam bahasa khusus yang disebut Bahasa Komputer.
 Algoritma yang ditulis dalam bahasa komputer dinamakan
Program.
 Bahasa komputer yang digunakan untuk menulis program
dinamakan Bahasa Pemrograman (programming
language).
 Orang yang menulis program komputer dinamakan
Pemrogram (programmer).
 Kegiatan mulai dari mendesain hingga menulis program
dinamakan Pemrograman (programming).
 Teks program dalam bahasa pemrograman sering
dinamakan Kode Program (source code), sehingga menulis
kode program sering dinamakan Coding.
 “Belajar Pemrograman tidak sama dengan belajar
Bahasa Pemrograman!!!”
 Belajar Pemrogaman berarti memperalajari
metodologi pemecahan masalah, kemudian
menuliskan algortima pemecahan masalah dalam
notasi tertentu.
 Sedangkan belajar Bahasa Pemrograman berarti
belajar memakai suatu bahasa komputer, aturan
tata bahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, dan memanfaatkan
instruksi-instruksi tersebut untuk membuat
program yang ditulis hanya dalam bahasa
pemrograman itu saja.
 Ada dua pesan penting tentang Algoritma.
 Pertama, sebuah algoritma harus benar.
 Kedua, algoritma harus berhenti, dan setelah
berhenti, algoritma memberikan hasil yang
benar.
 Menukarkan isi dari dua ember air yang
berbeda warna.
 Memperoleh 4L air dari dua ember dengan
ukuran berbeda, yang satu berukuran 5L dan
yang lain 3L.
 Menyeberangkan Kangkung, Kambing, dan
Serigala oleh Tukang Sampan tanpa
menyebabkan Kangkung dimakan Kambing
atau Kambing dimakan Serigala.
 Algoritma Euclidian untuk mencari Greates
Common Divisor.
 Menyusun tumpukan kartu bernomor yang
acak menjadi terurut dengan nomor terkecil
berada di atas.
 Mencari calon mahasiswa dengan nilai
tertentu dari senarai (list atautable) hasil ujian
masuk.
 Menghitung luas ukuran tanah.
 Resep membuat masakan
 Panduan praktikum
 Pengisian pulsa kartu prabayar
 Untuk menulis dan mengirimkan surat
 Memasak mie instan
1. Bagaimana menampilkan deretan bilangan
genap
2. Bagaimana menampilkan deretan bilangan
ganjil
3. Bagaimana menandai bilangan genap atau
ganjil.
Jelaskan mengikuti langkah 1 s.d. 4 dari 7
langkah Pemrograman.
Kumpulkan dokumentasi dalam file .doc dan
source code dalam bentuk .pas

dasar-dasar algoritma

  • 1.
  • 2.
     Kata Algoritmadiambil 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
  • 3.
     Beberapa definisiAlgoritma: 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.
  • 4.
     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.
  • 5.
     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.
  • 6.
     Masalah AlgoritmaTerjemahkan 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.
  • 7.
    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.
  • 8.
     Bagan-bagan yangmempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.  Merupakan salah satu cara penyajian dari suatu algoritma.
  • 9.
     Ada 2macam 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.
  • 10.
     Simbol –simbol yang digunakan dalam flowchart, yaitu - Flow Direction Symbols (Simbol penghubung alur) - Processing Symbols (Simbol proses). - Input-output Symbols (Simbol input-output)
  • 11.
     Simbol –simbol flowchart
  • 12.
     Simbol –simbol flowchart
  • 13.
     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.
  • 14.
     Dalam pemrograman,algoritma digunakan untuk tiga struktur dasar, yaitu: 1. Struktur Urut (sequence structure), 2. Struktur Keputusan (decision structure), 3. Struktur perulangan (looping structure).
  • 15.
    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
  • 16.
     Algoritma daripermasalahan 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
  • 17.
    Keterangan dari algoritmadi 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.
  • 18.
    Flowchart dari algoritmaStruktur Urut di atas adalah:
  • 19.
    Contoh memecahkan masalahdalam 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"); }
  • 20.
  • 21.
    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.
  • 22.
    Contoh: algoritma untukmenghitung 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%.
  • 23.
    Algoritma dari permasalahantersebut 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
  • 24.
    Keterangan dari algoritmadi 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.
  • 25.
    Flowchart dari algoritmaStruktur Keputusan di atas adalah:
  • 26.
    // ------------------------------------------------------------------------------ // ProgramADP_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
  • 27.
  • 28.
    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.
  • 29.
    Contoh: algoritma untukmenampilkan 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
  • 30.
    Keterangan dari algoritmadi 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.
  • 31.
    Flowchart dari algoritmaStruktur Perulangan di atas adalah:
  • 32.
    Contoh memecahkan masalahdalam 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"); }
  • 34.
    Sejauh ini tidakada 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.
  • 35.
    Namun demikian adabeberapa 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.
  • 36.
     Memiliki logikaperhitungan / 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.
  • 37.
     Agar komputermengerti instruksi yang dibacanya, maka instruksi tersebut harus ditulis dalam bahasa yang dipahami oleh komputer. Jadi algoritma harus ditulis dalam bahasa khusus yang disebut Bahasa Komputer.  Algoritma yang ditulis dalam bahasa komputer dinamakan Program.  Bahasa komputer yang digunakan untuk menulis program dinamakan Bahasa Pemrograman (programming language).  Orang yang menulis program komputer dinamakan Pemrogram (programmer).  Kegiatan mulai dari mendesain hingga menulis program dinamakan Pemrograman (programming).  Teks program dalam bahasa pemrograman sering dinamakan Kode Program (source code), sehingga menulis kode program sering dinamakan Coding.
  • 38.
     “Belajar Pemrogramantidak sama dengan belajar Bahasa Pemrograman!!!”  Belajar Pemrogaman berarti memperalajari metodologi pemecahan masalah, kemudian menuliskan algortima pemecahan masalah dalam notasi tertentu.  Sedangkan belajar Bahasa Pemrograman berarti belajar memakai suatu bahasa komputer, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa pemrograman itu saja.
  • 39.
     Ada duapesan penting tentang Algoritma.  Pertama, sebuah algoritma harus benar.  Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.
  • 40.
     Menukarkan isidari dua ember air yang berbeda warna.  Memperoleh 4L air dari dua ember dengan ukuran berbeda, yang satu berukuran 5L dan yang lain 3L.  Menyeberangkan Kangkung, Kambing, dan Serigala oleh Tukang Sampan tanpa menyebabkan Kangkung dimakan Kambing atau Kambing dimakan Serigala.  Algoritma Euclidian untuk mencari Greates Common Divisor.
  • 41.
     Menyusun tumpukankartu bernomor yang acak menjadi terurut dengan nomor terkecil berada di atas.  Mencari calon mahasiswa dengan nilai tertentu dari senarai (list atautable) hasil ujian masuk.  Menghitung luas ukuran tanah.
  • 42.
     Resep membuatmasakan  Panduan praktikum  Pengisian pulsa kartu prabayar  Untuk menulis dan mengirimkan surat  Memasak mie instan
  • 43.
    1. Bagaimana menampilkanderetan bilangan genap 2. Bagaimana menampilkan deretan bilangan ganjil 3. Bagaimana menandai bilangan genap atau ganjil. Jelaskan mengikuti langkah 1 s.d. 4 dari 7 langkah Pemrograman. Kumpulkan dokumentasi dalam file .doc dan source code dalam bentuk .pas