PROSES PEMBUATAN PROGRAM KOMPUTER DESKRIPSI PERMASALAHAN TESTING DOCUMENTING IDENTIFIKASI/ANALISA PERMASALAHAN IMPLEMENTASI PERENCANAAN DEBUGING DESAIN PROGRAM CODING
Definisi Algoritma ALGORITMA adalah suatu urutan langkah-langkah (Steps) yang disusun secara logis untuk menyelesaikan masalah dengan menggunakan komputer, dengan criteria sebagai berikut : Setiap langkah/step harus jelas dan pasti (Definite) Diperbolehkan tanpa ada input tetapi minimal harus ada 1 output. Jumlah langkah harus berhingga atau dengan kata lain harus ada stopping criteria.
Definisi Algoritma Urutan langkah-langkah untuk memecahkan masalah Urutan logis pengambilan putusan untuk memecahkan masalah Urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
Definisi Algoritma Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan ditulis secara sistematis untuk menyelesaikan suatu permasalahan PERMASALAHAN ALGORITMA SOLUSI
Definisi Algoritma Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain. tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Algoritma Pemrograman Program Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).
Tahap Penyelesaian Masalah Model analisis Tahap Penyelesaian Masalah Algoritma analisis Program analisis Eksekusi Data Hasil
Analisis Suatu Algoritma Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat dilihat dari: Waktu Tempuh dari Suatu Algoritma Jumlah memori yang digunakan Hal-hal yang dapat mempengaruhi waktu tempuh adalah : Banyaknya langkah. Besar dan jenis input data. Jenis Operasi. Komputer dan kompilator
Sifat - Sifat Algoritma Aspek Penting Algoritma : Finite algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Definite setiap langkah didefinisikan secara tepat, tidak boleh membingungkan (ambigu) Input sebuah algoritma memiliki nol/lebih input sebelum dijalankan Output algoritma memiliki satu/lebih output, yang biasanya bergantung kepada input Effective setiap algoritma diharapkan memiliki sifat efektif. (setiap langkah harus sederhana dan sehingga dapat dikerjakan dalam waktu yang masuk akal)
Contoh : jika pembayaran tunai diberi diskon 10% Langkah-langkah yang membentuk suatu algoritma dapat dibagi menjadi 3 kelompok proses: 1. Sequence Process instruksi dikerjakan secara berurutan satu persatu dimulai dari langkah pertama sampai terakhir. 2. Selection Process instruksi pemilihan proses (percabangan), sehingga apabila memenuhi persyaratan tertentu maka instruksi akan dikerjakan. Contoh : jika pembayaran tunai diberi diskon 10% Jika dilakukan secara kredit maka diskon 0 %. (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi. 3. Iteration Process suatu instruksi yang dikerjakan berulang-ulang selama beberapa kali selama masih memenuhi suatu kondisi.
STRUKTUR DASAR ALGORITMA (Cont’d) Sequence Selection Looping Start Input Proses Output Stop
PENYAJIAN ALGORITMA DESKRIPTIF FLOWCHART PSEUDOCODE
1. DESKRIPTIF 1. inputkan kurs dolar PENYAJIAN ALGORITMA Penyajian algoritma dengan menggunakan bahasa sehari-hari. Disajikan dengan menggunakan point-point yang jelas dan tidak ambigu Contoh 1. inputkan kurs dolar 2. inputkan rupiah yang di tukar 3. hitung dolar yang didapatkan dolar = rupiahDiTukar div kursDolar 4. hitung kembalian kembalian = rupiahDiTukar mod kursDolar 5. tampilkan dolar dan kembalian
PENYAJIAN ALGORITMA (Cont’d) 2. FLOWCHART Penyajian algoritma dengan menggunakan simbol-simbol dengan arti tertentu. Simbol yang digunakan adalah : SIMBOL KETERANGAN TERMINATOR Terminator digunakan sebagai permulaan dan akhir flowchart. Terminator sebagai awal flowchart , didalamnya bertuliskan START atau MULAI. Sedangkan yang berada di akhir flowchart bertuliskan STOP atau SELESAI. START STOP AWAL AKHIR
PENYAJIAN ALGORITMA (Cont’d) SIMBOL KETERANGAN INPUT / OUTPUT Jajaran genjang digunakan untuk operasi Input/Output. Ketika digunakan untuk operasi Input, jajaran genjang bertuliskan IN(<Variabel>), sedang untuk operasi Output bertuliskan OUT(<Variabel>). IN (x) OUT (y) PROSES Persegi panjang digunakan sebagai simbol untuk pemrosesan data, baik operasi aritmatika maupun logika. Rata = totNil/2 SELECTION Belah ketupat digunakan untuk merepresentasikan operasi SELECTION. Yaitu operasi yang mempunyai sebuah kondisi atau lebih sebelum melanjutkan operasi berikutnya.
PENYAJIAN ALGORITMA (Cont’d) SIMBOL KETERANGAN ON PAGE CONNECTOR On Page Connector digunakan sebagai penghubung flowchart yang terputus dalam satu halaman A OFF PAGE CONNECTOR Off Page Connector digunakan sebagai penghubung flowchart yang terputus dan bersambung ke halaman yang lain A FLOW CONTROL Flow Control digunakan untuk menunjukkan arah aliran program. SUB PROGRAM Persegi panjang dengan garis ganda pada kedua sisinya digunakan untuk merepresentasikan SUB PROGRAM
PENYAJIAN ALGORITMA (Cont’d) Contoh START IN(kursDolar) IN(rpDiTukar) Dolar = rpDiTukar / kurDolar Kembalian = rpDitukar \ kursDolar OUT (dolar) OUT (kembalian) STOP
PENYAJIAN ALGORITMA (Cont’d) 3. PSEUDOCODE Penyajian algoritma yang mirip dengan kode-kode bahasa pemrograman tertentu. Struktur Pseudocode Judul Narasi Kamus Algoritma
PENYAJIAN ALGORITMA (Cont’d) JUDUL Menjelaskan fungsionalitas atau kegunaan dari program, biasanya diawali dengan kata program Contoh Program mencari nilai rata-rata Program konversi rupiah ke dolar
PENYAJIAN ALGORITMA (Cont’d) NARASI Berisi input dan output dari program disertai spesifikasi data yang didapatkan dari IDENTIFIKASI dan ANALISIS pada bagian sebelumnya. Ditulis dalam bentuk komentar. Contoh // Input : nilai matematika,nilai bhs inggris,nilai bhs // indonesia, bilangan bulat non negatif dengan rentang // antara 0 – 100 // Output : rata-rata, bilangan bulat non negatif dengan // rentang antara 0 – 100
PENYAJIAN ALGORITMA (Cont’d) KAMUS Mupakan deklarasi semua variabel yang akan dgunakan pada program Contoh byte nilIng float rata-Rata
PENYAJIAN ALGORITMA (Cont’d) Mupakan tempat menulis kode program dengan struktur yang mirip dengan bahasa pemrograman terstruktur. Contoh { IN(nilMat) IN(nilIng) IN(nilIndo) totNil nilMat + nilIng + nilIndo rata totNil / 3 OUT(rata) }
Tugas I Buatlah sebuah contoh permasalahan ke dalam Algoritma ( Diskriptif, Flowchart, dan Pseudocode) Pastinya dengan Adanya sebuah Input, Proses dan Output pada kasusnya. Dikumpulkan Rabu ,26 Oktober 2011. Dibuat secara jilid.
Contoh: (1) Sebuah prosedur ketika akan mengirimkan surat kepada teman: Tulis surat pada secarik kertas surat Ambil sampul surat atau amplop Masukkan surat ke dalam amplop Tutup amplop surat dengan lem perekat Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat. Tempelkan perangko pada amplop surat Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.
Contoh: (2) Sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yg di Input : Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A Dinyatakan Nilai B adalah 0 Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B Jika Nilai B sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai C, lalu stop. Jika tidak, maka Nilai B akan bertambah 1 Kembali ke langkah pada No. 3
Latihan 1 Buatlah algoritma dengan menggunakan bahasa natural (bahasa sehari-hari / pseudocode ) 1. Buat langkah untuk melakukan penggantian ban mobil yang pecah ( tanpa ada masalah / syarat ). 2. Dari Soal diatas dikembangkan kembali, mis : bila ban serep kempes atau ban serep bocor.
Latihan 2 Buatlah algoritma (dengan bahasa natural): 1. Menampilkan bilangan ganjil dari 1 sampai dengan 10. 2. Menghitung jumlah deret : 1 + 2 + 3 + 4 + .... + N N = jumlah maksimum suatu nilai yang dimasukkan.