Anda di halaman 1dari 32

Algoritma

Pemrograman

Bengkel Pemrograman 1
D3 Teknologi Telekomunikasi
Fakultas Ilmu Terapan
Tujuan Pembelajaran
• Definisi Algoritma
• Jenis-jenis Algoritma
• Flowchart
• Unsur Diagram Alir
Review Bahasa Pemrograman
• Bahasa Pemrograman (programming language) adalah sebuah
instruksi standar untuk memerintah komputer agar menjalankan
fungsi tertentu.
• Bahasa pemrograman ini merupakan suatu himpunan dari aturan
sintaks dan semantik yang dipakai untuk mendefinisikan program
komputer.
• Bahasa ini memungkinkan seorang programmer dapat menentukan
secara persis data mana yang akan diolah oleh komputer, bagaimana
data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis
yang akan diambil dalam berbagai situasi.
Tingkatan Bahasa Pemrograman
• Bahasa Tingkat Tinggi
Bahasa pemrograman masuk tingkat ini karena bahasa tersebut
mendekati bahasa manusia. Contohnya bahasa Basic, Visual Basic,
Pascal, Java, PHP.
• Bahasa Tingkat Menengah
Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat
tinggi maupun rendah. Contohnya bahasa C.
• Bahasa Tingkat Rendah
Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh
dari bahasa manusia. Contohnya bahasa Assembly.
Definisi Algoritma
• Algoritma pemrograman adalah urutan langkah logis tertentu untuk
memecahkan suatu masalah. Hal ini ditekankan pada urutan langkah
logis, yang artinya algoritma harus mengikuti suatu urutan tertentu,
dan langkah-langkahnya tidak boleh diloncat.
• Pengertian lainnya dari algoritma adalah urutan langkah-langkah logis
dalam penyelesaian masalah yang disusun secara sistematis.
Proses Pembuatan Program
1. Kompilasi
Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada kesalahan dalam
menulis program maka akan dibentuk kode mesinnya sehingga program bisa dijalankan. Program yang
melakukan tugas ini disebut Compiler. Program hasil kompilasi akan berbentuk executable. Program bisa
langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut.
Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, C++, Pascal, Assembly dan masih banyak
lagi.
2. Interpretasi (Interpretation)
Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan dieksekusi
perbaris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program
akan dihentikan. Program yang melakukan tugas ini disebut Interpreter. Pada teknik interpretasi tidak ada
akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode
sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi
misalnya bahasa Perl, Python, Ruby dan masih banyak lagi.
• Hybrid
Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus
interpretasi. Misalnya bahasa java. Dalam pembuatan program java kode sumber diubah menjadi bytecode.
Meskipun tampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable. Untuk
menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai
interpreter sehingga menghasilkan program dari bytecode tersebut.
Penulisan Algoritma
• Judul algoritma; Bagian yang terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya
singkat dan menggambarkan apa yang dilakukan oleh algoritma
tersebut.
• Deklarasi; Bagian untuk mendefinisikan semua nama yang digunakan
di dalam program. Nama tersebut dapat berupa nama tetapan,
peubah, tipe, prosedur dan fungsi.
• Deskripsi; Bagian ini berisi uraian langkah-langkah penyelesaian
masalah yang ditulis dengan menggunakan notasi yang akan
dijelaskan selanjutnya.
Ciri-ciri Algoritma
1. Finitness (keterbatasan)
Algoritma harus berakhir setelah mengerjakan sejumlah Langkah proses
2. Definitness (kepastian)
Setiap Langkah harus didefinisikan secara tepat dan tidak berarti ganda
3. Input (masukan)
Algoritma memiliki nol atau lebih data masukkan
4. Output (Keluaran)
Algoritma mempunyai nol atau lebih hasil keluaran
5. Effectiveness (efektivitas)
Algoritma harus efektif, Langkah-Langkah algoritma dikerjkan dalam
waktu yang wajar.
Sifat Algoritma
• Tidak menggunakan simbol atau sintaks dari suatu Bahasa
pemrograman tertentu
• Notasi-notasinya dapat digunakan untuk seluruh bahasa
pemrograman manapun.
• Tidak tergantung pada suatu bahasa pemrograman tertentu.
• Algoritma dapat digunakan untuk merepresentasikan suatu urutan
kejadian secara logis dan dapat diterapkan di semua kejadian sehari-
hari
Jenis Algoritma
Penulisan algoritma sendiri tidak tergantung dari spesifikasi bahasa
pemrograman dan kemampuan komputer yang mengeksekusinya.
Notasi algoritma bukan notasi bahasa pemrograman, namun algoritma
dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
1. Algoritma Narasi
2. Algoritma Pseudo Code
3. Algoritma Flowchart
Algoritma Narasi
• Contoh: Algoritma Kelulusan_mhs
• Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika nilai
mahasiswa lebih besar atau sama dengan 60 maka mahasiswa tersebut
dinyatakan lulus. Sedangkan jika nilainya lebih kecil dari 60, maka
mahasiswa tersebut dinyatakan tidak lulus.
• Algoritmanya akan seperti berikut:
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan
Algoritma Pseudo Code
• Contoh; Algoritma Kelulusan_mhs
• Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika nilai mahasiswa lebih
besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus. Sedangkan jika
nilainya lebih kecil dari 60, maka mahasiswa tersebut dinyatakan tidak lulus.
• Deklarasi dari tipe datanya akan seperti berikut:
Nama = string
Nilai = integer
Keterangan = string
• Algoritmanya akan seperti berikut:
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
Algoritma Flowchart
• Flowchart merupakan pengertian dari apa yang kita kenal dengan
nama diagram alur.
• Menunjukkan atau menggambarkan alur dari sebuah program, mulai
dari pertama kali dijalankan, hingga program tersebut ditutup.
• Flowchart ini merupakan sebuah sistem standar yang sudah umum
digunakan oleh para programmer dan juga pengembang aplikasi
dalam menyusun atau membuat sebuah program dan juga aplikasi.
Fungsi Flowchart
1. Untuk memastikan bahwa setiap program yang dibuat sudah
memiliki alurnya tersendiri secara dinamis.
2. Untuk menguniversalkan sebuah rancangan program
3. Untuk menggambarkan dan juga menjelaskan proses – proses yang
akan terjadi pada tiap – tiap sesi di dalam sebuah program atau
aplikasi
4. Sebagai pedoman dalam menyusun dan mengembangkan sebuah
program atau aplikasi
Jenis Diagram Alir (Flowchart)
1. Flowchart Sistem (System Flowchart) Flowchart sistem menggambarkan alur
kerja suatu sistem secara keseluruhan. Menjelaskan urutan prosedur-prosedur
dalam suatu sistem. Contohnya Flowchart Sistem suatu suatu pabrik, alur kerja
produksi suatu barang, dll
2. Flowchart Paperwork / Flowchart Dokumen (Document Flowchart) Bagian
dari Flowchart Sistem namun lebih spesifik kepada manajemen dokumen,
laporan, surat-surat, serta termasuk tembusannya.
3. Flowchart Skematik (Schematic Flowchart) Flowchart ini lebih teknis dengan
tambahan gambar-gambar teknis yang lebih detail.
4. Flowchart Program (Program Flowchart) Diagram alir program lebih detail
menggambarkan logika dari algoritma pemrograman.
5. Flowchart Proses (Process Flowchart) Sedangkan Flowchart Proses merupakan
penggambaran rekayasa industrial yang memecah dan menganalisis langkah-
langkah selanjutnya dalam suatu prosedur atau sistem.
Simbol Flowchart
Flowchart bilangan ganjil atau genap
• Bilangan genap adalah
sebuah bilangan bulat yang
akan habis atau tidak
memiliki sisa jika dibagi 2
(dua). Sedangkan bilangan
ganjil adalah sebuah
bilangan bulat yang tidak
akan habis apabila dibagi 2
(dua) atau ada sisa
pembagian.
Flowchart Tahun Kabisat
• Tahun kabisat adalah
sebuah tahun yang
memiliki tambahan 1 hari
yang bertujuan agar
kalender dapat
menyesuaikan dengan
keadaan astronomi. Saat
tahun kabisat, bulan
Februari memiliki 29 hari.
Tahun yang dapat untuk
dibagi dengan 4 adalah
tahun kabisat.
Flowchart Diskon Barang
• Algoritma untuk menentukan
biaya yang harus dibayar oleh
pembeli sesudah mendapat
diskon 10%. Syarat untuk
mendapatkan diskon tersebut
adalah jumlah dari total
pembelian sebesar
Rp.1.500.000,-.
• Jumlah barang memiliki sifat
yang dinamik sesuai dengan
masukan dari pengguna.
Intinya, jika total
pembeliannya kurang dari
1500000, maka pembeli tidak
akan mendapatkan diskon.
Pedoman Pembuatan Diagram Alir
(Flowchart)
• Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
• Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus
dapat dimengerti oleh pembacanya.
• Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
• Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
misalkan Nilai Akhir Mahasiswa.
• Setiap langkah dari aktivitas harus berada pada urutan yang benar.
• Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-
hati. Percabangan–percabangan yang memotong aktivitas yang sedang digambarkan
tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan
dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya
bila percabangannya tidak berkaitan dengan sistem.
• Gunakan simbol-simbol flowchart yang standar.
Algoritma vs Flowchart vs Pseudocode
Unsur-Unsur Diagram Alir
• Percabangan secara sederhananya adalah pilihan alur yang diambil
dari beberapa opsi yang ada, tergantung dari kondisi yang dicapai.
• Perulangan digunakan untuk mengulang suatu proses. Perulangan
dapat dilakukan terus-menerus selama program berjalan, sampai
didapatkan kondisi untuk keluar dari perulangan tersebut. Contohnya
perulangan untuk menampilkan angka 1 sampai 100, kondisi untuk
berhentinya adalah jika angka tersebut sudah mencapai 100.
Flowchart Percabangan
• Dalam pemrograman, percabangan
merupakan salah struktur kendali yang
memungkinkan pemilihan atas perintah yang
akan dijalankan.
• Percabangan sering disebut juga dengan
decisions atau pengambilan keputusan.
• Ada beberapa jenis percabangan yang sering
dipakai dalam pemrograman, yaitu:
1. Percabangan Sederhana
2. Percabangan Bersarang
3. Percabangan Kompleks
Percabangan Sederhana
• Secara sederhana percabangan dapat digambarkan seperti dalam flowchart
berikut:

