74
dasar-dasar algoritma

1 adp dasar-dasar algoritma

Embed Size (px)

Citation preview

dasar-dasar algoritma

Pada dasarnya komputer adalah mesin yangtidak dapat melakukan apa-apa, sehinggadiperlukan serangkaian instruksi yangdiberikan kepada komputer untuk dapatbekerja dan memecahkan suatu masalah.

Langkah-langkah yang dilakukan dalammemberikan instruksi kepada komputeruntuk memecahkan masalah disebut jugaPemrograman Komputer.

Program adalah kumpulan instruksi yangdigunakan untuk mengatur komputer agarmelakukan suatu tindakan tertentu.

Definisi lain Program yaitu kata, ekspresi,pernyataan atau kombinasinya / kumpulanstatement-statement yang dirangkai dan disusunmenjadi satu kesatuan prosedur yang berupaurutan langkah-langkah logis penyelesaianmasalah yang diimplementasi kan denganpenggunaan bahasa pemrograman sehinggadapat dieksekusi oleh komputer dan dilihat hasilakhirnya.

Pada dasarnya komputer mencakup 3aspek penting, berupa PerangkatKeras (hardware), Perangkat Lunak(software) berupa program, sertaPerangkat Akal (brainware) atau orangyang berperan dalam operasikomputer maupun pengembanganPerangkat Lunak.

Dalam Pemrograman Komputer, untukmemberikan suatu instruksi harus digunakanbahasa yang dimengerti oleh komputer tersebut,yang disebut juga Bahasa Komputer. Denganbahasa ini, komputer akan mampu memahamidan mengerti perintah-perintah yang diberikan.

Bahasa Komputer biasa juga disebut denganBahasa Pemrograman Komputer, yaitu suatuprosedur atau tata cara penulisan program, yangdalam hal ini adalah kata, ekspresi, pernyataanatau kombinasi semuanya yang disusun dandirangkai berupa urutan langkah-langkahpenyelesaian masalah.

Bahasa Pemrograman Komputersecara garis besar dapatdikelompokkan menjadi 2:

1. Bahasa Beraras Rendah (Low LevelLanguage)

2. Bahasa Beraras Tinggi (High LevelLanguage)

Komputer adalah mesin digital yang hanyadapat mengenal kondisi ada arus listrik (biasadilambangkan dengan 1) atau tidak ada aruslistrik (biasa dilambangkan dengan 0)

Dengan kata lain, harus digunakan sandi 0atau 1 untuk melakukan pemrogramankomputer. Bahasa Pemrograman yangmenggunakan sandi 1 atau 0 ini disebutdengan Bahasa Mesin.

Bahasa Mesin sangat susah untuk dimengerti,maka kemudian muncul ide untukmelambangkan untaian sandi 0 dan 1 dengansingkatan kata yang lebih mudah dipahamioleh manusia. Singkatan kata ini kemudiandisebut Mnemonic Code.

Bahasa Pemrograman yang menggunakansingkatan kata (Mnemonic Code) ini disebutdengan Bahasa Assembly.

Contohnya, dalam prosesor Intel terdapatperintah 0011 1010 0000 1011. Perintah inisama artinya dengan perintah assembly CMP AL,0D, yang artinya bandingkan nilai register ALdengan 0D. CMP adalah singkatan dari CoMPare.

Perangkat lunak yang mengkonversikanperintah-perintah assembly ke dalam bahasamesin sering disebut juga assembler.

Bahasa Mesin dan Bahasa Assembly termasuk kedalam Bahasa Beraras Rendah (Low LevelLanguage).

Pemrograman dengan bahasa assemblydirasakan masih terlalu sulit, sehinggakemudian dikembangkan bahasapemrograman yang lebih mudah digunakankarena menggunakan kata-kata yang mudahdikenali oleh manusia.

Bahasa Pemrograman seperti ini disebutBahasa Generasi Ketiga atau 3GL (ThirdGeneration Language).

Bahasa Generasi Ketiga biasa jugadisebut dengan bahasa tingkat tinggiatau HLL (high level language).

Contoh Bahasa Generasi Ketiga yaituBasic, Pascal, C, C++, COBOL danlain-lain.

Contoh perintah dalam bahas Pascal:

writeln (‘Algoritma’);

Contoh perintah dalam Bahasa C:

printf (“Algoritma\n\r”);

Contoh perintah dalam Bahasa C++:

cout << “Algoritma”<< endl;

Perangkat Lunak yang menerjemahkan programdalam bahasa yang dimengerti manusia ke dalamBahasa Assembly atau Mesin ada dua macam,yaitu:

