Rabu, 26 Februari 2014

Download Materi ALGORITMA DAN PEMROGRAMAN



•           ALGORITMA &
PEMROGRAMAN I-A
•           STMIK JAKARTA STI&K
•           Algoritma & Program
•             Algoritma
–        Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis
–        Urutan logis pengambilan keputusan untuk pemecahan masalah
•             Lima ciri penting algoritma
–        Selesai dalam jumlah langkah terbatas
–        Tidak memiliki arti ganda
–        Memiliki nol atau lebih input
–        Memiliki nol atau lebih output
–        Efektif
•             Program
–        Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu

•         Belajar Memprogram & Belajar Bahasa Pemrograman
•           Belajar memprogram:
àpemahaman persoalan, analisis, dan sintesis


•           Belajar Bahasa Pemrograman :
–      Belajar memakai suatu bahasa
àaturan sintaks (tata bahasa)
•           Tahapan Pemecahan Masalah


•           Paradigma Pemrograman
•          Prosedural (imperatif)
         Program = Struktur + Data
        mis : Pascal, C, Basic
•          Object Oriented
         data dan instruksi dibungkus menjadi satu, disebut: kelas, 
             kelas pada saat run-time disebut objek.
        mis : C++, Java
•          Fungsional
         konsep pemetaan dan fungsi pada matematika
        mis : Matlab
•          Deklaratif
         pendefinisian relasi antar individu yang dinyatakan sebagai
             predikat
        mis : Prolog

•           DASAR-DASAR ALGORITMA dan FLOW CHART

•           Proses, Instruksi, dan Aksi
•            Algoritma merupakan deskripsi urutan pelaksanaan suatu proses
•            Algoritma tersusun oleh sederetan langkah instruksi yang logis
•            Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi)
•            Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU
•           Struktur Dasar Algoritma
•                         Runtunan (sequence)
–                   aksi-aksi dalam algoritma yang dikerjakan secara berurutan
–                   contoh :
                        A1. Aksi 1
                        A2. Aksi 2
                        A3. Aksi 3
•           Struktur Dasar Algoritma(2)
•                          Pemilihan (selection)
–                     aksi dikerjakan jika kondisi tertentu terpenuhi
–                     contoh :
                       
•           Struktur Dasar Algoritma (3)
•                         Pengulangan (repeatition)
–                      aksi-aksi yang dikerjakan berulang kali
–                      contoh :
•                    FOR pencacah pengulangan dari a sampai b DO
                        Aksi
            (aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai bà yakni sebanyak b-a+1 kali)
•                    REPEAT
                        Aksi
            UNTIL kondisi
            (pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi)
•                    WHILE kondisi DO
          Aksi
            (selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan)

•           Flow Chart
•            Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan program dari  awal sampai akhir.
•            Flow chart adalah algoritma yang digambarkan dengan diagram
•            Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi algoritma)
•           Penulisan Algoritma
•            FLOW CHART
–       Flow chart adalah suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan suatu program dari awal sampai akhir
–       Flow chart adalah algoritma yang digambarkan dengan diagram
–       Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi dari algoritma)
•            TEKS ALGORITMA
–       berisi langkah-langkah penyelesaian masalah yang ditulis dengan bahasa yang mudah dipahami
•           Flow Chart(2)
•           Input
•           Processing
•           Output (display)
•           Decision (untuk mengevaluasi suatu kondisi)
•           Procedure/subroutine
•           Flow Chart(2)
•           Flow lines
•           Terminator  (mengawali dan mengakhiri flow chart)
•           On page connector
•           Off page connector
•           Annotation (memberi komentar atau keterangan dalam flow chart)

•           ATURAN PENULISAN TEKS ALGORITMA

•           Teks Algoritma
•            Teks algoritma berisi langkah-langkah penyelesaian masalah
•            Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa pemrograman
•            Notasi yang digunakan untuk menulis algoritma disebut notasi algoritmik
•           Teks Algoritma
•            Struktur teks algoritma
–       Kepala algoritma
        terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut
–       Deklarasi
        mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma
–       Deskripsi
        Berisi uraian langkah-langkah penyelesaian

Komentar ditulis diantara tanda kurung “{“ dan “}”
•           Contoh Teks Algoritma
•           Pascal
•           C
•           TIPE, NAMA, DAN NILAI

•           Tipe Data
Tipe data terdiri dari tipe:
•            Tipe dasar
–       Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman)
–       Contoh: boolean, integer, real, char, string (?)
•            Tipe bentukan
–       Tipe yang didefinisikan sendiri oleh pemrogram
–       Tipe yang dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan
–       Contoh: tipe dasar yang diberi nama tipe baru, record
•           Tipe Data(2)
Empat hal yang harus diperhatikan dalam pendefinisian tipe:
• Nama
• Domain harga
• Konstanta
• Operator