• Pada flowchart di atas “perintah 1” akan dilakukan jika “kondisi benar”,


sedangkan “perintah 2” akan dilakukan jika ”kondisi salah“.
Percabangan Bersarang
• Bentuk dari percabangan
bersarang (Nested IF) sederhana
• Pada flowchart, “perintah 1” dilakukan
saat “kondisi 1” bernilai benar, sedangkan
jika nilainya salah, maka akan dijalankan
“kondisi 2”.
• Selanjutnya pada “kondisi 2”, jika nilainya
benar maka “perintah 2” akan dijalankan,
sedangkan jika salah maka “perintah 3”
yang akan dijalankan.
• Kedua bentuk percabangan di atas
merupakan dasar dari bentuk percabangan
selanjutnya, yaitu percabangan kompleks.
Percabangan Kompleks
• Sebuah percabangan dapat mempunyai
percabangan lain didalamnya, hal ini akan sangat
dibutuhkan dalam sebuah program yang
kompleks.
• Saat “kondisi 1” bernilai benar, maka akan
dilakukan pengecekan pada “kondisi 2” jika benar
maka “perintah 1” akan dilakukan, jika salah maka
“perintah 2” yang akan dilakukan.
• Sedangkan pengecekan pada “kondisi 3” akan
dilakukan jika hasil pengecekan pada “kondisi 1”
bernilai salah, selanjutnya hasil pengecekan
dari “kondisi 3” akan menentukan perintah yang
akan dilakukan, apakah “perintah 3” atau
“perintah 4”.
• Dari gambar flowchart percabangan kompleks
tersebut juga dapat dipilah bahwa “kondisi
1” dan “kondisi 3” mewakili percabangan
bersarang, sedangkan “kondisi 2” mewakili
percabangan sederhana.
Syntax Percabangan
Syntax yang umum digunakan dalam percabangan adalah :
• IF dan IF… ELSE untuk percabangan sederhana
• IF… ELSE IF… untuk percabangan bersarang

