• ALGORITMA &
PEMROGRAMAN I-A
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
Algoritma-C-Pascal
• Translasi
Algoritma-C-Pascal
Algoritma-C-Pascal
Lihat di buku!
0 komentar:
Posting Komentar