320 likes | 595 Views
Algoritma dan C o m p u t e r P r o g r a m m i n g. Even Semester 0 9 - 1 0 Prodi Fisika & P. Fisika THAQIBUL FIKRI NIYARTAMA fikri@saintek.uin-suka.ac.id thaqibul@gmail.com. Pemrograman Komputer. Standar Kompetensi. Fisika dan Pendidikan Fisika ( PFI - 201 - 1 - 3 ):
E N D
Algoritma dan ComputerProgramming Even Semester 09-10 Prodi Fisika & P. Fisika THAQIBUL FIKRINIYARTAMA fikri@saintek.uin-suka.ac.id thaqibul@gmail.com
Standar Kompetensi • Fisika dan Pendidikan Fisika (PFI-201-1-3): • Mahasiswa memiliki kemampuan membuat membuat algoritma pemrograman, program terstruktur dengan bahasa Pascal, dan menerapkan bahasa pemrograman dalam menyelesaikan permasalahan fisika yang sederhana
SILABUS • All • Algoritma pemrograman (1) • Pengantar (dasar pemrograman)(2) • Input/output (5) • Pencabangan tunggal dan ganda (6) • Fungsi matematika (4) • Variabel dan konstanta (2) • Operasi dan ekspresi (3) • Pernyataan bersyarat (If, Case) (6) • Pernyataan perulangan (7) • Fungsi dan Prosedur (8) • Matrik
Referensi • Pemrograman Dasar Turbo Pascal Pascal 1, Abdul Kadir, Andi Offset. • Algoritma dan Pemrograman Dalam Bahasa Pascal dan C (1), Rinaldi Munir, Penerbit Informatika. • Algoritma dan Pemrograman, Antony Pranata, Graha Ilmu • Teori dan Praktek Pemrograman Turbo Pascal, Edhy Sutanta, Graha Ilmu
Kontrak belajar dan PenilaianProdi P.FIS PMAT MAT • UAS : 35% • UTS : 35% • TUGAS : 20% • Keaktifan : 10% Sifat ujian open 1 lbr kertas A4 • Masuk kelas paling lambat 10 menit
Kontrak Belajar • Anda bertanggung jawab atas hasil tugas anda, keseriusan anda dalam mengerjakan tugas terlihat pada UTS dan UAS
Program ????? • Suatu ketika anda ingin mendengarkan beberapa lagu yang baru saja anda download, dan telah anda simpan didalam flashdisk. • Karena komputer anda sedang rusak, anda berinisiatip meminjam komputer teman kost anda. • Saat anda akan menjalankan file-file tsb, anda berkomentar : “Ah, sayang sekali! komputer ini tidak punya program windows media player atau pun winamp!!!!
It is your job… or my job ??? • Komputer : Benda mati • Benda hidup : bosan, tidak teliti, pelupa • Komputer : mampu mengerjakan perintah yg banyak .. dan banyak sekali (1xxxxx kali), punya memori besar • Example : pengurutan data, jika 10 data..it’s OK….jika 1000 data ?????
How… • Setumpuk kartu, 50 buah, bernomer 1 s.d 50 • Susunan acak • Question : bagaimana mengurutkan, nomer kecil di atas, nomer besar dibawah
Alternative Answer.. • Perhatikan bahwa sebenarnya ada dua perintah: • Mencari kartu dg nilai terbesar • Menempatkan kartu pada posisi yg benar • Langkah tersebut diulang-ulang dg acuan yg berbeda (kedua, ketiga, dst): • Langkah 1: Cari kartu dg nomor terbesar • Langkah 2: Tempatkan nilai terbesar itu pd posisi yg tepat • Langkah 3: Ulangi langkah 1 utk 49 buah kartu yg lain • Secara umum utk N buah kartu: • Langkah 1: Cari kartu dg nomor terbesar • Langkah 2: Tempatkan nilai terbesar itu pd posisi yg tepat • Langkah 3: Ulangi langkah 1 utk N-1 buah kartu yg lain
And then… • Ide pengurutan tsb, mengilhami org menulis program pengurutan sekumpulan data dg bantuan komputer • Data yg diurutkan tsb dimasukkan ke dalam komputer dg cara “pembacaan” • Selanjutnya data tsb diurut dg langkah2 yg sdh dijelaskan diatas • Agar program dpt dilaksanakan oleh komputer maka program tersebut harus ditulis dalam bahasa komputer khusus
Program ????? • Program Instruksi-instruksi yang diberikan pada komputer agar komputer dapat melaksanakan tugas-tugas tertentu. Isinya urutan langkah2penyelesaian masalah • Bahasa pemrograman: bahasa komputer yang digunakan dalam menulis program • Pemrogram : orang yang membuat program komputer • Isi program sekumpulan kode-kode • Pemrograman/pengkodean upaya/kegiatan merancang dan menulis program program (Munir, 2005)
Program ????? • Program Instruksi-instruksi yang diberikan pada komputer agar komputer dapat melaksanakan tugas-tugas tertentu • Isi program sekumpulan kode-kode • Pemrograman/pengkodean upaya membuat program
Terstruktur • Mudah dipahami, mudah dipelajari dan mudah dikembangkan • Mudah diperbaiki bila ada errornya • Program terstruktur program yang mengandung sub routine program & mengandung sub program yang terstruktur juga.
Algoritma ….?????? • Bagian Inti dari suatu program • Definisi: urutan logis langkah2 penyelesaian masalah (munir, 2005) • Berisi deskripsi langkah-langkah penyelesaian masalah berupa pernyataan-pernyataan • Sehingga program komputer hakikatnya adalah realisasi teknis dari sebuah algoritma • Contoh algoritma: • PROGRAM Pengurutan • Program untuk mengurutkan nilai ujian sejumlah mahasiswa • ALGORITMA: • . Cari nilai terbesar di antara N buah data 2. Tempatkan nilai terbesar itu pd posisi yg tepat 3. Ulangi dari langkah 1 utk 49 N-1 buah data yang lain
Algoritma • Asal kata Algoritma berasal dari nama Abu Ja’far Muhammad Ibn Musa al-Khuwarizmi, ilmuan Persia yang menulis kitab al jabr wal-muqabala (rules of restoration and reduction) sekitar tahun 825 M • (Al-Khuwarizmi = Algorism), Algorism algoritm (karena sering keliru dg arithmetic, sehingga ”sm” thm) • Dalam bahasa , diserap menjadi algoritma
Defenisi Algoritma • Algoritma adalahurutan logislangkah-langkah penyelesaian masalah. • Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Contoh : • Jika seseorang ingin mengirim surat kepada kenalannya • di tempat lain, langkah yang harus dilakukan adalah : • Menulis surat • Surat dimasukkan ke dalam amplop tertutup • Amplop ditempeli perangko secukupnya • Pergi ke Kantor Pos terdekat untuk mengirimkannya
Contoh ..... : • Algoritma menghitung luas persegi panjang: • Masukkan panjang (P) • Masukkan lebar (lb) • L = P * lb • Tulis L
Algoritma & Program 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 Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. • Bahasa pemrograman dapat dikategorikan dalam : • Bahasa tingkat tinggi [HLL] : PASCAL, Fortran, C, Java, PHP,ASP • Bahasa tingkat menengah[MLL] : Assembly • Bahasa tingkat rendah [LLL] : Machine Code, Assembly language • Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama
Lalu..... Bagaimanakah cara memilih bahasa pemrograman yg sesuai dg kebutuhan kita ?
Bahasa Pemrograman : Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah. Interpreter : Menterjemahkan baris per baris instruksi [Bahasa Basic] Compiler Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
Kenapa harus Bahasa Pascal ? • Paling mudah dipahami bagi pemula • Mudah dicari kesalahannya • Mudah dimodifikasi/dikembangkan