ALGORITMA PEMROGRAMAN 2C(IT-045202:S10-TI)
Pertemuan 1
AHMAD HIDAYAT
1
Games Logika 2
Ada 3 buah wadah terdiri dari wadah A, wadah B dan wadah C. wadah A sudahmenampung 8 liter air dan masing-masing wadah mempunyai ukuran sbb:
wadah A mempunyai kapasitas menampung 8 liter airwadah B mempunyai kapasitas menampung 5 liter airWadah C mempunyai kapasitas menampung 3 liter air
Pertanyaan :
Bagaimana langkah dan berapa cara yang dibutuhkan agar wadah B terisi 4 liter air
dengan alat ukurnya hanya wadah A, B dan C ?
Jawaban• 8 5 3
A B C
• 8 0 0
• 0 5 3
• 3 5 0
• 3 2 3
• 6 2 0
• 1 5 2
• 1 4 3
3
Games Logika 2
Ayah Mary punya lima anak: 1. Nana, 2. Nene,
3. Nini, 4. Nono. Siapa nama anak kelima?
• Jawaban:?
• Apa anda menjawab Nunu?
• BUKAN! Tentu saja bukan. Anak kelima namanya Mary.
• Gak Percaya? Baca lagi pertanyaan nya!
4
Apa Itu? 5
Komputer Algoritma Program Komputer
Fokus utama program Komputer secara umum 6
Menyusun sebuah program
Untuk menyusun sebuah program yang besar dan kompleks,pemrogram membutuhkan tahapan penyusunan yang sistematis danterpadu, yaitu:
1. Definisi Masalah
2. Analisis Kebutuhan
3. Penyusunan Algoritma
4. Pengkodean/Pemrograman
5. Testing dan Debugging
6. Pemeliharaan
7. Dokumentasi
7
Algoritma 8
• Algoritma adalah kunci dari bidang ilmu komputer, dan pada dasarnya
setiap hari kita melakukan aktivitas algoritma. Kata algoritma berasal dari
sebutan Algorizm. (Abu Abdullah Muhammad Ibn Musa Al Khwarizmi, ahli
matematika Uzbekistan)
• Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan
masalah logika atau matematika
• Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang
digunakan untuk memecahkan suatu permasalahan.
• Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis dan logis.
• Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan
masalah.
Pembuatan algoritma harus selalu dikaitkan dengan
• Kebenaran algoritma
• Kompleksitas (lama dan jumlah waktu proses danpenggunaan memori)
9
Kriteria Algoritma yang baik
1. Tepat, benar, sederhana, sesuai standar
2. Logis, Terstruktur dan sistematisRangkaian proses yang berisi langkah-langkah dari suatu algoritmayang akan diproses harus ditetapkan dengan pasti, tidak berbelit-belit
3. Semua operasi terdefinisi
Batasan dari input dan output Input harus sesuai dengan jenisalgoritma yang bersangkutan dan harus menghasilkan output yang pasti.
4. Semua proses harus berakhir setelah sejumlah langkah dilakukan
5. Efektivitas & efisien
10
Algoritma yang baik
• “Suatu algoritma harus menghasilkan output yang tepatguna (efektif) dalam waktu yang relatif singkat danpenggunaan memori yang relatif sedikit (efisien) denganlangkah yang berhingga dan prosesnya berakhir baikdalam keadaaan diperoleh suatu solusi ataupun tidakadanya solusi”
11
Proses Penyelesaian Masalah 12
Proses Penyelesaian Masalah
13
Teknik Pemecahan Masalah
1. Teknik Top-Down
2. Teknik Bottom-Up
14
Teknik Pemecahan Masalah
1. Teknik Top-Down
• Masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalahyang lebih kecil.
• Dari kelompok masalah yang kecil tersebut di analisis. Apabiladimungkinkan maka masalah tersebut akan dipilah lagi menjadi sub bagian dan setelah itu mulai disusun langkah-langkah untukmenyelesaikan secara detail.
• Layer Aplikasi ke layer hardware
Contoh :
• Program aplikasi error karena harus update
• Program aplikasi error karena, kehilangan runtime-program
• Sistem operasi tidak berjalan normal, karena kehilangan file Registri
15
Teknik Pemecahan Masalah
2. Teknik Bottom-Up
• Pada teknik ini, bila ada masalah kompleks, maka pemecahan masalahdilakukan dengan menggabungkan prosedur-prosedur yang ada menjadisatu kesatuan program guna menyelesaikan masalah tersebut.
• Merupakan teknik pemecahan masalah yang mulai ditinggalkan, karenasulit untuk melakukan standarisasi proses dari prosedur-prosedur yang sudah terbentuk yang akan digabungkan.
• Layer Fisik hingga Layer Aplikasi, metode ini cocok untuk permasalahankomputer yang berkaitan dengan hardware.
Contoh :
• Komputer tidak menyala saat tombol power ditekan
• Printer tidak menyala saat tombol power ditekan
• Hard Disk tidak menampilkan Booting saat Komputer dinyalakan
16
CONTOH Algoritma
Algoritma ketika ingin mengirimkan surat kepada teman, yaitu :
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat
3. Masukkan surat ke dalam sampul
4. Tutup sampul surat menggunakan perekat
5. Tempel perangko pada surat
6. Bawa surat ke kantor pos untuk di kirimkan
CONTOH Algoritma
Contoh algoritma untuk menghitung luas lingkaran:
1. Masukan r (=jari-jari lingkaran)
2. Tentukan phi (=3.14)
3. L= Phi*r*r
4. Tulis L
Penyajian Algoritma
• Teknik tulisan
English Structure
Pseudocode
• Teknik Gambar
Metode structure chart,
Hierarchy plus input-process-output
Flowchart
Nassi Schneiderman chart
19
Penyajian Algoritma
English Structure:
• Menggunakan bahasa manusia (Inggris/Indonesia)
• Menggambarkan suatu algoritma yang akandikomunikasikan kepada pemakai sistem
Contoh :
• Hitung keliling persegi panjang dengan menggunakarumus 2 x (panjang + lebar)
20
Penyajian Algoritma
Pseudocode
• Pseudo= imitasi atau mirip / menyerupai
• Code=program
• Kode yang mirip dengan kode pemrograman yang sebenarnya
• Menggambarkan Algoritma yang akan dikomunikasikan kepadaprogrammer
• Lebih rinci dari English Structure (mis: dalam menyatakan tipe datayang digunakan)
Contoh : keliling ← 2 x (panjang + lebar)
21
Penyajian Algoritma
Structure Chart (bagan terstruktur)
• Digunakan untuk mendefinisikan dan mengilustrasikan organisasidari system secara berjenjang
• Berbentuk modul dan submodul
• Menunjukkan hubungan elemen data dan elemen control sertahubungan antar modul
Contoh : Flowchart
22
Aturan Penulisan Teks Algoritma
Setiap algoritma akan selalu terdiri dari :
• Judul (header)
• Deklarasi (kamus)
• Deskripsi Algoritma
23
Aturan Penulisan Teks Algoritma
JUDUL ALGORITMA Algoritma NAMA ALGORITMA
• {Penjelasan tentang algoritma, berisi uraian singkat carakerja program, kondisi awal dan akhir dari program} spesifikasi algoritma
24
Aturan Penulisan Teks Algoritma
DEKLARASI
• Semua nama yang dipakai, meliputi nama file, nama variable, nama konstanta, nama prosedur serta nama fungsi
DESKRIPSI
• Semua langkah/aksi algoritma
25
Contoh
• 1). Kepala algoritma: Algoritma Luas_Lingkaran
• { Menghitung luas lingkaran dengan ukuran jari-jaritertentu .Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke pirantikeluaran }
26
Contoh 27
2) Deklarasi algoritma:
• DEKLARASI { nama konstanta }
• const PHI = 3.14; { Nilai phi = 22/7 }
• { nama peubah } var R : real; { input jejari lingkaran bilangan riil }l_Lingkaran : real; { luas lingkaran bilangan riil }
• { nama sub program } procedure TUKAR (input/output A:integer, input/output B:integer)
• {Mempertukankan nilai A dan B.Parameter A dan B sudah terdefinisinilainya.Setelah pertukaran, A berisi nilai B dan B berisi nilai A }
Contoh 28
3) Deskripsi
• { Baca data jejari lingkaran R.Jika R <= 0 tulis pesan data salah, selain itu hitung luas ingkaran. Tampilkan luaslingkaran. } baca(R); jika R <= 0 then tulis ("Data salah !") selain itul_Lingkaran = PHI x R x R; tulis(l_Lingkaran); algoritma:
Bahasa Pemrograman
• Komputer mengerjakan transformasi data berdasarkankumpulan perintah - program yang telah dibuat olehpemrogram.
• Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna.
• Bahasa pemrograman merupakan notasi untukmemberikan secara tepat program komputer.
29
Generasi bahasa pemrograman
• Generasi I: machine language • Generasi II: assembly language : Asssembler• Generasi III: high-level programming language: C, PASCAL, dsb. • Generasi IV: 4 GL (fourth-generation language): SQL
30
Jenis Bahasa Pemrograman 31
TERIMA KASIH
• Sekian
32