1. Interpreter menerjemahkan program baris perbaris, jika suatu baris akan dieksekusi, makabaris tersebut diterjemahkan dulu ke BahasaMesin. Contoh: Basic

2. Kompiler menerjemahkan semua baris perintahke dalam bahasa mesin kemudian menjalankanhasil penerjemahannya. Contoh: Pascal, C, danC++

Pada Bahasa Pemrograman Komputer adabeberapa faktor yang harus diperhatikan:1. Sintaksis, yaitu tata bahasa yang digunakan

dalam program atau aturan-aturan yangmengatur tata cara penulisan kata, ekspresi,dan pernyataan.

2. Semantik adalah maksud yang dikandungdalam setiap pernyataan yang ada dalamprogram atau aturan-aturan untukmenyatakan suatu arti.

3. Kebenaran Logika berhubungan dengan benartidaknya urutan pernyataan yang ada dalamprogram

Kesalahan sintaksis akan langsung kelihatan,karena komputer akan menampilkan pesankesalahan

Kesalahan semantik biasanya terjadi karenakekurang pahaman terhadap setiap pernyataanyang dituliskan pada program, sehinggawalaupun program bisa berjalan tetapi tidakseperti yang diharapkan.

Kesalahan logika merupakan kesalahan dalammengimplementasikan masalah yang dihadapi,sehingga program yang ditulis tidak benar secaralogika.

1. Mendefinisikan masalah.Tujuannya untuk memahamipermasalahan secara mendalamberkaitan dengan input, perintahyang digunakan dan bagaimanabentuk ouputnya.

2. Menentukan solusi. Jika masalahnya terlalubesar, dapat dibagi menjadi beberapa modulyang dapat memudahkan penyelesaianmasalahContoh:Program untuk menghitung luas dan kelilingpersegi panjang inputnya adalah panjangdan lebar, prosesnya dengan rumus luas =panjang * lebar dan keliling = 2*(panjang+lebar), serta output yangdiharapkan adalah luas dan keliling.

3. Memilih Algoritma. Algoritma dibuat dengantujuan untuk menyelesaikan masalah. Algoritmatidak bisa sekali jadi, tetapi akan dikajiberulang-ulang sampai diperoleh algoritmayang tepat, benar, dan relevan.Contoh menghitung luas dan keliling persegipanjang 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 untukmemecahkan masalah yang ada.

Di slide selanjutnya akan diperlihatkan contohProgram Menghitung Luas dan Keliling PersegiPanjang 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 Komputer\n");

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: %d\n",luas);

printf("Jadi Keliling Persegi Panjang adalah: %d\n",keliling);

printf("\n");

system("Pause");

}

• Hasil eksekusi program

5. Melakukan testing dan debugging. Testingmerupakan proses menjalankan programsecara rutin untuk menemukan kesalahan-kesalahan dalam penulisan suatu pernyataandalam program. Sedangkan debuggingadalah proses menemukan kesalahan-kesalahan dalam program dan kesalahanyang ditemukan diperbaiki sampai tidakmuncul kesalahan lagi

6. Menuliskan Dokumentasi. Dokumentasiyaitu catatan dari setiap langkah pekerjaandalam pembuatan program, yang dilakukandari awal sampai akhir. Dokumentasi sangatpenting untuk melakukan penelusuran jikaterjadi kesalahan dan penting untukpengembangan program. Dokumentasi jugaakan memberikan informasi yang cukupmemadai sehingga orang lain akan dapatmengerti dan memahami alur logikaprogram,

Dokumentasi biasanya berupa komentar-komentar pada tiap baris program. Hal yangperlu diperhatikan:

1.komentar jangan terlalu panjang

2.komentar harus jelas maksudnya

3.komentar diletakkan pada tempat yangtepat

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 digunakanint jari;float luas, keliling;

//keterangan programprintf("Contoh Menulis Dokumentasi Program\n");printf("________________________________\n");printf("\n");//input variabel yang digunakan yaitu jariprintf("Masukkan jari-jari: "); scanf("%d",&jari);printf("\n");

//proses menghitung luas dan keliling lingkaranluas = 3.141593 * jari * jari;keliling = 2 * 3.141593 * jari;

//ouput luas dan keliling lingkaranprintf("Jadi luasnya adalah: %.2f\n",luas);printf("Jadi keliling adalah: %.2f\n",keliling);printf("\n");

system("Pause");}

• Hasil Eksekusi Program

Untuk komentar dalam bahasa C++menggunakan tanda /* dan diakhiri dengan*/, atau dengan tanda // di awal setiappernyataan

