Pengenalan Algoritma
Mengetahui Pengantar dan Sejarah
Mengetahui Algoritma dan Data
Memahami Bahasa Pemrograman dan Paradigma
Memahami Metode dan Correctness Algoritma
Mengetahui Efisiensi dari Algoritma
Memahami Ketidakefisienan dan Intractability
Memahami Noncomputability dan Undecidability
Mengetahui Algoritma yang Universal dan Kekuatannya
Memahami Parallelism
Mata pelajaran Pemrograman Dasar adalah mata pelajaran yang ditempuh oleh siswa kelas X SMK jurusan Rekayasa Perangkat Lunak. Pada Pertemuan 2 mata pelajaran Pemrograman Dasar ini membahas mengenai cara penulisan dan struktur algoritma
Mata pelajaran Pemrograman Dasar adalah mata pelajaran yang ditempuh oleh siswa kelas X SMK jurusan Rekayasa Perangkat Lunak. Pada Pertemuan 2 mata pelajaran Pemrograman Dasar ini membahas mengenai cara penulisan dan struktur algoritma
Kuliah ini mengajarkan tetang konsep dasar pemrograman. Pada kuliah ini akan dijelaskan dasar-dasar pemrograman meliputi algoritma, flow chart dan pseudo code. Selanjutnya masuk ke implementasi dengan pemrograman, dijelaskan materi-materi dasar pembuatan program meliputi : dasar-dasar pemrograman, penyeleksian kondisi, perulangan, fungsi, array, string, pointer dan struktur. Bahasa pemrograman yang digunakan adalah bahasa C/C++
Pertemuan 1 : Kontrak perkuliahan, Penjelasan relevansi matakuliah, Mengukur pengetahuan awal mahasiswa, Pembagian Tugas/Praktikum.
Pertemuan 2 : Pengenalan Lambang algoritma, Fungsi- Fungsi Lambang
Pertemuan 3 : Flowchart System dan Flowchart Program, Membuat Flowchart
Pertemuan 4 : Jenis-jenis perulangan, contoh program perulangan, membuat Latihan perulangan
Pertemuan 5 : Jenis-jenis decision, contoh penggunaan If-then, penggunaan If-then-else
Pertemuan 6 : Penggunaan While, For, Repeat
Pertemuan 7 : Penggunaan Case, Do-Case, Sellect Case
Pertemuan 8 : UTS
Pertemuan 9 : Instal Bahasa pemrograman Pascal, Mathlab dan Bahasa pemrograman Java
Pertemuan 10 : Menyusun kebenaran program dasar, tahapan kompilasi program, menguji kebenaran program
Pertemuan 11 : Statement perulagan/loping, contoh perulangan pada suatu kasus
Pertemuan 12 : Statetment dasar decision, penerapan decision dalam
pemrograman
Pertemuan 13 : Kasusu hitungan dasar matematika, kasus hitungan dasar
Fisika dan kasus hitungan dasar secara umum
Pertemuan 14 : Suhu dalam Celcius, Reamur, Fahrenheit, dan Kalvin, contohcontoh program koversi
Pertemuan 15 : Merancang menu aplikasi, penulisa coding, pemanggilan Form
Pertemuan 16 : UAS
Sejarah OOP :
Tahun 1960, ditemukan suatu pembuatan program yang terstuktur (structured programming). Metode ini dikembangkan dari bahasa C dan Pascal.
Dengan program yang terstruktur inilah untuk pertama kalinya kita mampu menulis program yang begitu sulit dengan lebih mudah.
Definisi OOP :
suatu metode dalam pembuatan program
bertujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat.
Apa Itu Efisiensi Algoritma ?
Algoritma yang dapat dikatakan sebagai algoritma yang efisien, merupakan algoritma yang dimana pada saat pemrosesan algoritma tersebut tidak memakan banyak waktu dan juga ditak memakan banyak memori dalam pemrosesannya.
Seperti yang sudah di jelaskan, efisiensi algoritma umumnya di tinjau dari 2 hal, yaitu efisiensi terhadap waktu, dan efisiensi terhadap memori.
Walaupun algoritma yang memberikan keluaran yang benar (paling mendekati kenyataan), tetapi jika harus menunggu berjam-jam atau mungkin berhari-hari untuk mendapatkan outputannya (dalam hal ini yang dimaksudkan adalah efisiensi dalam waktu), algoritma tersebut biasanya tidak akan dipakai. Kebanyakan orang lebih menginignkan algoritma yang memiliki pengeluaran atau hasil outputan yang lebih cepat. Waktu yang diperlukan (running time) oleh sebuah algoritma cenderung tergantung pada jumlah input yang diproses.
Running time dari sebuah algoritma adalah fungsi dari jumlah inputnya. Running time dari suatu algoritma berbeda-beda bergantung pada input yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya input yang diberikan.
Array
KELEBIHAN
Struktur Data yang paling mudah
Tipe Data yang mampu menampung lebih dari satu data
Memori ekonomis, bila semua elemen terisi
Waktu akses sama ke setiap elemen
Dapat diakses secara random
KEKURANGAN
Boros memori jika banyak elemen yang tidak digunakan
Struktur Data yang Statis
Fungsi rekursif --> suatu fungsi yang memanggil dirinya sendiri
Fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri
Sangat berguna bila diimplementasikan untuk pekerjaan pengurutan data atau menghitung nilai factorial suatu bilangan.
Array
struktur data yang mengandung type data yang mempunyai type sama.
Berupa sekelompok memori yang berhubungan (contiguous).
Array mempunyai nama dan type yang sama.
Untuk merujuk lokasi tertentu atau elemen dalam array nama array + indeks
Array
struktur data yang mengandung type data yang mempunyai type sama.
Berupa sekelompok memori yang berhubungan (contiguous).
Array mempunyai nama dan type yang sama.
Untuk merujuk lokasi tertentu atau elemen dalam array nama array + indeks
Sebuah program biasanya tidak terbatas hanya pada intruksi yang terurut saja, tetapi juga memungkinkan terjadinya percabangan, perulangan dan pengambilan keputusan. Untuk mengatasi kebutuhan itu C++ menyediakan struktur kontrol yang dapat menangani hal-hal tersebut.
Identifier
Di dalam program, selalu dibutuhkan suatu tempat untuk menyimpan nilai yang disebut identifier.
Identifier dibagi menjadi 2 jenis, yaitu:
Variabel
Konstanta
2. Materi
Pengenalan Algoritma
Mengetahui Pengantar dan Sejarah
Mengetahui Algoritma dan Data
Memahami Bahasa Pemrograman dan Paradigma
Memahami Metode dan Correctness Algoritma
Mengetahui Efisiensi dari Algoritma
Memahami Ketidakefisienan dan Intractability
Memahami Noncomputability dan Undecidability
Mengetahui Algoritma yang Universal dan Kekuatannya
Memahami Parallelism
4. AnalogiAnalogi
• Jika seseorang ingin mengirim surat kepadaJika seseorang ingin mengirim surat kepada
kenalannya di tempat lain, langkah yang haruskenalannya di tempat lain, langkah yang harus
dilakukan:dilakukan:
LangkahLangkah
Menulis suratMenulis surat
Surat dimasukkan ke dalam amplop tertutupSurat dimasukkan ke dalam amplop tertutup
Amplop diberi alamat penerima dan pengirimAmplop diberi alamat penerima dan pengirim
Amplop ditempeli perangko secukupnya.Amplop ditempeli perangko secukupnya.
Pergi ke Kantor Pos terdekat untukPergi ke Kantor Pos terdekat untuk
mengirimkannyamengirimkannya
6. APA ITU Algoritma ?
• Definisi
• Urutan langkah-langkah untuk memecahkan masalah
• Kamus Besar Bahasa Indonesia:
Algoritma adalah urutan logis pengambilan putusan untuk
pemecahan masalah
• Algoritma diwujudkan dalam bentuk Program Komputer
• Berasal dari 'Algoritmi', bentuk Latin dari al-Khwarizmi,
matematikawan, ahli astronomi, dan ahli geografi dari
Persia, kata ini mengacu pada aturan-aturan melakukan
aritmatika menggunakan bilangan Hindu-Arab
7. Mengapa Algoritma ?Mengapa Algoritma ?
• Pembuatan atau penulisan algoritma tidak tergantung
pada bahasa pemrograman manapun.
• Notasi algoritma dapat diterjemahkan ke dalam berbagai
bahasa pemrograman.
• Apapun bahasa pemrogramannya, output yang akan
dikeluarkan sama karena algoritmanya sama.
8. Istilah
• Program berisi urutan langkah-langkah penyelesaian
masalah.
• Program ditulis dengan menggunakan bahasa
pemrograman.
• Orang yang membuat program disebut pemrogram
(programmer).
• Kegiatan merancang dan menulis program disebut
pemrograman.
9. Ciri Algoritma
1. Finiteness
• Jumlah langkah dalam algoritma harus terbatas
1. Definiteness
• Setiap langkah harus didefinisikan secara tepat, tidak
boleh membingungkan (ambiguous)
1. Input
• Sebuah algoritma memiliki nol atau lebih input yang
diberikan kepada algoritma sebelum dijalankan
1. Output
• Sebuah algoritma memiliki satu atau lebih output, yang
biasanya bergantung kepada input
1. Effectiveness
• Setiap algoritma diharapkan miliki sifat efektif
10. Belajar Memprogram
vs
Belajar Bahasa Pemrogaman
• Belajar memprogram
• Belajar tentang metodologi pemecahan masalah
• Menuangkannya dalam suatu notasi tertentu yang mudah dibaca
dan dipahami
• Belajar bahasa pemrograman
• Belajar memakai suatu bahasa yaitu aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara pengoperasian
compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk
membuat program
11. Bahasa Pemrograman
Berdasarkan aplikasi kegunaannya, bahasa
pemrograman dibagi menjadi 2 :
1. Bhs pemrograman bertujuan khusus.
Contoh : Prolog
1. Bhs pemrograman bertujuan umum.
Contoh : Pascal, C++
12. Bahasa Pemrograman
Berdasarkan bentuk bahasanya, bahasa
pemrogaman dibagi menjadi 2 :
1. Bahasa Tingkat Rendah
Bahasa ini bersifat primitif, sulit dimengerti oleh
manusia. Contoh : Bahasa mesin
1. Bahasa Tingkat Tinggi
Bahasa ini lebih mudah dipahami, lebih
menyerupai bahasa manusia
Contoh : Pascal, C++
13. Tahapan Pelaksanaan Pembuatan Program
Algoritma
Program dlm Bahasa Tingkat Tinggi
Program dlm Bahasa Mesin
Interpretasi
Kompilasi + lingking
Interpretasi oleh CPU
Operasi (baca, tulis, hitung, perbandingan, dsb)
14. Penyusunan Algoritma
• Dasar penyusunan algoritma :
Secara prinsip tidak ada standar baku untuk
menyusun algoritma.
Tiga cara menyusun algoritma :
• Bahasa manusia
• Pseudocode
• Diagram Alir
15. Contoh Penyusunan Algoritma
Buatlah algoritma untuk menghitung Luas Lingkaran !
1. Menggunakan Bahasa Manusia
1. Inputkan nilai jari-jari lingkaran
2. Hitung luas lingkaran menggunakan rumus :
3,14 x jari-jari x jari-jari
1. Tampilkan nilai luas lingkaran
16. Contoh Penyusunan Algoritma
Buatlah algoritma untuk menghitung Luas Lingkaran !
2. Menggunakan Pseudocode
1. Input jari-jari
2. luas 3,14 x jari-jari x jari-jari
3. Output luas
17. Contoh Penyusunan Algoritma
3. Menggunakan Flowchart
Mulai
Masukkan nilai
Jari-jari
Luas 3,14 x jari-jari x jari-jari
Tampilkan Luas
Selesai
23. Masalah Analisis Algoritma
Dua tipe analisis algoritma, yaitu :
1. Memeriksa kebenaran algoritma
Dapat dilakukan dengan cara berurutan, memeriksa bentuk logika,
implementasi algoritma, pengujian dengan data dan menggunakan cara
matematika untuk membuktikan kebenaran.
1. Penyederhanaan Algoritma
Membagi algoritma menjadi bentuk yang sederhana. Dalam analisis
sebuah algoritma biasanya yang dijadikan ukuran adalah operasi
aljabar seperti penjumlahan, pengurangan, perkalian dan pembagian,
proses pengulangan (looping/Iterasi), proses pengurutan (sorting) dan
proses pencarian (searching).