ALGORITMA DASAR PEMROGRAMAN dasardasar algoritma ALGORITMA Kata Algoritma

  • Slides: 43
Download presentation
ALGORITMA & DASAR PEMROGRAMAN dasar-dasar algoritma

ALGORITMA & DASAR PEMROGRAMAN dasar-dasar algoritma

ALGORITMA �Kata Algoritma diambil dari nama ilmuwan muslim yaitu Abu Ja’far Muhammad bin Musa

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

ALGORITMA � Beberapa 1. 2. 3. definisi Algoritma: Menurut Rinaldi Munir (2002), algoritma adalah

ALGORITMA � Beberapa 1. 2. 3. 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.

ALGORITMA � Contoh 1: algoritma dalam kehidupan sehari (menulis surat): 1. Mempersiapkan kertas dan

ALGORITMA � Contoh 1: algoritma dalam kehidupan sehari (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.

ALGORITMA � Contoh 2: algoritma untuk menghitung luas lingkaran. (Rumus luas lingkaran, L =

ALGORITMA � Contoh 2: algoritma untuk menghitung luas lingkaran. (Rumus luas lingkaran, L = πR 2): 1. Masukkan R. 2. Pi 3. 14 3. L Pi * R 4. Tulis L � Tanda pada baris kedua dan ketiga berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri.

HUBUNGAN MASALAH, ALGORITMA, DAN HASIL � Masalah Algoritma Terjemahkan ke Dalam Bahasa Pemrograman Hasil/Solusi

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.

CARA PENULISAN ALGORITMA 1. Uraian Deskriptif, yaitu menggunakan bahasa sehari-hari. 2. Pseudocode, yaitu kode

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.

FLOWCHART �Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. �Merupakan salah satu

FLOWCHART �Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. �Merupakan salah satu cara penyajian dari suatu algoritma.

FLOWCHART 2 macam Flowchart : – System Flowchart, yaitu urutan proses dalam system dengan

FLOWCHART 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. � Ada

FLOWCHART �Simbol – simbol yang digunakan dalam flowchart, yaitu - Flow Direction Symbols (Simbol

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 � Simbol – simbol flowchart

FLOWCHART � Simbol – simbol flowchart

FLOWCHART flowchart - Sebuah flowchart diawali dari satu titik START dan � Pembuatan -

FLOWCHART flowchart - Sebuah flowchart diawali dari satu titik START dan � Pembuatan - 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.

STRUKTUR DASAR ALGORITMA �Dalam pemrograman, algoritma digunakan untuk tiga struktur dasar, yaitu: 1. Struktur

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

STRUKTUR ALGORITMA: URUT 1. Struktur Urut (sequence structure), terdiri dari pernyataan atau beberapa pernyataan

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

STRUKTUR ALGORITMA: URUT � Algoritma 1. 2. 3. 4. 5. 6. 7. dari permasalahan

STRUKTUR ALGORITMA: URUT � Algoritma 1. 2. 3. 4. 5. 6. 7. dari permasalahan di atas adalah: Masukkan panjang Masukkan lebar Masukkan tinggi Luas = (2*p*l)+(2*p*t)+(2*l*t) Volume = p*l*t Tampilkan Luas Tampilkan Volume

STRUKTUR ALGORITMA: URUT Keterangan dari algoritma di atas: Pada baris pertama, kedua & ketiga

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.

Flowchart dari algoritma Struktur Urut di atas adalah:

Flowchart dari algoritma Struktur Urut di atas adalah:

Contoh memecahkan masalah dalam algoritma Struktur Urut. Program untuk menghitung luas dan volume suatu

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

• Hasil eksekusi program

STRUKTUR ALGORITMA: KEPUTUSAN 2. Struktur Keputusan (decision structure), digunakan untuk memilih salah satu alternatif

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.

STRUKTUR ALGORITMA: KEPUTUSAN Contoh: algoritma untuk menghitung total pembayaran dari pembelian seorang pelanggan toko,

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 pembelian 2. Jika pembelian

STRUKTUR ALGORITMA: KEPUTUSAN 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

STRUKTUR ALGORITMA: KEPUTUSAN Keterangan dari algoritma di atas: Pada baris pertama, diminta untuk memasukkan

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 = pembeliandiscount. Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan discount dan total pembayaran.

Flowchart dari algoritma Struktur Keputusan di atas adalah:

Flowchart dari algoritma Struktur Keputusan di atas adalah:

Contoh memecahkan masalah dalam algoritma Struktur Keputusan. Program untuk menghitung total pembayaran dari pembelian

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 Keputusann") printf("Program untuk menghitung Pembelian"); printf(" dengan discountn"); printf("__________________"); } 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");

 • Hasil eksekusi program

• Hasil eksekusi program

STRUKTUR ALGORITMA: PERULANGAN 3. Struktur Perulangan (looping structure), digunakan untuk melakukan suatu proses secara

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.

STRUKTUR ALGORITMA: PERULANGAN Contoh: algoritma untuk menampilkan bilangan dari 10 sampai 1 secara menurun,

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

STRUKTUR ALGORITMA: PERULANGAN Keterangan dari algoritma di atas: Pada baris pertama, diminta untuk mendefinisikan

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.

Flowchart dari algoritma Struktur Perulangan di atas adalah:

Flowchart dari algoritma Struktur Perulangan di atas adalah:

Contoh memecahkan masalah dalam algoritma Struktur Perulangan. Program untuk menampilkan bilangan dari 10 sampai

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

KOMBINASI STRUKTUR DASAR ALGORITMA

KOMBINASI STRUKTUR DASAR ALGORITMA

DASAR PENYUSUNAN ALGORITMA Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip,

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.

DASAR PENYUSUNAN ALGORITMA Namun demikian ada beberapa hal yang perlu diperhatikan dalam menyusun suatu

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.

CIRI-CIRI ALGORITMA YANG BAIK � Memiliki logika perhitungan / metode yang tepat dalam memecahkan

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.

PAHAMI!!! Agar komputer mengerti instruksi yang dibacanya, maka instruksi tersebut harus ditulis dalam bahasa

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

PAHAMI!!! � “Belajar Pemrograman tidak sama dengan belajar Bahasa Pemrograman!!!” � Belajar Pemrogaman berarti

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.

PAHAMI!!! � Ada dua pesan penting tentang Algoritma. � Pertama, sebuah algoritma harus benar.

PAHAMI!!! � Ada dua pesan penting tentang Algoritma. � Pertama, sebuah algoritma harus benar. � Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

Contoh Permasalahan � Menukarkan isi dari dua ember air yang berbeda warna. � Memperoleh

Contoh Permasalahan � Menukarkan isi dari dua ember air yang berbeda warna. � Memperoleh 4 L air dari dua ember dengan ukuran berbeda, yang satu berukuran 5 L dan yang lain 3 L. � Menyeberangkan Kangkung, Kambing, dan Serigala oleh Tukang Sampan tanpa menyebabkan Kangkung dimakan Kambing atau Kambing dimakan Serigala. � Algoritma Euclidian untuk mencari Greates Common Divisor.

Contoh Permasalahan � Menyusun tumpukan kartu bernomor yang acak menjadi terurut dengan nomor terkecil

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.

Contoh Algoritma � Resep membuat masakan � Panduan praktikum � Pengisian pulsa kartu prabayar

Contoh Algoritma � Resep membuat masakan � Panduan praktikum � Pengisian pulsa kartu prabayar � Untuk menulis dan mengirimkan surat � Memasak mie instan

Contoh Permasalahan Bagaimana menampilkan deretan bilangan genap 2. Bagaimana menampilkan deretan bilangan ganjil 3.

Contoh Permasalahan 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 1.