•           Tipe Data(3)
•           Tipe Bentukan
•             Tipe dasar yang diberi nama tipe baru
–        Nama baru untuk tipe dasar menggunakan kata kunci type
–        Domain nilai, cara menulis konstanta, dan operasi-operasi yang dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe dasarnya.
–        Contoh: typeBilanganBulat: integer
•             Rekaman (record)
–        Rekaman disusun atas satu atau lebih field
–        Tipe field menyimpan data dan tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya
–        Nama rekaman ditentukan oleh pemrogram
–        Rekaman disebut juga tipe terstruktur
•           Contoh Record
DEKLARASI
type MataKuliah : record<KodeMK  : string, {kode matakuliah}
                                     NamaMK : string, {nama matakuliah}
                                     Nilai         : char {indeks nilai}
                                    >

type Mahasiswa : record<NIM            : integer, {nomor mhs}
                                     NamaMhs  : string, {nama mhs}
                                     MK          : array[1..4] of MataKuliah
                                    >

LarikMhs : array[1..100] of Mahasiswa
•           Nama
•             Untuk mengidentifikasikan dan membedakan obyek
•             Unik dan tidak boleh sama
•             Dalam algoritma nama diberikan pada:
–        Variabel
•        Tempat penyimpanan data/informasi di memori yang nilainya dapat diubah selama pelaksanaan program
–        Konstanta
•        Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan program
–        Tipe bentukan
•        Tipe data baru yang didefinisikan oleh program dari tipe data yang sudah ada
–        Prosedur
•        Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil berulang dari program utama
–        Fungsi
•        Prosedur yang mengembalikan suatu nilai dengan tipe data sederhana
•           Aturan Penulisan Nama
•             Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau karakter khusus lainnya.
•             Tidak case sensitif (beda dengan bahasa pemrograman)
•             Karakter penyusun nama hanya boleh: huruf alfabet, angka dan “_” (underscore)
•             Tidak boleh dipisahkan dengan spasi
•             Panjang nama tidak terbatas
•             Semua nama yang dipakai harus dideklarasikan dulu pada bagian deklarasi
•           Contoh Penamaan
•            SALAH
–       6titik                    {dimulai dg angka}
–       nilai ujian {dipisahkan spasi}
–       PT-1                     {mengandung operator kurang}
–       hari!                     {mengandung karakter khusus}

•            BENAR
–       titik6 atau titik_6
–       nilai_ujian atau nilaiUjian
–       PT_1 atau PT1
–       hari
•           Nilai
•             Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun tipe bentukan)
•             Nilai dapat berupa:
–        Isi variabel atau konstanta
–        Nilai dari hasil perhitungan
–        Nilai yang dihasilkan oleh fungsi
•             Nilai yang disimpan di variabel dimanipulasi dengan cara:
–        Mengisikan ke variabel lain yang bertipe sama
–        Dipakai untuk perhitungan
–        Dituliskan ke piranti keluaran

•           Nilai(2)
Pengisian nilai ke variabel:
•            Pengisian nilai secara langsung(assignment)
–       Memasukkan sebuah nilai ke dalam nama variabel langsung di dalma teks algoritma
–       Syaratnya nilai yang didisikan harus bertipe sama  dengan tipe peubah
–       Notasi: ß
–       Contoh:
           
•           Nilai(3)
•           Pembacaan nilai dari piranti masukan
–      Nilai untuk nama variabel dapt diisi dari piranti masukan, misalnya dari keyboard.
–      Dinamakan dengan operasi pembacaan data
–      Notasi dalam teks algoritma: read
–      Contoh:
•       read (nama1, nama2,…namaN)
•           Ekspresi
•            Ekspresi terdiri atas: operand dan operator
•            Operand adalah nilai yang dioperasikan dengan operator tertentu
•            Operand dapat berupa konstanta, nama variabel, nama konstanta, atau hasil suatu fungsi
•            Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi string.

•           Ekspresi(2)
•             Ekspresi Aritmetika
–        Ekspresi yang baik operand dan hasilnya berupa numerik
–        (ingat: tingkat prioritas operator)
i.  / , div, mod
ii. *
iii.+, -
•             Ekspresi relasional
–        Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor
–        Hasil evaluasi adalah nilai bertipe boolean
–        Ekspresi string
•           Ekspresi (3)
•           Ekspresi string
•           Ekspresi dengan operator penyambungan/concatenation “+”.
•           Menuliskan Nilai ke Piranti Keluaran (monitor/printer)
•           Dilakukan dengan notasi write
•           Contoh:
–      write (nama1, nama2, …, namaN)

•           Contoh Algoritma
Algoritma SAPA_SOBAT
{mencetak string Selamat Siang diikuti nama orang. Nama prang diinputkan dari piranti masukan}

DEKLARASI
         const ucapan = ‘Selamat Siang’
        
         namaUser : string

DESKRIPSI
         read(namaUser)
         write(ucapan + ‘ ‘ + namaUser)
•         TRANSALASI
 Algoritma-C-Pascal
•         Translasi
Algoritma-C-Pascal
Lihat di buku!


0 komentar:

Posting Komentar

Posting Kami