Anda di halaman 1dari 41

POLITEKNIK STATISTIKA STIS

For Better Official Statistics

K202304 – Algoritma dan Pemrograman

Pertemuan 1
Dasar-dasar Algoritma dan
Pemrograman

Disusun: Tim Dosen


PROFIL

Dr. Achmad Syahrul Choir, SST, M.Si.


Riwayat Pendidikan
2012-2020 S3, Departemen Statistika, Institut Teknologi Sepuluh Nopember,
Surabaya, Disertasi: Distribusi Neo-normal Baru dan
Karakteristiknya

2009-2011 S2, Departemen Statistika, Institut Teknologi Sepuluh Nopember,


Surabaya. Tesis: Imputasi Berganda K-Medoid General Reression
Neural Network untuk menangani Missing Data

1999-2003 DIV, Jurusan Statistika, Peminatan Statistik Ekonomi, Sekolah Tinggi Ilmu
Statistik, Jakarta. Skripsi: Analisis Produktifitas Industri Padat Karya di Indonesia
Sebelum dan Sesudah Krisis Ekonomi
Riwayat Instansi
Statistika STIS
2020 .sd sekarang
Politeknik
2003-2009 BPS Kabupaten Sinjai,
Sulawesi Selatan
madsyair@stis.ac.id
2009-2020 BPS Provinsi Jawa Timur
2

PROFIL LULUSAN D-IV STATISTIKA

1. Perancang Sensus dan Survei untuk Official Statistics

2. Analis Data untuk Official Statistics

3. Analis Penjaminan Kualitas Data

4. Ilmuwan Data Untuk Official Statistics


STRATEGI PEMBELAJARAN

Bentuk Pembelajaran
Kuliah Interaktif 2 SKS Teori dan 1 SKS
Praktikum
Tatap Muka/Maya 3x50 menit/pekan
Penugasan Terstruktur 3x60 menit/pekan
Kegiatan Mandiri 3x60 menit/pekan
Bobot Penilaian
Metode Pembelajaran UTS 30 % UAS 30
% Praktikum 30 %
Collaborative Learning
Tugas 10 %
Project Based Learning

Materi Pembelajaran 3. Control Sequence


(Sequence dan Selection)
4. Multiple Selection
1. Dasar-dasar Algoritma 5. Struktur Pengulangan
dan Pemrograman
2. Arsitektur Data
dan Record 8. Rekursi
9. Pencarian
10. Pengurutan
6. Sub Program 7. Array
Materi Pembelajaran
• Dasar-dasar Algoritma dan Pemrograman:
• Arti dan manfaat algoritma, Konsep dasar algoritma, Teknik
menuliskan algoritma, Pseudocode
• Arsitektur Data:
• Operator aritmatik, relasional, bitwise dan logical, Ekspresi,

Tipe Data Primitif, Identifiers


• Control Sequence (Sequence dan Selection):
• Struktur Sequence, Struktur Selection, Statemen If (single

selection), Statemen If else (double selection), Nested if •


Multiple Selection:
• Switch Multiple Selection Statement, Ekspresi kompleks

dalam control statement, Nested switch


• StrukturPengulangan:
• Statemen For, Statemten While-Do dan Repeat-Until,

Statemen break and continue, Nested loop


Materi Pembelajaran
• Sub Program (Fungsi dan Prosedur):
• Konsep, Bentuk umum, Menggunakan parameter dalam Sub Program

• Array dan Record:


• Konsep array, Mendeklarasikan dan membuat array, Array Multidimensi, Konsep
Record, Mendeklarasikan dan membuat record, Array of Record, Enumerasi dan
Subrange
• Rekursi:
• Konsep rekursi, Cara menuliskan dan menggunakan metode rekursi, Cara menentukan
kasus dasar dan langkah rekursi dalam suatu algoritma, Bagaimana metode rekursi
dijalankan dalam sistem, Perbedaan antara rekursi dan iterasi serta kapan
menggunakannya, Penggunaan rekursi, Teknik pemecahan masalah menggunakan
rekursi
• Pencarian:
• Konsep Pencarian, Pencarian Sekuensial, Pencarian Biner, Efisiensi algoritma
pencarian
• Pengurutan:
• Konsep Pengurutan, Algoritma Pengurutan dasar, Bubble Sort, Insertion Sort, Selection
Sort

REFERENSI
1. Michael Van Canneyt. Reference Guide For Free Pascal Version 2.6.4. Free Pascal,
2014. 2. Thomas H. Cormen, et.al. “Introduction to Algorithms, Third Edition”. MIT Press.
2009 3. Sam A. Abolrous. Learn Pascal in Three Days, 3rd edition. Wordware Publishing,
2002. 4. Turbo Pascal Developer. Turbo Pascal Ver 7.0 Languange Guide.Borland
International, 1992.

Pendukung
• Muhammad Zarlis dan Handrizal. Algoritma dan Pemrograman Teori dan
Praktik dalam Pascal, edisi kedua. USU Press, 2008.
• Paul Deitel dan Harvey Deitel. Java TM How To Program, 9th, Pearson Prentice Hall,
2012.
8
8

