1
A.Ulfah Tenripada,S.Kom.,M.Kom
Algoritma Dan Pemrograman 1
• Dosen : A.Ulfah Tenripada,S.Kom.,M.Kom
• SKS : 3 SKS
• Email : ulfah.tenri@gmail.com
• Ruang: 312
Deskripsi
Penerapan cara pembelajaran pada matakuliah Algoritma dan
Pemrograman 1 secara umum ditujukan untuk memberikan
pembekalan kepada mahasiswa dalam berfikir secara logis, kritis,
kreatif dan analitis dalam memecahkan masalah berbasis program
komputer.
Secara khusus pada matakuliah ini akan diberikan ketrampilan baru
dalam hal pengukuran efisiensi dan waktu tempuh suatu algoritma,
yaitu mengukur seberapa efisien langkah-langkah serta berapa banyak
waktu yang di perlukan untuk pemecahan suatu masalah.
Standar Kompetensi
• Standar kompetensi dari mata kuliah ini adalah
memberikan pengetahuan mengenai cara melakukan
analisa algoritma dan memilih disain algoritma yang baik
untuk suatu masalah.
• Pada akhirnya mahasiswa dapat mengembangkan suatu
strategi pemecahan masalah dengan disain algoritma
yang telah di analisis dengan benar.
Komponen Penilaian
• KEHADIRAN DAN KEAKTIFAN: 20%
• TUGAS: 30%
• UTS: 25%
• UAS: 25%
Peraturan
• Tidak ada tes susulan apapun
• Peraturan absensi mengikuti aturan Universitas (75%)
• Tidak ada tugas tambahan untuk meningkatkan nilai yang
kurang
• Dosen terlambat 30 menit, maka kelas kosong
• Mahasiswa terlambat 30 menit, tidak boleh absen
Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far
Mohammed Ibnu Musa al-Khowarizmi, ilmuan
Persia yang menulis kitab al jabr w’al-
muqabala (rules of restoration and reduction)
sekitar tahun 825 M
Definisi Algoritma
• Urutan langkah-langkah untuk memecahkan masalah
• Urutan logis pengambilan keputusan untuk memecahkan
masalah
• urutan langkah logis, berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat.
• 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 dalam Kehidupan
Algoritma dalam Kehidupan
Definisi Algoritma [2]
• 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 di butuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu untuk
menyelesaikan masalah
• Algoritma Pemrograman Program
• Agar algoritma dapat memerintah (diproses) komputer,
maka dirubah menjadi bentuk program (melalui proses
pemrograman).
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 satu/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)
Notasi Algoritma
• Penulisan algoritma tidak tergantung dari spesifikasi
Algoritma analisis
analisis Program
Eksekusi Data
Hasil
Suatu Algoritma yg terbaik (The Best):
“Suatu algoritma harus menghasilkan output
yg tepat guna (efektif) dlm waktu yg relatif
singkat & penggunaan memori yg relatif
sedikit (efesien) dgn langkah yg berhingga &
prosedurnya berakhir baik dlm keadaan
diperoleh suatu solusi.“
Contoh:
Sebuah prosedur ketika akan mengirimkan surat kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku
alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop
surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau
menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis
surat.
Penulisan Algoritma
• Menggunakan bahasa natural (Bahasa manusia:
Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit
dipahami.
• Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
• Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti
oleh orang yang belum tahu pemrograman
Menggunakan Natural Language
(Bahasa Natural)
Write an algorithm to perform addition of two number.
•Step 1: read the first number say a
•Step 2: read the second number say b
•Step 3: add the two number and store the result in a
variable c
•Step 4: display the result
Menggunakan Pseudo Code
Algorithm sum(a, b)
//problem description: this algorithm perform addition of two
//number
//input: two integers a and b
//output: addition of two integers
ca+b
Write c
Menggunakan Flowchart
Start Start Statement
Transition
Conditional Statement
Input the
value of a
Input the
value of b
c= a + b
Display the
value of c
Stop
• Buatlah flowchart untuk menampilkan semua bilangan genap
dari 1 – 20 dan bilangan ganjil dari 30 – 50 dengan
menggunakan pengulangan while.
1. x : int
2. y : int
3. Deskripsi
4. x ← 2
5. y ← 31
6. while (x<=20)
7. write (x)
8. x ← x+2
9. while (y<=49)
10.write (y)
11.y ← y+2
12.end while
• Buatlah flowchart untuk menampilkan semua bilangan
kelipatan 7 dari 1 – 50 dengan menggunakan
pengulangan do while.
1.x : int
2.Deskripsi
3.x ← 7
4.Do
5.write (x)
6.x ← x+7
7.while (x<=49)
Pentingnya Analisa Algorithm
• Suppose, if we want to build a house we do not directly
start constructing the house. Instead we consult an
architect, we put our ideas and suggestion, accordingly he
draws a plan of the house, and he discussed it with us.
Finally, the blue print of house gets ready. Now it
becomes very easy and systematic for construction of
desired house.
• Designing is just a paper work and it can be easily
modified on the paper.
• Before actual implementation of the program, designing
an algorithm is very important step.
Tahap Analisa Algoritma
1. Bagaimana merencanakan algoritma?
2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)?
3. Bagaimana validitas suatu algoritma?
4. Bagaimana menganalisa suatu algoritma?
5. Bagaimana menguji program dari suatu
algoritma?
Ad.1. Bagaimana merencanakan algoritma
• Dengan psudocode
Suatu cara penulisan algoritma agar ide dan logika dari
algoritma dapat disampaikan/diekspresikan menggunakan
gaya bahasa pemrograman tertentu.
Phi 3.14
Input (diameter)
Radius diameter / 2
Luas phi * radius * radius
Output (Luas)
End
• Dengan flowchart / Start
diagram alir
Program Flowchart, yaitu
bagan yang menggambar- Phi = 3.14
kan urutan logika dari suatu
prosedur pemecahan Input
masalah. (diameter)
Radius = diameter/2
Luas = phi * radius * radius
Output
Luas
Stop
Tahap Proses Uji Algoritma
Penterjemah :
• Interpreter : menterjemahkan baris per baris instruksi.
Contoh bahasa Basic.
• Compiler : menterjamahkan setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, C, C++, dll.
Interpreters and Compilers (Bits and Bytes, Episode 6).
mp4
Tugas (Buat Flowchartnya dan
Pseudocodenya !)
1. Buatlah algoritma untuk menghitung konversi suhu.dari
Celcius menjadi Reamur dan Farenheit.
• Input: suhu dalam Celcius
• Proses: R = 4/5 * C dan F = 9/5 * C + 32
• Output