Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Algoritma Pemrograman

Tugas Kuliah - Rangkuman Pengertian Algoritma Pemrograman

Algoritma Pemrograman D1042131047 - Nurul Maulida 6/29/2014 Algoritma Pengertian Algoritma berasal dari nama penulis buku Arab yaitu Abu Ja'far Muhammad ibnu Musa Al- Khuwarizmi. Algoritma adalah: Langkah-langkah yang logis dan terstruktur untuk menyelesaikan suatu masalah. 5 ciri penting yang harus dipunyai Algoritma, Menurut Knurt : Finiteness, algoritma harus berakhir setelah memproses sejumlah langkah Defineteness. Setiap langkah, harus didefinisikan dan harus jelas, tidak punya makna ambigu Input, bisa memiliki masukan atau bisa tidak Output, setiap algoritma memiliki keluaran Efektivitas, setiap algortima bersifat efektif, sederhana dan singkat Notasi Algoritma Notasi I : diagram alir (flowchart) Notasi II: pseudo-code Contoh masalah : menghitung luas segiempat Masukkan panjang (P) Masukkan lebar (L) Luas ←P * L 1.Notasi I : diagram alir (flowchart) Contoh sederhana pada flowchart : Notasi II: pseudo-code Pseudocode adalah cara untuk menuliskan sebuah algoritma secara high level (level tingkat tinggi). Biasanya Pseudocode dituliskan dengan kombinasi Bahasa Inggris dan notasi matematika. Biasanya sebuah Pseudocode tidak terlalu detail dibandingkan dengan program. Isu-isu detail dalam program yang sifatnya teknis tidak dibahas di dalam Pseudocode. Pseudocode adalah kode atau tanda yang meneyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan masalah. Pseudocode sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudocode berisikan langkah-langkah untuk menyelesaikan suatu permasalahn [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman selain itu biasanya pseudocode menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma Contoh sederhana psudocode : Contoh sederhana pseudo-code Algoritma pseudocode Mencari Luas persegi panjang : Contoh : Problem:mencari bilangan terbesar dari dua bilangan yang diinputkan Contoh Algoritma: Masukkan bilangan pertama Masukkan bilangan kedua Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. Tampilkan bilangan pertama Tampilkan bilangan kedua Contoh Pseudo-code: Input a Input b If a > b then kerjakan langkah 4 print a print b Program / Pemograman Pengertian Progam / pemograman Adalah kumpulan instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program) Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa) Instruksi ( statement ) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen komponen : Input, Output, Proses, Percabangan dan Perulangan statement) komponen. Bahas Pemograman Bahasa pemograma dalah alat untuk membuat program. Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll Perbedaan: cara memberikan instruksi Persamaan: bertujuan menghasilkan output yang sama Programming dibagi dalam 5 tahap : 1.Mengerti persoalan yang akan diselesaikan 2.Menganalisa persoalan (Diagram Alur) 3.Menulis program 4.Menguji program 5.Menyimpan sebagai dokumentasi Paradigma Pemograman Pemrograman Prosedural / Terstruktur Berdasarkan urutan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan. Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah. Program dapat dibagai dibagai-bagi menjadi prosedur dan fungsi. Contoh: PASCAL dan C Pemrograman Fungsional Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program. Pemrograman Modular Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul modul-modul. Contoh: MODULA MODULA-2 atau ADA Pemrograman Berorientasi Obyek Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi Contoh: C++, Object Pascal, dan Java. Pemrograman Berorientasi Fungsi Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini. Contoh: SQL (Structured Query Language), HTML, XML dan lain lain-lain. Pemrograman Deklaratif Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma. Contoh: PROLOG Siklus Hidup Perangkat Lunak (software) Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program) Flowchart Simbol Flowchart Macam-macam Struktur Flowchart Deteksi Flowchart terstuktur atau tidak Variabel dan konstanta Logika di balik keputusa Berbagi contoh Flowchart Contoh : Simbol Flowchart Macam Struktur di flowchart Struktur Sekuensial Struktur Seleksi Struktur Pengulangan Struktur Sekuensial Algoritma merupakan runtunan (sequence) satu atau lebih instruksi/pernyataan, Setiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma Tiap aksi dikerjakan satu persatu Tiap aksi dilakukan tepat sekali, tidak ada aksi yang diulang Urutan aksi yang dilaksanakan pemrosesan sama dengan urutan aksi sebagaimana yg tertulis di dlm algoritmanya Akhir dari aksi, merupakan akhir algoritma Contoh : Contoh flowchart : Struktur Seleksi Merupakan struktur yang memilih satu alternatif di antara beberapa alternatif. Merupakan proses penyeleksian kondisi yang menyebabkan satu atau lebih statement/perintah akan diproses atau dapat juga menyebabkan satu atau lebih statement/perintah tidak diproses, tergantung dari hasil kondisi yang diseleksinya IF .......... IF …. ELSE Bentuk Umun dari If : Struktur Perulangan pada Java Perulangan Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu : While Do-while For loops Pernyataan-pernyataan di atas menciptakan loop. Loop secara berulang mengeksekusi sebarisan instruksi yang sama sampai kondisi akhir ditemui. Dengan kata lain, looping atau loop artinya mengulangi eksekusi blok program tertentu sampai tercapai kondisi untuk menghentikannya (terminasi). Setiap perulangan memiliki 4 bagian yaitu : inisialisasi (initialization), badan program (body) / statement, iterasi (iteration), dan termination. Statement While Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang sampai mencapai kondisi yang cocok. Bentuk pernyataan while, while( boolean_expression ){ statement1; statement2; . . . } Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi boolean_expression bernilai benar (true). Contoh pada kode di bawah ini: int i = 4; while ( i > 0 ){ System.out.print(i); i--; } Contoh di atas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--; dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop). Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan Anda memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi. Statement Do While Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai benar(true). Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while loop akan dieksekusi sedikitnya satu kali. Bentuk pernyataan do-while, do{ statement1; statement2; . . . }while( boolean_expression ); Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true, pernyataan di dalam do-while loop akan dieksekusi lagi. Berikut ini beberapa contoh do-while loop: Contoh 1: int x = 0; do { System.out.println(x); x++; }while (x<10); Contoh ini akan memberikan output 0123456789 pada layar. Contoh 2: //infinite loop do{ System.out.println(“hello”); } while (true); Contoh di atas akan melakukan pengulangan terus menerus yang menulis kata “hello” pada layar. Contoh 3: //one loop // statement is executed once do System.out.println(“hello”); while (false); Contoh di atas akan memberikan output hello pada layar. Statement Perulangan For Perulangan for menyediakan sarana mengulang kode dalam jumlah yang tertentu. Pengulangan ini terstruktur untuk mengulangi kode sampai tercapai batas tertentu. Berikut bentuk dasar perulangan for : for(InitializationExpression; LoopCondition; StepExpression) statement InitializationExpression, digunakan untuk inisialisasi variabel kendali perulangan. LoopCondition, membandingkan variabel kendali perulangan dengan suatu nilai batas. StepExpression, menspesifkasikan cara variabel kendali dimodifikasi sebelum iterasi berikutnya dari perulangan. Contoh: public class For1 { public static void main(String[] args) { int i; for (i = 1;i<11;i++) System.out.println(i); } } Hasil (output) dari contoh listing program di atas: 1 2 3 4 5 6 7 8 9 10 Pernyataan for-loop Bersarang Java memungkinkan loop yang disarangkan di loop yang lain. Satu loop berada di dalam loop yang lainnya. Contoh: public class Loopbersarang1{ public static void main(String[] args){ for(int i=0;i<10;i++){ for(int j=i;j<10;j++){ System.out.print("*");} System.out.println(); } } } Hasil (output) dari contoh listing program di atas: * ** * ** * ** * Contoh Kasus Buat program mencetak segitiga siku-siku menggunakan perulangan for! Output yang dihasilkan: Langkah-langkah pengerjaan: Jalankan Netbeans Anda. Lalu buat file project baru dengan memilih menu File – New Project, atau dengan menggunakan hotkey Ctrl+Shift+N. Pilih jenis project yang akan dibuat (Java – Java Application) Tentukan nama project dan lokasi penyimpanan project. Contoh: nama project: SegitigaSiku, dan nama kelas: SegitigaSiku Ketikkan kode program di bawah ini pada code editor package segitigasiku; import java.io.*; public class SegitigaSiku { public static void main(String[] args) throws Exception{ DataInputStream masukan = new DataInputStream(System.in); String strtinggi = null; System.out.println("Segitiga SIku-Siku"); System.out.print("Masukkan Tinggi : "); strtinggi = masukan.readLine(); int tinggi, i, j, k; tinggi = Integer.parseInt(strtinggi); // mengubah inputan variabel strtinggi dengan // tipe String ke variabel tinggi dengan tipe data integer /* perulangan for i melakukan perulangan dari 1 sampai sebanyak nilai variabel tinggi yang dimasukkan(perulangan baris / banyaknya baris yang akan dicetak) */ for(i=1;i<=tinggi;i++){ /* perulangan for j melakukan perulangan spasi(" ")sebanyak nilai variabel tinggi dan berkurang 1 setiap perulangannya(berpindah baris) sampai jumlah spasi(" ") yang dicetak pada baris yang bersangkutan berjumlah 1 */ for(j=tinggi;j>=i;j--){ System.out.print(" "); } /* perulangan for k melakukan perulangan bintang("*")dari 1 sampai sebanyak nilai variabel tinggi dan bertambah 1 setiap perulangannya sampai jumlah bintang("*") yang dicetak sama dengan nilai variabel tinggi yang diinput */ for(k=1;k<=i;k++){ System.out.print("*"); } // perintah berganti baris ini dilakukan setiap selesai 1x dalam melakukan perulangan j dan perulangan k System.out.print("\n"); } } } Build project tersebut dengan memilih menu Run => Build Main Project, atau dengan menggunakan hotkey F11. Jika tidak ada kesalahan (BUILD SUCCESSFUL), jalankan project tersebut dengan memilh menu Run => Run Main Project, atau dengan menggunakan hotkey F6. Operator Java merupakan pemograman yang kaya akan operator. Operator-operator tersebut dikelompokkan menjadi empat bagian besar, yaitu : operator aritmatik, operator Logika, operator pembanding, operator bitwise. 1. Operator aritmatik. Operator aritmetika adalah operator-operator yang digunakan untuk melakukan perhitungan-perhitungan matematis; seperti : penjumlahan, pengurangan, perkalian, dan pembagian Operator aritmatika incremen dan decrement Contoh : Contoh aritmatika incremen dan decrement : 2. Operator Logika Operator boolean digunakan untuk melakukan operasi terhadap dua operant yang bertipe boolean. Hasil yang diberikan juga bertipe boolean. Tabel operator logika / boolean Operator pembanding 4. Operator Assignment Operaor assignment digunakan untuk memberikan nilai pada variabel. Operator untuk assignmen adalah tanda sama dengan (=) Contoh adalah sebgai berikut: op1 = op2 ; //artinya memberi nilai op1 dengan op2 tabel operator Assignment Contoh kodingan operator Assigment Conversi Notasi Matematika ke ekspresi Java Notasi Matematika Ekspresi Java Ax2+bx + c A*x*x+b*x+C Sqrt (a*a* +b*b) -b+-Sqrl(b*b-4*a*c)/2*a Menampilkan informasi ke layar Menampilkan Informasi ke layar ditangani oleh: System.out.println(); Input Data Dapat menerima masukan dari pengguna Input data dari keyboad bisa dilkukan dengan menggunakan objek berkelas Scanner. Seperti: Scanner scan= new Scanner (System.in); Array Pengertian Array adalah sesuatu yang berbaris-bari dan berdert-deret. Dalam bahasa pemograman, array adalah variabel sejenis yang berderet-dert sedemikian rupa sehingga alamtnta saling tersambung Array satu dimensi kadang-kadang disebut sebagai array dimensi satu atau disebut vactor, karena hanya mempunyai satu arah. Gambar di atas merupakan array A yang berisi lima buah integer, yaitu 10, 20, 30, 40 dan 50. Setiap elemen array dapat diakses dengan A[index] Deklarasi Array Bentuk umum deklarasi array 1 dimensi: Tipedata nama_variabel[ ] atau tipedata[ ] nama_variabel; Setelah dilakukan deklarasi pada array. Biasanya dilakukan buat objek dari array. Contoh nama_variabel= new tipedata[] New digunakan untuk mengalokasikan memori untuk objek array sesuai dengan tipe datanya Misalnya String [ ] mhs; mhs = new String [5]; artinya: array bertipe String mengandung 5 buah elemen. Array tersebut dirujuk oleh variabel mhs. Atau variabel mhs yang bertipe data string sebanyak 5 elemen. Contoh dalam bentuk gambar ilustrasi array untuk menampung nama mahasiswa. Contoh 1 : Contoh 2 : Mengetahui Jumlah elemen Array Jumlah elemen array dapat diketahui dengan menambah variabel instan length milik objek array. Contoh kota.lenght menghasilkan elemen array yang dirujuk oleh kota. Perhatikan contoh berikut ini. Contoh : Flow Control Percabangan if merupakan sebuah blok program yang menyatakan bahwa aksi akan dijalankan jika kondisi percabangan terpenuhi, jika tidak terpenuhi maka aksi tidak akan dijalankan. Percabangan merupakan salah satu inti dari analisis kasus pada pembuatan algortima. Sebuah kasus harus dipikirkan penyelesaiannya dengan ada sebuah syarat Satu kondisi Blok program if untuk satu kondisi berarti hanya ada sebuah blok aksi yang akan dikerjakan jika syarat terpenuhi. Deklarasi percabangan if satu kondisi Pernyataan if akan menentukan sebuah pernyataan (kode blok) yang dieksekusi, jika dan hanya jika pernyataan bernilai benar. Bentuk sederhana pernyataan if berupa Notasi Algoritma Dimana exspresi boolean adalah pernyataan logika Contoh Program : If else (dua kondisi) Blok program if-else dipergunakan untuk menyatakan percabangan dua kondisi dimana ada dua blok aksi yang dipilih untuk dikerjakan jika syarat dan kondisi terpenuhi. Notasi algoritma 2 kondisi : Contoh Kasus : Buatlah suatu algoritma yang menampilkan masukan tiga buah sisi, dimana jika semua sisi sama maka akan ditampilkan. “Termasuk kubus”, jika ada sisi tidak sama akan tampil bukan kubus Penyelesaian : Buatlah algoritma yang menerima tiga buah angka masukan dan menampilkan nilai yang paling besar dari ketiga masukan. Contoh if else : Menentukan bilangan Genap Algoritma : 1.Masukan bilangan 2.If Sisa Pembagian bilangan (bilangan, 2)= 0 Maka Tampilkan Bilangan Genap Else Tampilkan Bilangan ganjil Menentukan Nilai terbesar Algortimanya : 1.Masukan (x, y) 2.Terbesar x// asumsi terbesar 3.JIKA terbesar<y Maka terbesar  y akhir jika Tampilkan (terbesar) Validasi Nilai Algoritmanya : 1.Masukan nilai 2.Jika nilai >=0 Dan nilai <= 100 MAKA tampilkan (Nilai Sah) SEBALIKNYA tampilkan (Nilai Tidak Sah) Algoritma Kabisat 1.Masukan Tahun 2.Jika sisa pembagian (tahun, 4)=! 0 Maka tampilkan (Bukan kabisat) Sebaliknya Jika sisapembagian (tahun,100)=0 MAKA tampilkan (Bukan kabisat) Sebaliknya Tampilkan (kabisat) Akhir jika Akhir Jika Contoh Kelulusan berdasarkan IP Buatlah algortima dan pemograman untuk menentukan daftar predikat kelulusan seorang sarjana berdasarkan Indeks prestasi komulatifnya? Algortimanya •1. Masukan IP •2. Jika IP>= 2 DAN IP <=2.75 Maka Tampilkan (“Lulus memuaskan”); Sebaliknya Jika IP >=2.75 DAN IP<=3.50 Tampilkan (“Lulus sangat memuaskan”); Sebaliknya Jika IP >=3.50 DAN IP<=4.00 Tampilkan (“Lulus sangat memuaskan”); Sebaliknya Tampilkan (“Data tidak valid”); akhir jika akhir jika Akhir Jika Switch - case •Pernyataan switch merupakan penyataan yang digunakan untuk menjalankan salah satu penyataan dari beberapa kemungkinan berdasarkan nilai suatu ungkapan dan nilai penyeleksi. Pernyataan ini biasanya digunakan untuk menyederhanakan kompleksitas penyataan if yang banyak mengandung kondisi Contoh : Algortimanya •1. Masukkan kode bulan •2. Switch kode bulan case 1 maka namaBulan=“Januari”; case 2 maka namaBulan = “Februari”; case 3 maka namaBulan =“Maret”; case 4 maka namaBulan=“April”; case 10 maka namaBulan = “Oktober”; case 11 maka namaBulan =“November”; case 12 maka namaBulan = “Desember”; Lainnya namaBulan=“Salah kode bulan” Akhir switch case 5 maka namaBulan = “Mei”; case 6 maka namaBulan =“Juni”; case 7 maka namaBulan = “Juli”; case 8 maka namaBulan =“Agustus”; case 9 maka namaBulan =“September”;