Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
ALGORITMA & DASAR PEMROGRAMAN
dasar-dasar algoritma
2
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
3
ALGORITMA Beberapa definisi Algoritma:
Menurut Rinaldi Munir (2002), algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Menurut Kamus Besar Bahasa Indonesia (1998), algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. 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
ALGORITMA 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
ALGORITMA 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
HUBUNGAN MASALAH, ALGORITMA, DAN HASIL
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.
7
CARA PENULISAN ALGORITMA
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
FLOWCHART Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Merupakan salah satu cara penyajian dari suatu algoritma.
9
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.
10
FLOWCHART Simbol – simbol yang digunakan dalam flowchart, yaitu
- Flow Direction Symbols (Simbol penghubung alur) - Processing Symbols (Simbol proses). - Input-output Symbols (Simbol input-output)
11
FLOWCHART Simbol – simbol flowchart
12
FLOWCHART Simbol – simbol flowchart
13
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.
14
STRUKTUR DASAR ALGORITMA
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
STRUKTUR ALGORITMA: URUT
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
STRUKTUR ALGORITMA: URUT
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
17
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.
18
Flowchart dari algoritma Struktur Urut di atas adalah:
19
Program untuk menghitung luas dan volume suatu balok.
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 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"); }
20
Hasil eksekusi program
21
STRUKTUR ALGORITMA: KEPUTUSAN
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
STRUKTUR ALGORITMA: KEPUTUSAN
Contoh: algoritma untuk menghitung total pembayaran dari pembelian seorang pelanggan toko, dengan ketentuan apabila pembelian pelanggan tersebut sama dengan atau melebihi , maka pelanggan tersebut mendapat discount 10%, jika tidak pelanggan tersebut hanya mendapat discount 5%.
23
STRUKTUR ALGORITMA: KEPUTUSAN
Algoritma dari permasalahan tersebut adalah: 1. Masukkan pembelian 2. Jika pembelian >= , discount =10% * pembelian 3. Total pembayaran = pembelian – discount 4. Jika pembelian < , discount = 5% * pembelian 5. Total pembayaran = pembelian – discount 6. Tampilkan pembelian 7. Tampilkan discount 8. Tampilkan total pembayaran
24
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 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 algoritma Struktur Keputusan di atas adalah:
26
Contoh memecahkan masalah dalam algoritma Struktur Keputusan
Contoh memecahkan masalah dalam algoritma Struktur Keputusan. Program untuk menghitung total pembayaran dari pembelian dengan discount // // 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); 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");
27
Hasil eksekusi program
28
STRUKTUR ALGORITMA: PERULANGAN
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
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 nilai 2. Lakukan perulangan sampai batas terpenuhi 3. Tampilkan bilangan
30
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.
31
Flowchart dari algoritma Struktur Perulangan di atas adalah:
32
Program untuk menampilkan bilangan dari 10 sampai 1 secara menurun
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");
33
KOMBINASI STRUKTUR DASAR ALGORITMA
34
DASAR PENYUSUNAN 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.
35
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.
36
CIRI-CIRI ALGORITMA YANG BAIK
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.
37
PAHAMI!!! 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.
38
PAHAMI!!! “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.
39
PAHAMI!!! Ada dua pesan penting tentang Algoritma.
Pertama, sebuah algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.
40
Contoh Permasalahan 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.
41
Contoh Permasalahan 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.
42
Contoh Algoritma Resep membuat masakan Panduan praktikum
Pengisian pulsa kartu prabayar Untuk menulis dan mengirimkan surat Memasak mie instan
43
Contoh Permasalahan Bagaimana menampilkan deretan bilangan genap
Bagaimana menampilkan deretan bilangan ganjil 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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.