S1 Teknik Informatika Semester II
1. Masalah.
- Masalah = persoalan (problem)
- Pernyataan atau tugas yang kita cari jawabannya
Contoh:
Mengurutkan tumpukan kartu secara acak
Mencari nama pejabat dengan kekayaan besar
- Secara generik, masalah tsb dideskripsikan menggunakan beberapa ukuran (parameter).
- [masalah pengurutan] Diberikan sebuah list S terdiri dari n buah nilai bilangan bulat. Bagaimana mengurutkannya?
· S dan n adalah parameter masalah
· Pemberian nilai untuk semua parameter masalah dinamakan instansiasi masalah (instance of problem)
v S = [15,4,8,11,2,10,19], n = 7
· Jawaban thd instansiasi masalah disebut solusi
v S = [2,4,8,10,11,15,19]
2. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis
- Langkah pengurutan 50 kartu acak:
Ø Cari kartu dg nomor terkecil
Ø Tempatkan kartu tsb di posisi teratas
Ø Cari kartu dg nomor terkecil berikutnya
Ø Tempatkan kartu tsb di bawah kartu pertama
Ø ……..
Ø Cari kartu dg nomor terkecil berikutnya
Ø Tempatkan kartu tsb di bawah kartu ke-48 (sisa 1 kartu, tapi tdk perlu diurutkan lagi)
- Langkah-langkah pengurutan 50 kartu acak itu yg disebut algoritma
- Setiap masalah mempunyai algoritma pemecahannya
- Tugas kita sebagai pemecah masalah adalah mendeskripsikan langkah-langkah penyelesaiannya
- Algoritma TUKAR ISI BEJANA
Ø Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Ø DESKRIPSI :
v Tuangkan larutan dari bejana A ke dalam bejana B
v Tuangkan larutan dari bejana B ke dalam bejana A.
Ø Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Ø Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Ø Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Ø DESKRIPSI :
v Tuangkan larutan dari bejana A ke dalam bejana C.
v Tuangkan larutan dari bejana B ke dalam bejana A.
v Tuangkan larutan dari bejana C ke dalam bejana B.
3. Ciri Penting Algoritma
- Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
- Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
- Algoritma memiliki nol atau lebih masukkan.
- Algoritma memiliki nol atau lebih keluaran.
- Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
4. Program dan Pemrograman
- Algortima akan efektif jika dijalankan oleh sebuah pemroses/processor(manusia, robot, mesin, dsb).
- Suatu pemroses harus:
Ø Mengerti setiap langkah dalam algoritma
Ø Mengerjakan operasi yg bersesuaian dg langkah tsb
- Komputer : alat bantu untuk menjalankan perintah di dalam algoritma yg telah dimasukkan ke dalamnya.
- Algoritma yg ditulis dalam bahasa komputer dinamakan program.
- Bahasa komputer yg digunakan dalam melunis program dinamakan bahasa pemrograman.
- Orang yg membuat program komputer disebut pemrogram(programmer).
- Kegiatan merancang dan menulis program disebut pemrograman.
5. Bahasa Pemrograman
- Contoh: assembly, Fortran, Cobol, Pascal, C, C++, Basic, Prolog,…., Java, C#
- Berdasar tujuannya, bahasa pemrograman digolongkan menjadi:
Ø Specific Purpose programming language
v Cobol(terapan bisnis&administrasi)
v Fortran(komputasi ilmiah)
v Assembly(pemrograman mesin)
v Prolog(kecerdasan buatan)
Ø General Purpose programming language
v Dapat digunakan untuk berbagai aplikasi
v Pascal, Basic, C, C++, Java, C#, dll
- Berdasar kedekatan(condong ke mesin atau ke manusia), bahasa pemrograman digolongkan menjadi:
Ø Bahasa tingkat rendah (low level language) : bahasa yang berorientasi ke mesin.
Ø Bahasa tingkat tinggi (high level language) : bahasa yang berorientasi ke manusia (seperti bahasa inggris)
v contoh bahasa Pascal, bahasa C dll.
v Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penterjemah.
v Penterjemah :
v Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penterjemah.
v Penterjemah :
- Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penterjemah.
- Penterjemah :
Ø Interpreter : menterjemahkan baris per baris instruksi. Contoh bahasa Basic.
Ø Compiler : menterjamahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, C, Ada ,C++, dll.
6. Belajar Memprogram
- Belajar memprogram ≠ belajar bahasa pemrograman
- Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama
- Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
- Belajar memprogram, titik berat : designer program
- Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
- Belajar bahasa pemrograman , 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
- Belajar memprogram, titik berat : designer program
8. Notasi Algoritma
- Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya.
- Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman
9. Notasi Algoritma : Narasi
- Uraian kalimat deskriptif (narasi)
· Contoh
v Algoritma Kelulusan_mhs
· Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
v DESKRIPSI :
· baca nama dan nilai mahasiswa.
· jika nilai >= 60 maka
· keterangan = lulus
· tetapi jika <= 60 maka
· keterangan = tidak lulus.
· tulis nama dan keterangan
10. Pseudo-Code
- Algoritma Kelulusan_mhs
· {diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
11. Aturan Penulisan Teks Algoritma
Ø Judul algoritma
· Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut.
· Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
Ø Deklarasi
· Bagian untuk mendefinisikan semua nama yang digunakan di dalam program.
· Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
Ø Deskripsi
· Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.
Tidak ada komentar:
Posting Komentar