1.adp dasar-dasar algoritma

74
ALGORITMA & DASAR PEMROGRAMAN dasar-dasar algoritma

Transcript of 1.adp dasar-dasar algoritma

ALGORITMA & DASAR PEMROGRAMAN

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.

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.

PROGRAM KOMPUTER

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.

PROGRAM KOMPUTER

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

Bahasa Pemrograman Komputer secara garis besar dapat dikelompokkan menjadi 2:1. Bahasa Beraras Rendah (Low Level Language)2. Bahasa Beraras Tinggi (High Level Language)

BAHASA PEMROGRAMAN KOMPUTER

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 PEMROGRAMAN KOMPUTER:LOW LEVEL LANGUAGE

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.

BAHASA PEMROGRAMAN KOMPUTER:LOW LEVEL LANGUAGE

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).

BAHASA PEMROGRAMAN KOMPUTER: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 PEMROGRAMAN KOMPUTER:HIGH LEVEL 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.

BAHASA PEMROGRAMAN KOMPUTER:HIGH LEVEL LANGUAGE

Contoh perintah dalam bahas Pascal:writeln (‘Algoritma’);

Contoh perintah dalam Bahasa C:printf (“Algoritma\n\r”);

Contoh perintah dalam Bahasa C++:cout << “Algoritma”<< endl;

BAHASA PEMROGRAMAN KOMPUTER:HIGH LEVEL LANGUAGE

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: Basic2. Kompiler menerjemahkan semua baris perintah ke dalam bahasa mesin kemudian menjalankan hasil penerjemahannya. Contoh: Pascal, C, dan C++

BAHASA PEMROGRAMAN KOMPUTER:HIGH LEVEL LANGUAGE

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

BAHASA PEMROGRAMAN KOMPUTER

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.

BAHASA PEMROGRAMAN KOMPUTER

1. Mendefinisikan masalah. Tujuannya untuk memahami permasalahan secara mendalam berkaitan dengan input, perintah yang digunakan dan bagaimana bentuk ouputnya.

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

2. Menentukan solusi. Jika masalahnya terlalu besar, dapat dibagi menjadi beberapa modul yang dapat memudahkan penyelesaian masalahContoh: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.

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

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

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

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.

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