7. Melakukan Perawatan. Hal ini perludilakukan karena kemungkinan munculnyakesalahan di luar dugaan atau biasanyapengguna meminta fasilitas yang baru dalamprogram.

Dalam mengimplementasi urutan langkahpenyelesaian masalah harus menggunakan bentukdan rancang bangun yang mudah dipahami, tidakberbelit-belit, sederhana dan dapat dikembangkansiapa saja. Konsep ini dinamakan PemrogramanTerstruktur, 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 menolongprogrammer untuk membuat suatu desainprogram jauh sebelum programmermelakukan coding. Kemudahan,kesederhanaan dan kesatuan merupakansuatu kombinasi yang membantuprogrammer mengembangkan suatualgoritma sehingga algoritma yang dihasilkanmempunyai kompleksitas yang rendah.

Orthogonality

Orthogonality menunjuk kepada suatu atributyang dapat dikombinasikan dengan beragamfitur bahasa pemrograman sehingga setiapkombinasinya mempunyai arti dan dapatdigunakan

Kewajaran untuk aplikasi

Bahasa pemrograman membutuhkan syntaxyang tepat/cocok yang digunakan padastruktur program untuk merefleksikanstruktur logika yang melandasi suatualgoritma.

Mendukung Abstraksi

Abstraksi merupakan suatu hal yangsubstansial bagi programmer untuk membuatsuatu solusi dari masalah yang dihadapi.Kemudian abstraksi tersebut dapat denganmudah diimplementasikan menggunakanfitur-fitur yang ada dalam bahasapemrograman.

Kemudahan untuk Verifikasi Program

Verifikasi program merupakan hal pentingbagi sebuah program karena denganverifikasi yang mudah maka suatu programakan dengan mudah dibangun dandikembangkan.

Lingkungan Pemrograman

Bahasa pemrograman yang mempunyailingkungan pemrograman yang baik danlengkap akan memudahkan programmeruntuk mengimplementasikan abstraksi yangsudah disusunnya.

Portabilitas Program

Salah satu kriteria penting untuk proyekpemrograman adalah kemudahan programyang sudah jadi untuk dipindah-pindahkandari komputer yang digunakan untukmembuat dan mengembangkan ke komputerlain yang akan menggunakannya.

Pemrogram atau Programmer adalah orangyang menyusun atau membuat suatuprogram.

Ciri-ciri Pemerogram yang baik:

1. Mampu menyusun algoritma dengan baik

2. Menguasai bahasa dan teknik penulisanprogram dengan baik

3. Dapat bekerjasama dalam suatu tim

4. Dapat bekerja secara efisien dan tepatwaktu

Kata Algoritma diambil dari namailmuwan muslim yaitu Abu Ja’farMuhammad bin Musa Al-Khwarizmi(780 – 846 M) yang berasal dariUzbekistan, yang banyak menghasilkankarya dalam bidang matematika,disamping karya-karya dalam bidanglainnya seperti geografi dan musik.

Al-Khwarizmi menyatakan bahwaalgoritma adalah suatu metode khususuntuk menyelesaikan suatu persoalan

Beberapa definisi Algoritma:1. Menurut Rinaldi Munir (2002), algoritma adalah

urutan langkah-langkah logis penyelesaian masalahyang disusun secara sistematis

2. Menurut Kamus Besar Bahasa Indonesia (1998),algoritma adalah urutan logis pengambilankeputusan untuk pemecahan masalah.

3. Menurut Team Gunadarma (1988), algoritma adalahsuatu himpunan hingga dari instruksi-instruksiyang secara jelas memperinci langkah-langkahproses pelaksanaan, dalam pemecahan suatumasalah tertentu, atau suatu kelas masalahtertentu, dengan dituntut pula bahwa himpunaninstruksi itu tersebut dapat dilaksanakan secaramekanik.

Contoh 1: algoritma dalam kehidupan sehari-hari (menulis surat):

1. Mempersiapkan kertas dan amplop.

2. Mempersiapkan alat tulis, seperti penaatau pensil

3. Mulai menulis

4. Memasukkan kertas ke dalam amplop

5. Pergi ke kantor pos untuk mengeposkansurat.

