Post on 12-Jan-2017
Andreas Hadiyono
Refreshing Matkul Refreshing Matkul Algoritma Pemograman Algoritma Pemograman
1A1A
2
Algoritma
● “urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.
● Berasal dari nama penulis buku arab Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi
● Merupakan jantung ilmu komputer atau informatika
● Harus dinyatakan dalam bentuk yang dimengerti oleh pemroses
3
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 aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program
4
5
Belajar Memprogram● Belajar memprogram ≠ belajar bahasa
pemrograman● Belajar tentang strategi pemecahan
masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama
● Bersifat pemahaman persoalan, analisis dan sintesis
● Titik berat : designer program
6
Belajar Bahasa Pemrograman
● Belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
● Titik berat : coder
7
Produk yang dihasilkan pemrogram
● Program dengan rancangan yang baik (metodologis, sistematis)
● Dapat dieksekusi oleh mesin● Berfungsi dengan benar● Sanggup melayani segala
kemungkinan masukan● Disertai dokumentasi
8
Penyajian Algoritma
● Natural Language● Flowchart● Pseudo-code● Diagram blok struktur program● Diagram warnier● Tabel keputusan dan pohon keputusan
9
Contoh Algoritma
• Mengirimkan surat kepada teman :1. Ambil kertas surat2. Tulis surat3. Ambil amplop4. Masukan surat ke dalam amplop5. Tulis alamat pada amplop6. Tempel perangko7. Bawa ke kantor pos
10
Menghitung luas persegi panjang
1. Input panjang2. Input lebar3. Luas panjang * lebar4. Print Luas
11
Program Flowchart
● Menggambarkan urutan logika dari suatu prosedur pemecahan masalah
● Dua jenis metode penggambaran program flowchart :● Conceptual flowchart, menggambarkan
alur pemecahan masalah secara global● Detail flowchart, menggambarkan alur
pemecahan masalah secara rinci
12
Start
Input
Proses
Output
End
Start
End
Input “Berapa data” ; N
Jml = 0
Input Bil
Next K
For K = 1 to N
Print “Jumlah = “; Jml
Jml = Jml + Bil
13
Simbol-simbol Flowchart
● Flow direction symbols● Digunakan untuk menghubungkan simbol satu
dengan yang lain● Disebut juga connecting line
● Processing symbols● Menunjukan jenis operasi pengolahan dalam
suatu proses / prosedur● Input / Output symbols
● Menunjukkan jenis peralatan yang digunakan sebagai media input atau output
14
Flow Direction Symbols● Simbol arus / flow
● Menyatakan jalannya arus suatu proses
● Simbol communication link● Menyatakan transmisi data dari satu lokasi ke
lokasi lain
● Simbol connector● Menyatakan sambungan dari proses ke proses
lainnya dalam halaman yang sama
● Simbol offline connector● Menyatakan sambungan dari proses ke proses
lainnya dalam halaman yang berbeda
15
Processing Symbols● Simbol process
● Menyatakan suatu tindakan (proses) yang dilakukan oleh komputer
● Simbol manual● Menyatakan suatu tindakan (proses) yang tidak
dilakukan oleh komputer● Simbol decision
● Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan jawaban : ya / tidak
● Simbol predefined process● Menyatakan penyediaan tempat penyimpanan
suatu pengolahan untuk memberi harga awal● Simbol terminal
● Menyatakan permulaan atau akhir suatu program
16
Processing Symbols● Simbol keying operation
● Menyatakan segal jenis operasi yang diproses dengan menggunakan suatu mesin yang mempunyai keyboard
● Simbol offline-storage● Menunjukkan bahwa data dalam
simbol ini akan disimpan ke suatu media tertentu
● Simbol manual input● Memasukkan data secara manual
dengan menggunakan online keyboard
17
Input / Output Symbols
● Simbol input/output● Menyatakan proses input atau output
tanpa tergantung jenis peralatannya● Simbol punched card
● Menyatakan input berasal dari kartu atau output ditulis ke kartu
● Simbol magnetic tape● Menyatakan input berasal dari pita
magnetis atau output disimpan ke pita magnetis
● Simbol disk storage● Menyatakan input berasal dari dari disk
atau output disimpan ke disk
18
Input / Output Symbols
● Simbol document● Mencetak keluaran dalam
bentuk dokumen (melalui printer)
● Simbol display● Mencetak keluaran dalam
layar monitor
19
Contoh System Flowchart
Data jawaban ujian
Koreksi
Daftar Koreksi Data File
utama ujian
Periksa Ujian
Tabel Siswa
File siswa lulus
Laporan Hasil Ujian
20
Kaidah Pembuatan Flowchart
Start
Input
Proses
Output
End
21
Pengolahan dataSTART
READ
HABIS ?
PROCESS
WRITE
END
Tidak
Ya
Original by Koko BachrudinCompiled by Andreas Hadiyono
Integrated Integrated Development Development
Environment(IDE)Environment(IDE)dan dan
Authoring Tool Authoring Tool Berbasis ObjectBerbasis Object
Etoys
Etoys
● Etoys is a child computer environment and object oriented prototype-based programing language for use in education
● Etoys is a media rich authoring environment with a scripted object model for many different objects that runs on different platforms and is free and open source.
Etoys History
● Squeak was originally developed at Apple in 1996 by Dan Ingalls
● Squeak 4.0 is released under the MIT License, with some of the original Apple parts remaining under the Apache License. Contributions are required to be under MIT.
● Viewpoints Research Inc. supported Squeakland Foundation in 2009-2010, and in January of 2010, the Squeakland Foundation was launched as a separate entity
Fitur
● didasarkan pada gagasan entitas virtual diprogram berperilaku pada layar komputer
● Code-less programing● Etoys menyediakan lingkungan authoring
media yang kaya dengan model, objek sederhana scripted untuk berbagai jenis objek yang dibuat oleh end-user
● Multi bahasa
Platform
● Linux● Windows● MacOS X● Di situs resminya: “support hampir 20
jenis OS lain-nya”
Kekurangan
● Perubahan batasan dan model implementasi masih membutuhkan pengertian algoritma
● Lisensi Source Code-nya proprietary
Scratch
Scracth
● Scratch is a programming language that allows people of any experience background and age to experiment with the concepts of fully versatile computer programming by using an alterable GUI
Scratch History
It is developed by the Lifelong Kindergarten group at the MIT Media Lab by a team led by Mitchel Resnick and first appeared in the summer of
2007.
Language and environment
● Scratch is used worldwide in many different settings: schools, museums, community centers, and homes. It is intended especially for 6- to 16-year-olds, but people of all ages have used Scratch
● main priority was to make the language and development environment intuitive and easily learned by children who had no previous programming experience.
Environment Language
Platform
● Windows● MacOS X● Linux
Fitur
● didasarkan pada gagasan entitas virtual diprogram berperilaku pada layar komputer
● Pemrograman yang hampir code-less, tanpa meng-coding sama sekali
● Multi bahasa● Objek creator
Kekurangan
● Perubahan batasan dan model implementasi masih membutuhkan pengertian algoritma
● Tidak memiliki fungsi Authoring tool seperti etoys
TERIMA KASIH