/* ----------------------------------------------------------------------------------------------- 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. 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

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

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,

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

Dokumentasi biasanya berupa komentar-komentar pada tiap baris program. Hal yang perlu diperhatikan:1. komentar jangan terlalu panjang2. komentar harus jelas maksudnya3. komentar diletakkan pada tempat yang tepat4. keterangan yang harus ditulis harus logis5. tidak menimbulkan salah pengertian

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

// -----------------------------------------------------------------------// 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 program printf("Contoh Menulis Dokumentasi Program\n"); printf("________________________________\n"); printf("\n"); //input variabel yang digunakan yaitu jari

printf("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 setiap pernyataan

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

7. Melakukan Perawatan. Hal ini perlu dilakukan karena kemungkinan munculnya kesalahan di luar dugaan atau biasanya pengguna meminta fasilitas yang baru dalam program.

LANGKAH-LANGKAH PEMROGRAMAN KOMPUTER

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.

KONSEP PEMROGRAMAN TERSTRUKTUR

Clarity, Simplicity dan UnityBahasa 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.

PRINSIP DESAIN BAHASA PEMROGRAMAN

OrthogonalityOrthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan

PRINSIP DESAIN BAHASA PEMROGRAMAN

Kewajaran untuk aplikasiBahasa pemrograman membutuhkan syntax yang tepat/cocok yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.

PRINSIP DESAIN BAHASA PEMROGRAMAN

Mendukung AbstraksiAbstraksi 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.

PRINSIP DESAIN BAHASA PEMROGRAMAN

Kemudahan untuk Verifikasi ProgramVerifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka suatu program akan dengan mudah dibangun dan dikembangkan.

PRINSIP DESAIN BAHASA PEMROGRAMAN

Lingkungan PemrogramanBahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.

PRINSIP DESAIN BAHASA PEMROGRAMAN

Portabilitas ProgramSalah 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.

PRINSIP DESAIN BAHASA PEMROGRAMAN

Pemrogram atau Programmer adalah orang yang menyusun atau membuat suatu program.

Ciri-ciri Pemerogram yang baik:1. Mampu menyusun algoritma dengan baik2. Menguasai bahasa dan teknik penulisan program dengan baik3. Dapat bekerjasama dalam suatu tim4. Dapat bekerja secara efisien dan tepat waktu

CIRI PEMROGRAM YANG BAIK

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

ALGORITMA

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.

ALGORITMA

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

1. Mempersiapkan kertas dan amplop.2. Mempersiapkan alat tulis, seperti pena atau pensil3. Mulai menulis4. Memasukkan kertas ke dalam amplop5. Pergi ke kantor pos untuk mengeposkan surat.

ALGORITMA

Contoh 2: algoritma untuk menghitung luas lingkaran. (Rumus luas lingkaran, L = πR2):

1. Masukkan R.2. Pi 3.143. L Pi * R * R4. Tulis L

Tanda pada baris kedua dan ketiga berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri.

ALGORITMA

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.

HUBUNGAN MASALAH, ALGORITMA, DANHASIL

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.

CARA PENULISAN ALGORITMA

Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.

Merupakan salah satu cara penyajian dari suatu algoritma.

FLOWCHART

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.

FLOWCHART

Simbol – simbol yang digunakan dalam flowchart, yaitu

- Flow Direction Symbols (Simbol penghubung alur)- Processing Symbols (Simbol proses).- Input-output Symbols (Simbol input-output)

FLOWCHART

Simbol – simbol flowchart

FLOWCHART

Simbol – simbol flowchart

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.

FLOWCHART

Dalam pemrograman, algoritma digunakan untuk tiga struktur dasar, yaitu:1. Struktur Urut (sequence structure),2. Struktur Keputusan (decision structure), 3. Struktur perulangan (looping structure).

STRUKTUR DASAR ALGORITMA

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

STRUKTUR ALGORITMA: URUT

Algoritma dari permasalahan di atas adalah:1. Masukkan panjang2. Masukkan lebar3. Masukkan tinggi4. Luas = (2*p*l)+(2*p*t)+(2*l*t)5. Volume = p*l*t6. Tampilkan Luas7. Tampilkan Volume

STRUKTUR ALGORITMA: URUT

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.

STRUKTUR ALGORITMA: URUT

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 (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.

STRUKTUR ALGORITMA: KEPUTUSAN

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%.

STRUKTUR ALGORITMA: KEPUTUSAN

Algoritma dari permasalahan tersebut adalah:1. Masukkan pembelian2. Jika pembelian >= 100000, discount =10% *

pembelian3. Total pembayaran = pembelian – discount4. Jika pembelian < 100000, discount = 5% *

pembelian5. Total pembayaran = pembelian – discount6. Tampilkan pembelian7. Tampilkan discount8. Tampilkan total pembayaran

STRUKTUR ALGORITMA: KEPUTUSAN

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.

STRUKTUR ALGORITMA: KEPUTUSAN

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 (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.

STRUKTUR ALGORITMA: PERULANGAN

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 nilai2. Lakukan perulangan sampai batas

terpenuhi3. Tampilkan bilangan

STRUKTUR ALGORITMA: PERULANGAN

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.

STRUKTUR ALGORITMA: PERULANGAN

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 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");}

KOMBINASI STRUKTUR DASAR ALGORITMA

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.

DASAR PENYUSUNAN ALGORITMA

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.

DASAR PENYUSUNAN ALGORITMA

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.

CIRI-CIRI ALGORITMA YANG BAIK

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.

STANDAR PROGRAM YANG BAIK

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.

STANDAR PROGRAM YANG BAIK