CAPAIAN PEMBELAJARAN
MINGGU 1
Capaian Pembelajaran Mata Kuliah (CPMK)

1. Menguasai konsep algoritma dan dasar pemrograman


2. Mampu merancang algoritma untuk memecahkan masalah

Sub-Capaian Pembelajaran Mata Kuliah (SubCPMK)

1. Mampu menjelaskan konsep algoritma dan bentuk


algoritma seperti flowchart dan pseudocode
2. Mampu merancang algoritma baik dalam bentuk
pseudocode maupun flowchart
Materi Pertemuan 1

Arti dan manfaat algoritma Teknik menuliskan algoritma, Konsep dasar

algoritma Pseudocode

10
Algoritma

• Pendekatan atau metode yang digunakan untuk


memecahkan masalah ini dikenal sebagai algoritme •
Algoritma: urutan langkah logis untuk menyelesaikan
masalah tertentu
Asal kata Algoritma

Al-Khwārizmī, Ahli Matematika, Astronomi, Geografi


dll
value form and applying a set of
memorized rules and facts to the digits
algorism Algoritmi Algorithm
calculation
method
the technique of performing basic
a sequence of finite instructions, often
arithmetic by writing numbers in place
used for calculation and data
processing

Al-Khawarizmi lahir sebelum tahun 780 M dan meninggal setelah


tahun 847 M. Nama lengkapnya adalah Abu Abdullah Muhammad
ibn Musa. Ia dikenal dengan sebutan Al-Khawarizmi karena
berasal dari Khawarizm, sebuah daerah di timur laut Kaspia.
Manfaat Algoritma

Mengotomatiskan solusi permasalahan yang ingin diselesaikan


1.

program.
Menyederhanakan alur kerja dan logika program untuk memudahkan
2.

programmer menulis kode


Mencegah penulisan kode program yang sama secara berulang.
3. 4.

Memudahkan penelusuran masalah apabila terdapat bug atau error


program
Meringankan pekerjaan programmer saat mengupdate atau menambah
5.

fitur-fitur baru di program.


13

Syarat algoritma yang baik (Donald


E. Knuth):
1. Finiteness.Algoritma yang baik harus ada akhir atau berhenti
setelah mengerjakan sederetan instruksi.
2. Defineteness. Setiap langkah algoritma harus didefinisikan
dengan tepat dan jelas sehingga tidak menimbulkan makna
ganda(ambiguous).
3. Input.Algoritma yang baik harus memiliki masukan data untuk
diolah.
4. Output. Algoritma yang baik adalah algoritma yang
menghasilkan output atau keluaran yang merupakan hasil
dari pengolahan data masukan.
5. Effectiveness. Memiliki langkah-langkah atau instruksi yang
sederhana, sehingga dapat dikerjakan dalam waktu yang
cukup wajar.
Tahap-Tahap Algoritma dan Pemrograman
Penyajian
Algoritma: Bentuk penyajian
untuk algoritma dibagi menjadi 2 (dua)
bentuk penyajian, yaitu : ● Dengan
Tulisan
● struktur
Bahasa Inggris/Indonesia
● Pseudocode

● Dengan Gambar
● Misal dengan Flowchart

Struktur Bahasa Indonesia

Sifat: Umum
● Tidak menggunakan simbol atau sintaks
dari suatu bahasa pemrograman. ● Tidak
tergantung pada suatu bahasa
pemrograman.
● Notasi-notasinya dapat digunakan untuk
seluruh bahasa manapun.
Struktur Bahasa Indonesia
Contoh : Menghitung rata-rata tiga buah

data

Algoritma dengan struktur bahasa Indonesia :


1) Masukkan nilai bilangan a, b, dan c 2)
Jumlahkan ketiga bilangan tersebut dan
simpan di jumlah
3) Bagi jumlah dengan 3 dan simpan di hasil
4) Tulis hasil
Pseudocode
Penyajian algoritma dengan
pseudocode berarti menggunakan kode
yang mirip dengan kode pemrograman
yang sebenarnya. Pseudocode lebih
rinci dari English/Indonesia Structure.
Pseudo-Code
Contoh :
Menghitung rata-rata tiga buah data

1) input (a, b, c)
2) Jml = a+b+c
3) Rerata = Jml/3
4) Output (Rerata)
Flowchart
❖ Flowchart (diagram alir) adalah
sebuah bagan yang dibuat untuk
menunjukan alir, arus, atau flow
dengan menggunakan prosedur yang
sistematis dan berlaku secara logis
dalam suatu sistem
Kelebihan Flowchart

• Dapat menggambarkan urutan atau tahapan dari


