Algoritma adalah langkah – langkah logis tertentu untuk menyelesaikan suatu ....
AP- Algoritma – TEAM Algoritma. Halaman: 9. Tugas Teori Algoritma. SOAL :.
BAB 1- PENDAHULUAN Algoritma Algoritma adalah langkah – langkah logis tertentu untuk menyelesaikan suatu masalah. Guna algoritma adalah untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing.
Ciri – ciri algoritma: 1. Ada input. 2. Ada proses. 3. Ada output. 4. Memiliki instruksi instruksi yang jelas dan tidak ambigu. 5. Harus mempunyai stopping role.
Sifat algoritma : 1. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman. 2. Tidak tergantung pada suatu bahasa pemrograman. 3. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari. Contoh kasus dalam kehidupan sehari-hari: o Algoritma memasak mie instan. Rebus air hingga mendidih. Masukkan mie instan ke dalam air mendidih tersebut. Tunggu beberapa hingga mie terlihat matang. Jika mie sudah dirasa matang, angkat dan tiriskan. Campurkan bumbu-bumbu, dan aduk hingga rata. o Algoritma registrasi semester baru di UKDW. Menyerahkan KTM ke operator. Menunggu untuk dipanggil operator. Jika sudah dipanggil, lakukan konfirmasi keberadaan. Jika konfirmasi sudah dilakukan, Login dengan NIM dan password. Pilih mata kuliah. Jika sudah selesai, bisa cetak invoice. o Algoritma menghitung luas persegi panjang. Masukkan panjang Masukkan lebar Nilai luas adalah panjang * lebar Tampilkan luas o Algoritma menghitung sisi miring segitiga siku - siku. Masukkan nilai sisi a
AP- Algoritma – TEAM Algoritma
Halaman: 1
Masukkan nilai sisi b Hitung nilai c2=a2+b2 Hitung nilai c Tampilkan nilai c Jadi algoritma adalah jembatan untuk mempermudah pemahaman alur kerja suatu proses.
Pseudo-code
Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma. Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Beda antara algoritma dan pseudo-code Contoh algoritma mencari luas persegi panjang : Algoritma Pseudo-code Masukkan panjang Masukkan lebar Nilai luas adalah panjang x lebar Tampilkan luas
Input panjang Input lebar Luas 2 THEN A ← A x 3 IF A > B THEN PRINT A ELSE PRINT B DARI MATKUL = 0 SAMPAI MATKUL Proses -> Output. Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut : o Input (scanf) o Percabangan (if, switch) o Perulangan (while, for, for each, loop) o Output (printf)
Lambang-lambang flowchart :
KETERANGAN
LAMBANG
Mulai / Selesai (Terminator)
Aliran Data Input / Output
Proses
Percabangan (Decision)
AP- Algoritma – TEAM Algoritma
Halaman: 3
Pemberian nilai awal suatu variabel (Preparation)
Memangggil prosedur / fungsi (Call)
Connector (di halaman yang sama)
Connector (di halaman lain)
Sequence process
Perulangan syarat
Bagian yang diulang
Pencacah
Page 5
AP- Algoritma – TEAM Algoritma
Halaman: 4
Contoh flowchart : Problem menghitung luas segitiga Algoritma : Masukkan alas (a) Masukkan tinggi (t) Hitung luas (L), yaitu hasil 0.5 * alas * tinggi Cetak luas (L)
Mulai
Masukkan alas (a)
Masukan tinggi(t)
L=(a x t)/2
Cetak Luas (L)
Selesai
AP- Algoritma – TEAM Algoritma
Halaman: 5
Variabel dan Konstanta Merupakan pernyataan yang perlu dideklarasikan. Konstanta Nilai tetap, jika suatu nama digunakan sebagai konstanta maka tidak dapat digunakan untuk nilai yang lain. Variabel Merupakan suatu peubah yang memiliki nilai yang bisa diubah-ubah. A. Mendeklarasikan Konstanta Untuk mendeklarasikan konstanta digunakan perintah CONST Format: CONST C ← N; Keterangan: C = Nama Konstanta N = Nilai Contoh: Untuk mendeklarasikan pi menjadi 3.14 sehingga kita tidak perlu memanggil 3.14 berulang-ulang cukup memanggil pi saja Contoh o CONST PHI← 3.14;
B. Mendeklarasikan Variabel Untuk mendeklaraskan variabel digunakan kata VAR Format VAR V:TIPEDATA; Keterangan: V=nama variabel TIPEDATA=Tipe data C. Tipe Data Numerik o Byte (0-255) o Integer (-35000 s.d 35000) o Longint (-128000 s.d 128000) o Real (pecahan) Karakter o Char (1 huruf) o String (lebih dari 1 huruf) Boolean (Ya / Tidak, True/False) D. Memberikan Nilai Kepada Variabel Dilakukan pada saat program sedang berjalan (bagian pernyataan) Format o untuk variabel V dengan nilai N o V← N; Misalkan memberikan nilai 5 ke variabel A A← 5;
AP- Algoritma – TEAM Algoritma
Halaman: 6
Di bawah ini langkah-langkah sistematis dalam pembuatan suatu program, sebagai berikut: 1. Mendefinisikan permasalahan 2. Membuat rumusan untuk pemecahan masalah 3. Implementasi 4. Menguji coba dan membuat dokumentasi 1. Mendefinisikan Permasalahan Yang dimaksud mendefinisikan permasalahan yaitu kita harus mengerti dengan baik mengenai permasalahan apa yang ingin diselesaikan. Contoh: a. Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran. b. Permasalahan menampilkan bilangan dengan kelipatan tertentu dari 0 hingga range tertentu. 2. Membuat Rumusan untuk Pemecahan Masalah Setelah kita mengetahui dengan baik mengenai permasalahan yang ingin diselesaikan, langkah selanjutnya yaitu membuat rumusan algoritma untuk memecahkan masalah. Rumusan tersebut dapat disusun dalam bentuk pseudocode ataupun flowchart. Contoh: a. Untuk contoh menghitung luas lingkaran
3. Implementasi Apabila langkah 1 dan 2 belum melibatkan bahasa pemrograman, maka langkah ketiga ini telah mulai melibatkan bahasa pemrograman yang ingin digunakan. Di dalam mengimplementasi algoritma kita akan menentukan bahasa pemrograman apa yang cocok atau ingin kita gunakan.
AP- Algoritma – TEAM Algoritma
Halaman: 7
Misalnya Pascal atau Delphi, Basic, dan sebagainya. Implementasi tersebut tentunya mengacu pada algoritma yang telah disusun pada langkah sebelumnya, baik itu variable-variable yang digunakan maupun alur program. Jika program diimplementasikan dengan bahasa pemrograman yang bersifat visual dan event driven (melibatkan desain form dan event-event) seperti Visual Basic atau Delphi, maka perlu pula diperhatikan langkah-langkah berikut: 1. Menambahkan obyek-obyek control pada Form seperti EditBox, ComboBox, Button, dll 2. Mengatur posisi control, properties kontrol (seperti caption, warna, jenis tulisan, dan 3. sebagainya), serta urutan fokus obyek-obyek yang ada pada form. 4. Pemberian nama obyek kontrol yang sesuai. Misalnya untuk input diameter diberi nama txtDiameter. 5. Menentukan event-event kontrol yang berpengaruh pada fungsionalitas program 6. Mulai koding 4. Menguji Coba dan Membuat Dokumentasi Setelah selesai implementasi, langkah selanjutnya yaitu menguji program tersebut apakah telah berjalan sesuai dengan tujuannya untuk memberi solusi dari suatu permasalahan. Apabila program belum berjalan dengan baik, maka kita perlu mengkaji kembali rumusan/algoritma yang telah dibuat pada langkah kedua, serta memperbaiki implementasi program yang mungkin keliru. Untuk memudahkan dalam memeriksa kesalahan suatu program ataupun memahami jalannya program, kita juga perlu membuat dokumentasi dari program yang dibuat. Dokumentasi tersebut berisi informasi mulai dari tujuan/fungsi program, algoritma program, hingga cara menggunakannya
Operator
Operator relasional melambangkan hubungan antara dua entitas Entitas tersebut bisa berupa variabel, konstanta maupun fungsi Nilai dari hubungan tersebut adalah TRUE atau FALSE Ada beberapa operator relasional : > : lebih besar >= : lebih besar atau sama dengan < : lebih kecil 0 maka ada dua akar : 5. Menghitung usia berdasarkan tahun lahir (tl) dan tahun sekarang (ts) 6. Menghitung rata-rata 5 bilangan 7. Mengkonversi nilai angka ke huruf Nilai angka 80.0 65.0 55.0 45.0 0 -
Nilai huruf 100 A 79.9 B 64.9 C 54.9 D 44.9 E
8. Menentukan bilangan prima
AP- Algoritma – TEAM Algoritma
Halaman: 10
Sesi 1 - 2
Algoritma dan Blok Program melalui pendekatan bahasa Variabel dan konstanta. Prepocessor directive, comments, cout dan cin. Hierarchical Input Process Output.
Materi Praktikum : C++.
Untuk membuat suatu program ada baiknya kita mengenal terlebih dahulu apa yang disebut dengan prepocessor directive. Propocessor ditandai dengan adanya awalan #. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Setiap program C++ mempunyai bentuk seperti di bawah , yaitu: #prepocessor directive main() { // Batang Tubuh Program Utama } Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program utama berada didalam fungsi main(). Berarti dalam setiap pembuatan program utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi main(). Jangan lupa bahwa C++ bersifat case sensitive, sehingga, nama hallo dan Hallo berbeda artinya.
CARA PENULISAN
Komentar Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu: Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih dari satu baris */ Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )
Semicolon Tanda semicolon “;” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. Baris yang diawali dengan tanda #, seperti #include
AP- Algoritma – TEAM Algoritma
Halaman: 11
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk pernyataan, tetapi merupakan prepocessor directive MASUKAN DAN KELUARAN DASAR Pada C++ terdapat 2 jenis I/O dasar, yaitu: 1. cout (character out), standard keluaran 2. cin (character in), standard masukan Untuk dapat menggunakan keyword diatas, maka harus ditambahkan #include pada prapocessor directive. Contoh : #include main() { char nama[100]; // Dekalarasi variable nama coutnama; // Meminta user untuk menginisialisasi variable nama cout