Contoh 2: algoritma untuk menghitung luaslingkaran. (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 berartinilai di sebelah kanan diberikan pada operandi sebelah kiri.

Masalah Algoritma Terjemahkanke Dalam Bahasa Pemrograman Hasil/Solusi

Proses dari masalah hingga menjadi suatualgoritma disebut “Tahap PemecahanMasalah”

Sedangkan dari Algoritma hingga menjadiSolusi/Hasil disebut tahap TahapImplementasi. Hasil/Solusi yang dimaksudadalah suatu program yang merupakanimplementasi dari algoritma yang disusun.

1. Uraian Deskriptif, yaitu menggunakan bahasasehari-hari.

2. Pseudocode, yaitu kode yang mirip dengankode pemrograman sebenarnya seperti Pascalatau C.

3. Flowchart (Diagram Alir), yaitu gambar ataudiagram yang memperlihatkan urutan danhubungan antar proses beserta pernyataannya.Gambar ini dinyatakan secara simbol, dan tiapsimbol menggambarkan proses tertentu.Sedangkan antara proses digambarkan dengangaris penghubung.

Bagan-bagan yang mempunyaiarus yang menggambarkanlangkah-langkah penyelesaiansuatu masalah.

Merupakan salah satu carapenyajian dari suatu algoritma.

Ada 2 macam Flowchart :

– System Flowchart, yaitu urutan prosesdalam system dengan menunjukkan alatmedia input, output serta jenis mediapenyimpanan dalam proses pengolahandata.

– Program Flowchart, yaitu urutan instruksiyang digambarkan dengan simbol tertentuuntuk memecahkan masalah dalam suatuprogram.

Simbol – simbol yang digunakandalam flowchart, yaitu

- Flow Direction Symbols (Simbolpenghubung alur)

- Processing Symbols (Simbolproses).

- Input-output Symbols (Simbolinput-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 danlogika yang berbelit sehingga jalannya prosesmenjadi singkat.

- Jalannya proses digambarkan dari atas ke bawahdan diberikan tanda panah untuk memperjelas.

- Masing – masing simbol sebaiknya menggunakansuatu kata yang mewakili suatu pekerjaan

- Jika flowchart terpotong yang dikarenakanketerbatasan tempat maka gunakan simbolpenghubung yang tepat.

Dalam pemrograman, algoritmadigunakan untuk tiga struktur dasar,yaitu:

1. Struktur Urut (sequence structure),

2. Struktur Keputusan (decisionstructure),

3. Struktur perulangan (loopingstructure).

1. Struktur Urut (sequence structure), terdiridari pernyataan atau beberapa pernyataanyang tidak mempunyai perulangan ataukeputusan di dalamnya.

Contoh: algoritma untuk menghitung luasdan 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 memasukkaninput yang berkaitan dengan balok yaitu panjang, lebar dantinggi. Panjang balok disimpan pada variabel panjang, lebarbalok disimpan pada variabel lebar dan tinggi balok disimpanpada variabel tinggi.

Pada baris keempat dan kelima, diminta memasukkan rumusuntuk mencari luas dan volume balok, yaitu Luas =(2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi), danVolume = panjang*lebar*tinggi.

Luas balok disimpan pada variabel luas dan Volume balokdisimpan pada variabel volume. Baris keenam dan ketujuhmerupakan hasil dari proses input dan proses perhitungan darivariabel input yang dimasukkan dan nantinya akan ditampilkanLuas 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.cppContoh Struktur Dasar Algoritma---------------------------------------------------------------------- */

#include <stdio.h>#include <stdlib.h>main(){

int panjang, lebar, tinggi, luas, volume;

printf("Contoh Struktur Dasar Algoritma Urut\n");printf("Menghitung Luas & Volume Balok\n");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: %d\n",luas);printf("Jadi Volumenya adalah: %d\n",volume);

system("Pause");}

• Hasil eksekusi program

2. Struktur Keputusan (decisionstructure), digunakan untukmemilih salah satu alternatifjawaban yang tepat dari pilihanyang ada. C++ menyediakandua perintah pengambilankeputusan yaitu perintah IF danSWITCH.

Contoh: algoritma untuk menghitungtotal pembayaran dari pembelianseorang pelanggan toko, denganketentuan apabila pembelian pelanggantersebut sama dengan atau melebihi100000, maka pelanggan tersebutmendapat discount 10%, jika tidakpelanggan tersebut hanya mendapatdiscount 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 yangberkaitan dengan permasalahan di atas yaitu pembelian. Pembeliantersebut disimpan pada variabel beli.

Pada baris kedua, akan dilakukan pengujian dan pengecekanpembelian yang dimasukkan yaitu apabila pembelian pelanggantersebut sama dengan atau melebihi 100000 atau tidak.

Jika jawabannya ya, maka pelanggan tersebut mendapat discount10%, dan total pembayarannya = pembelian-dicount. Discountdisimpan dalam variabel disc dan total pembayaran disimpan dalamvariabel total. Kemudian ke baris keenam sampai kedelapan.

Jika jawabannya tidak, maka kerjakan baris keempat dan kelimayaitu discount hanya 5% dan total pembayaran = pembelian-discount.

Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkandiscount 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 Keputusan\n")printf("Program untuk menghitung Pembelian");printf(" dengan discount\n");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. %d\n",beli);