penyelesaian masalah secara sederhana, terurai,
rapi dan jelas
Jenis-jenis Flowchart
• Flowchart Sistem (System Flowchart)
Bagan yang menunjukkan arus pekerjaan secara keseluruhan dari
sistem. • Flowchart Dokumen (Document Flowchart)
bagan alir yang menunjukkan arus dari laporan dan formulir termasuk
tembusan tembusannya.
• Flowchart Skematik (Schematic Flowchart)
merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk
menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik
selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan
gambar-gambar komputer dan peralatan lainnya yang digunakan.
• Flowchart Proses (Process Flowchart)
Bagan yang menggambarkan proses dalam suatu prosedur.
• Flowchart Program (Program Flowchart)
bagan yang menjelaskan secara rinci langkah-langkah dari proses program.
Program Flowchart

• Merupakan keterangan yang lebih rinci tentang


bagaimana setiap langkah program atau prosedur
sesungguhnya dilaksanakan. Flowchart ini
menunjukkan setiap langkah program atau prosedur
dalam urutan yang tepat saat terjadi

Lambang
Lambang (2)
Lambang (3)
Lambang (4)
Lambang (5)
Contoh Flowchart

Problem:
Menentukan
Bilangan ganjil
Atau Genap
STRUKTUR DASAR
ALGORITMA
Struktur dasar algoritma :
1. Struktur Runtunan (Sequence Proses)
2. Struktur Pemilihan (Selection Proses) 3.
Struktur Pengulangan (Iteration Proses)
Struktur Runtunan

❑ Sebuah runtunan terdiri dari satu atau lebih


‘instruksi’;
❑ Tiap-tiap instruksi dilaksanakan secara
berurutan sesuai dengan urutan
penulisannya;
❑ sebuah instruksi baru bisa dilaksanakan
setelah instruksi sebelumnya selesai
dilaksanakan.
Struktur Runtunan
Struktur Pemilihan
❖ Pada struktur ini, jika kondisi terpenuhi maka
salah satu aksi akan dilaksanakan dan aksi
yang ke dua diabaikan.
❖ Kondisi adalah persyaratan yang dapat dinilai
benar atau salah sehingga akan memunculkan
‘aksi’ yang berbeda dengan ‘kondisi’ yang
berbeda.
Struktur Pemilihan

Notasi algoritmik:
if Syarat then
Aksi {True}
endif {False}
Struktur Pemilihan

Notasi Algoritma,
IF syarat THEN
aksi-1 {true}
ELSE
aksi-2 {false}
ENDIF
Struktur Pemilihan
CONTOH :
Menentukan bilangan terbesar diantara 3 bilangan:

‘if’ x > y ‘then’


‘if’ x > z ‘then’
tulis x sebagai bilangan terbesar
‘else’
tulis z sebagai bilangan terbesar
‘else’
‘if’ y > z ‘then’
tulis y sebagai bilangan terbesar
‘else’
tulis z sebagai bilangan terbesar
Struktur Pengulangan

Digunakan untuk program yang


pernyataannya akan dieksekusi
berulang-ulang.
Instruksi dikerjakan selama memenuhi suatu
kondisi tertentu.
Jika syarat (kondisi) masih terpenuhi maka
pernyataan (aksi) akan terus dilakukan
secara berulang.
Struktur Pemilihan
For-Next

For var=awal to akhir


…………….
instruksi-instruksi
……………..
Next var
Struktur Pengulangan
While - do
Bentuk umum :

While {kondisi} do
…………..
instruksi-instruksi
…………..
Endwhile

Struktur
Pengulangan Repeat - Until

Bentuk Umum ;
Repeat
………………..
Instruksi
………………...
Until (kondisi)

Pengulangan
Contoh :
Contoh :
Struktur Algoritma Cetak_Angka
{mencetak 1, 2, .., 8 ke
piranti keluaran}
Deklarasi :
K: integer
Deskripsi :
K 1 {inisialisasi} Deklarasi :
while k <= 8 do K: integer
write (k) Deskripsi :
kk+1 K 1 {inisialisasi}
endwhile repeat
Algoritma Cetak_Angka write (k)
{mencetak 1, 2, .., 8 ke kk+1
piranti keluaran} until k > 8
Contoh kasus

• Ada 2 gelas kosong berukuran: 5 liter dan 3 liter •


Bagaimana cara kita mendapatkan air berukuran 4 liter?
Cara

• Masukkan air ke 3 liter hingga penuh


• Masukkan air 3 liter ke 5 liter, sisa 2 liter kosong •
Masukkan air ke 3 liter hingga penuh
• Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di
gelas 2 liter
• Buang seluruh air di gelas 5 liter tadi
• Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga
ke 5 liter kosong
• Masukkan air ke 3 liter hingga penuh
• Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter
tadi, hingga kita dapat 4 liter
Tugas

● Buatlah resume materi dasar-dasar algoritma dan pemrograman


● Buat Flowchart bilangan terbesar dari x y z

● Buat algoritma dari bertukar 2 isi gelas diketahui 1 gelas kosong (ada 3 gelas, 2 gelas terisi, 1

gelas kosong)
● Buatlah contoh algoritma dari aktivitas sehari-hari

46

Anda mungkin juga menyukai