A. Kompetensi
Setelah mempelajari keseluruhan materi pada pembelajaran ini, Anda diharapkan
dapat :
1. Merancang alur logika pemrograman
2. Menggunakan prosedur dan fungsi
3. Mengidentifikasikan kompleksitas algoritma
C. Uraian Materi
Contoh 1 :
Mendeklarasikan tipe data bentukan untuk menampung data
titik koordinat kartesian yang mempunyai dua variabel,
dinyatakan sebagai (x,y), dengan x adalah nilai absis dalam
arah sumbu X dan y adalah nilai ordinat dalam arah sumbu Y.
x dan y adalah anggota himpunan bilangan real ( y dan x € R ).
x y
:
3) Penyajian Algoritma menggunakan flowchart
Flowchart adalah suatu metode untuk menggambarkan tahap-tahap
pemecahan masalah (algoritma) dengan merepresentasikan simbol-
simbol tertentu yang mudah dimengerti dan digunakan. Tujuan utama
dari penggunaan flowchart adalah untuk menggambarkan algoritma
secara sederhana terurai, rapi dan jelas.
Flowchart merupakan penggambaran secara grafik dari langkah-
langkah dan urut-urutan prosedur dari suatu program. Flowchart dapat
membantu analist system dan programmer untuk memecahkan
masalah ke dalam segmen-segmen yang lebih kecil dan menolong
dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Flowchart biasanya mempermudah penyelesaian suatu masalah
a) Flowchart Sistem
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja
atau apa yang sedang dikerjakan di dalam sistem secara
keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang
ada di dalam sistem. Dengan kata lain, flowchart merupakan
deskripsi secara grafik dari urutan prosedur-prosedur yang
terkombinasi yang membentuk suatu sistem.
Flowchart sistem terdiri dari data yang mengalir melalui sistem dan
proses yang mentransformasikan data itu. Salah satu contoh
system flowchart berikut digunakan untuk merepresentasikan
bagian-bagain dari perangkat komputer yang terdiri dari keyboard
sebagai unit input, monitor sebagai unit keluaran, CPU sebagai
unit pemroses dan disket sebagai unit penyimpan data.
b) Flowchart Paperwork/Flowchart Dokumen
Flowchart Paperwork adalah flowchart yang digunakan untuk
menelusuri alur dari data yang ditulis melalui sistem. Flowchart
Paperwork sering disebut juga dengan Flowchart Dokumen.
Kegunaan utamanya adalah untuk menelusuri alur form dan
laporan sistem dari satu bagian ke bagian lain baik bagaimana alur
form dan laporan diproses, dicatat dan disimpan.
c) Flowchart Skematik
Flowchart Skematik mirip dengan Flowchart Sistem yang
menggambarkan suatu sistem atau prosedur. Flowchart Skematik
ini bukan hanya menggunakan simbol-simbol flowchart standar,
Gambar 10. Flowchart mencetak deret angka 1 sampai 9 menggunakan struktur instruksi
do … while
Gambar 12. Flowchart mencetak deret angka 1 sampai 9 menggunakan struktur instruksi
for
Langkah 1
Cari elemen maksimum dalam larik L[1..6] diperoleh nilai Maks → L[5] =
76
Tukar maks (L[5] dengan L[6], sehinga diperoleh :
Langkah 2
Berdasarkan susunan larik hasil langkah 1
Cari elemen maksimum dalam larik L[1..5]
Maks → L[1] = 29
Tukar maks (L[1]) dengan L[5], diperoleh :
Langkah 3
Berdasarkan susunan larik hasil langkah 2
Cari elemen maksimum dalam larik L[1..4] diperoleh nilai Maks → L[2] =
27
Langkah 4
Berdasarkan susunan larik hasil langkah 3
Cari elemen maksimum dalam larik L[1..3] diperoleh nilai Maks → L[1] =
21
Tukar maks (L[1]) dengan L[3], diperoleh :
Langkah 5
Berdasarkan susunan larik hasil langkah 4 Cari elemen maksimum
dalam larik L[1..2] diperoleh nilai Maks → L[1] = 10
Tukar maks (L[1]) dengan L[2], diperoleh :
b. Prosedure
Prosedur adalah program yang mengerjakan tugas/aktifitas yang spesifik
dan menghasilkan suatu efek netto. Dalam beberapa bahasa
pemrograman prosedur sering diistilahkan dengan subroutin. Suatu efek
netto diketahui dengan membandingkan keaadan awal dan keadaan akhir
pada pelaksanaan sebuah prosedur. Oleh karena itu prosedur harus
mendefinisikan dua hal yaitu :
- keaadan awal (K.Awal) yaitu kondisi sebelum rangkaian instruksi
dilaksanaakan
- keaadaan akhir (K.Akhir) kondisi yang diharapkan setelah rangkaian
instruksi dilaksanakan
Penulisan algoritma yang mendefinisikan prosedur sama persis dengan
penulisan algoritma pada umumnya. Gambar berikut menjelaskan format
penulisan algoritma dalam prosedur.
a. Kompleksitas Algoritma
Sebuah algoritma tidak saja harus menghasilkan keluaran yang benar,
tetapi juga harus mangkus (efisien). Kebenaran suatu algoritma harus diuji
dengan jumlah masukan tertentu untuk melihat kinerja algoritma berupa
waktu yang diperlukan untuk menjalankan algoritmanya dan ruang memori
yang diperlukan untuk struktur datanya.
Besaran yang dipakai untuk menerangkan model penilaian waktu/ruang
algoritma adalah dengan menggunakan kompleksitas algoritma. Ada dua
macam kompleksitas algoritma, yaitu kompleksitas waktu dan
kompleksitas ruang.
b. Kompleksitas Waktu
Keterangan
- Operasi pengisian nilai (jumlah0, k1, jumlahjumlah+ak, kk+1,
dan r jumlah/n). Jumlah seluruh operasi pengisian nilai adalah
t1 = 1 + 1 + n + n + 1 = 3 + 2n
- Operasi penjumlahan (jumlah+ak, dan k+1). Jumlah seluruh operasi
penjumlahan adalah
t2 = n + n = 2n
- Operasi pembagian (jumlah/n)Jumlah seluruh operasi pembagian
adalah t3 = 1