printf("dengan discount Rp. %d\n",disc);

printf("dan total pembayaran sebesar Rp. %d\n",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 (loopingstructure), digunakan untukmelakukan suatu proses secaraberulang-ulang, jika suatu kondisidipenuhi atau sebaliknya. Biasadipergunakan untuk mengulangproses pemasukan data,mengulang proses perhitungan,dan mengulang proses penampilanhasil pengolahan data.

Contoh: algoritma untuk menampilkanbilangan dari 10 sampai 1 secaramenurun, yaitu 10,9,8,7,6,5,4,3,2,1.

Algoritma dari permasalahan tersebut:1. Tentukan nilai awal, batas, dan

penurunan nilai2. Lakukan perulangan sampai batas

terpenuhi3. Tampilkan bilangan

Keterangan dari algoritma di atas:

Pada baris pertama, diminta untuk mendefinisikan variabelbilangan dalam hal ini disimpan dalam variabel n. Adapunnilai 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 dari10, karena 10>0, maka perulangan dilakukan serta prosespenurunan berjalan yaitu 10-1=9. Seterusnya, perulangandilakukan sampai n=0.

Apabila nilai n=0, maka proses perulangan dihentikan danlangkah selanjutnya akan turun ke baris ketiga yaitumenampilkan semua bilangan dalam perulangan tersebut.

Flowchart dari algoritma Struktur Perulangan di atas adalah:

Contoh memecahkan masalah dalam algoritma StrukturPerulangan.Program untuk menampilkan bilangan dari 10 sampai 1 secaramenurun

// -------------------------------------------------

// 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 Perulangan\n");

printf("Program untuk menampilkan nilai 10 s.d. 1\n");

printf("__________________________________________\n");

printf("\n\t");

for (n=10; n>0; n--){

printf("%d\n\t",n);

}

printf("\n");

system ("Pause");

}

Sejauh ini tidak ada standarisasi tentangbagaimana menyusun algoritma. Secaraprinsip, setiap orang mempunyai kebebasanuntuk menyusun bentuk suatu algoritma. Tiaporang dapat menggunakan kata-kata dalambahasa manusia, pseudocode, atau bahkandiagram alir untuk mewujudkan suatualgoritma. Tiap orang juga dapat menggunakancara-caranya sendiri untuk menuliskan suatualgoritma dengan memegang teguhkonsistensi.

Namun demikian ada beberapa hal yang perlu diperhatikan dalammenyusun suatu algoritma.Menurut Knuth ( 1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada limaciri-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 suatubesaran yang diberikan di awal sebelum algoritma diproses.

4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuahkeluaran atau banyak keluaran. Keluaran merupakan besaran yangmempunyai kaitan atau hubungan dengan masukan.

5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam artisemua operasi yang dilaksanakan oleh algoritma harus sederhana dandapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiapinstruksi dalam algoritma dapat dikerjakan oleh orang dengan hanyamenggunakan kertas dan pensil.

Memiliki logika perhitungan / metode yang tepatdalam memecahkan masalah

Menghasilkan output yang tepat dan benar dalamwaktu yang singkat.

Ditulis dengan bahasa yang standart secarasistematis dan rapi sehingga tidak menimbulkan artiganda

Ditulis dengan format yang mudah dipahami, dandiimplementasikan ke dalam bahasa pemograman

Semua Operasi yang dibutuhkan terdefinisi denganjelas

Semua proses harus selalu berakhir setelah sejumlahlangkah dilakukan.

Standart Teknik Pemecahan Masalah

– Top – Down : Merupakan teknik pemecahan masalahyang paling banyak digunakan dimana pada teknik inisuatu masalah yang besar / complex dibagi-bagi kedalam beberapa kelompok masalah yang lebih kecil,Dari kelompok kecil kemudian dianalisa dan apabilamasih memungkinkan untuk dibagi lagi menjadi subbagian lalu kemudian di susun langkah-langkahuntuk menyelesaikan masalah secara detail.

– Bottom – Up : Teknik ini masalah yang besar/komplekdipecahkan dengan melakukan penggabunganprosedur-prosedur yang menjadi satu kesatuanprogram 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 dalamperhitungan, sehingga hasilnya dapatdipercaya serta harus teliti dalampenulisannya.– Waktu untuk penulisan program : Program

harus dapat menentukan batas waktuminimum dan maksimum dalam penulisanprogramnya yang tersedia secara wajar.