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