Selain itu ada syntax alternatif lain yang dalam bahasa pascal dikenal
dengan CASE…OF atau SWITCH dalam bahasa C,
Perulangan (Loop)
• Perulangan Iteratif merupakan struktur kontrol perulangan yang
umumnya menggunakan perintah-perintah yang telah tersedia pada
bahasa pemrograman, setiap bahasa pemrograman mempunyai
perintah perulangan yang berbeda-beda, tetapi secara umum ada tiga
perintah perulangan yang digunakan yaitu: For, While dan Repeat.
Dalam perulangan iteratif, proses perulangan akan dilakukan jika
kondisi untuk memulai proses perulangan terpenuhi dan akan
berhenti jika kondisi untuk menghentikan perulangan terpenuhi.
• Perulangan Rekursif adalah sebuah metode perulangan dengan
menggunakan fungsi. Dalam metode ini terdapat proses fungsi
melakukan pemanggilan dirinya sendiri, tetapi dalam fungsi tersebut
juga dibutuhkan keadan untuk menghentikan proses.
Perulangan Iteratif Perulangan Rekursif

• Pada function ”HitungPangkat”


terdapat proses pemanggilan
• Dari contoh diatas perulangan akan dirinya sendiri selama nilai dari
dilakukan jika nilai pangkat yang variabel b tidak sama dengan 0.
diinputkan (variabel y) lebih dari “0”
dan akan berhenti jika nilai variabel i
telah sama atau lebih dari nilai pangkat
yang diinputkan.
Kesimpulan
• Penyusunan aspek proses logika dari suatu pemecahan masalah
tanpa melihat karakteristik Bahasa pemrograman yang akan
digunakan
• Urutan notasi logika yang merupakan hasil analisis dan rancangan
sistematik dari strategi pemecahan masalah, untuk menggambarkan
urutan Langkah kerja yang jika dikerjakan akan membawa ke
tujuannya.
• Urutan logika langkah kerja untuk menyelesaikan suatu masalah
Thank You
References
• Python All-In-One for Dummies by John Shovic, Alan Simpson
• Python Basics A Self-Teaching Introduction by H. Bhasin
• https://www.duniailkom.com/tutorial-belajar-python-aturan-dasar-penulisan-kode-program-python/
• https://id.wikipedia.org/wiki/Bahasa_pemrograman
• https://dosenit.com/kuliah-it/rpl/contoh-algoritma-pemrograman-dasar
• https://ndoware.com/diagram-alir-flowchart.html

Anda mungkin juga menyukai