ALGORITMA
PEMROGRAMAN
PEMROGRAMAN DASAR (PERTEMUAN 1-8) Ahmadi Andianto, S.Kom
SMK Negeri 1 Tapen Bondowoso
ALGORITMA PEMROGRAMAN ( 8 X 2 TM)
Konsep algoritma
Struktur algoritma
algoritma menggunakan bahasa natural
Pengenalan Variabel
Pengenalan tipe data
Pengenalan operator
Pseudocode
Flowchart
Penggunaan Tool flowchart
KONSEP &
STRUKTUR ALGORITMA
PEMROGRAMAN DASAR (PERTEMUAN 1-2)Ahmadi Andianto, S.Kom
SMK Negeri 1 Tapen Bondowoso
MATERI PERTEMUAN 1
Konsep algoritma
Struktur algoritma
algoritma menggunakan bahasa natural
JADI PROGRAMMER ITU MUDAH….
SemangatBerlatih Mencoba
TIPS BELAJAR
PROGRAMMING
Buat Catatan
Baca Buku/Lihat Tutorial
Latihan Koding
SYARAT DASAR PROGRAMMER
KEMAMPUAN KODING
Belajar Pemrogramman
KEMAMPUAN LOGIKA YANG BAIK
Belajar Algoritma
APA YANG KALIAN LAKUKAN JIKA…
Berangkat ke Sekolah?
Mengerjakan Tugas dari Guru?
Membeli makanan di kantin?
FAKTA YANG ADA…
Ada tahapan yang harus diikuti pada tiap proses
Tahapan yang harus diikuti tersebut disusun secara logis
Jika tahapan tersebut tidak diikuti, maka proses tidak
akan berhasil
ALGORITMA ADALAH…
Menurut : Kamus Besar Bahasa Indonesia
Urutan logis pengambilan putusan untuk pemecahan suatu masalah
Menurut : Rinaldi Munir
Urutan langkah-langkah logis penyelesaian masalah yang disusn sistematis
Menurut : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi
urutan langkah logis untuk menyelesaikan masalah tertentu
SEJARAH ALGORITMA
Algoritma berasal dari nama penulis buku, yakni Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi yang berasal dari Uzbekistan. Orang Barat
menyebut Al-Khwarizmi dengan Algorism.
Pada saat itu, Al-Khwarizmi menulis buku dengan judul Al Jabar wal- Muqabala yang artinya 'Buku Pemugaran dan Pengurangan' (The book of Restoration and Reduction). Dari judul buku tersebut, kita juga
memperoleh kata “aljabar” atau biasa dikenal dengan algebra.
Abu Abdullah Ibnu Musa al-Khawarizmi (770M-840M) lahir di Khawarizm (Kheva), kota yang berada di selatan Sungai Oxus
(sekarang disebut Uzbekistan) pada 770 M. Al Khawarizmi merupakan salah satu ilmuan terkenal di zamannya. Ada beberapa cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal sebagai astronom dan geografer.
Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-
aturan aritmetis yang berguna untuk menyelesaikan persoalan dengan menggunakan bilangan numeric Arab.
STRUKTUR DASAR ALGORITMA
Algoritma Sekuensial
Algoritma Percabangan
Algoritma Perulangan
ALGORITMA SEKUENSIAL
Sebelum berangkat ke sekolah, Rama menyantap menu sarapan yang telah disiapkan oleh ibunda tercinta. Selanjutnya ia
memastikan seluruh tugas dan buku pelajaran untuk hari itu.
Setelah seluruh memastikan tidak ada sesuatu yang tertinggal,
Rama berpamitan dan meminta doa keselamatan dari Ayah dan Bundanya. Kemudian Ramapun berangkat ke sekolah bersama teman-teman terbaiknya
Menyantap Sarapan
Cek Tugas & Pelajaran
Berpamitan pada Orang Tua
Berangkat dengan Teman
ALGORITMA SEKUENSIAL
Ketika jam istirahat tiba, Rama dan teman-temannya
menghabiskan waktu di Kantin Bu Enda.
Bu Enda dikenal sangat teliti saat menerima pembayaran dari
pembelinya. Ia menghitung pembayaran dengan teliti, Jika uang pembayaran lebih, maka Bu Enda pasti memberikan uang
kembalian.
Menghitung pembayaran
Bayar
lebih? Berikan Kembalian
Tidak ada Kembalian t
y
ALGORITMA PERULANGAN
Setelah istirahat, Rama mengikuti pembelajaran praktik. Guru
memberikan tugas untuk
membuat program input data.
Pada percobaan pertama, program Rama gagal total, namun ia tidak putus asa. Ia kembali mengulang membuat program sampai akhirnya ia sukses pada percobaan ke 12.
Akhirnya ia mengumpukan praktiknya pada guru.
Buat Program Input
Program Sukses?
Kumpulkan ke guru t
y
TUGAS PERTEMUAN 1
Buatlah sebuah contoh kasus yang terjadi di sekolah untuk :
Algoritma Sekuensial
Algoritma Percabangan
Algoritma Perulangan
VARIABEL, TIPE DATA,
OPERATOR
PEMROGRAMAN DASAR (PERTEMUAN 3-4) Ahmadi Andianto, S.KomSMK Negeri 1 Tapen Bondowoso
MATERI
Mengenal Varibel
Mengenal Tipe Data
Mengenal Operator
PENGANTAR
Variabel, operator dan tipe data merupakan tiga hal yang akan selalu kita jumpai ketika kita membuat program. Bahasa pemrograman apapun dari yang paling sederhana sampai yang paling kompleks, mengharuskan kita untuk mengerti ketiga hal tersebut
Dalam kehidupan sehari-hari, ketiga hal tersebut sebenanya sering kita jumpai. Dalam pertemuan kali ini kita akan membahasnya secara lebih detail…
ILUSTRASI SINGKAT A = 5
B = 6
A + B = …
A dan B, dapat diisi dengan nilai berapapun tergantung kebutuhan dalam program. A dan B adalah TEMPAT DATA yang akan diolah oleh program
5 dan 6 adalah isian dari variable A.
Isi dari variabel memiliki TIPE DATA yang bisa berbeda tergantung
kebutuhan. Dalam contoh ini, 5 dan 6 adalah tipe angka.
Tanda + adalah sebuah sebuah symbol Dari FUNGSI OPERASI yang akan mengolah
nilai-nilai yang diberikan
DEFINISI VARIABEL
Tempat dimana kita dapat mengisi atau mengosongkan
nilainya dan memanggil kembali apabila dibutuhkan.
Setiap variabel akan mempunyai nama (identifier) dan nilai
IDENTIFIER NILAI
Nama Dedy
Alamat Sukosari
Umur 15
Hobby Melukis
CARILAH VARIABLE,
KEMUDIAN TENTUKAN
IDENTIFIER DAN NILAINYA
Hallo semua…. Nama Saya Microsoft Windows 10. Saya adalah produk terbaru dari perusahaan Microsoft Corporation. Saya dapat dibeli secara online melalui toko online Amazone. Toko juga menyediakan berbagai aplikasi lain.
Harga jual saya saat ini masih di atas 2 juta rupiah. Harga tersebut pantas dengan fasilitas yang saya tawarkan. Jika anda membeli pada tanggal 1 Januari 2014, maka anda akan mendapatkan diskon khusus 25 %.
Demikian dahulu perkenalan kita… Sampai berjumpa….
DEFINISI TIPE DATA
Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam
pemrograman komputer.
Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya.
Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan
pemakaian sumberdaya komputer (terutama memori komputer).
Tipe Data
Keterangan
Integer Angka Bilangan Bulat Float Angka dengan pechan Character Kararkter Alfabet
String Sekumpulan character Boolean Benar/Salah
TIPE DATA STANDAR
TENTUKAN TIPE DATA DARI VARIABLE INI
No VARIABEL TIPE DATA
IDENTIFIER NILAI
1 Nama Jojon Suherman
2 Umur 50
3 Alamat Malang
4 Makanan Favorit Bakso
5 Berat 56,6
6 Status Aktif Benar
OPERATOR
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi.
Contoh operator misalnya
menjumlahkan dua buah nilai, memberikan nilai ke suatu
variabel, membandingkan kesamaan dua buah nilai dan sebagainya.
SIMBOL FUNGSI
+ Penjumlahan - Pengurangan
* Perkalian / Pembagian
% Pembagian sisa (Modulus)
< Lebih kecil
> Lebih besar
JENIS OPERATOR
Operator Aritmatika : Melakukan operasi yang hasilnya adalah angka, misalnya penjumlahan, pengurangan, pembagian, perkalian
Operator Logika : Melakukan operasi yang hasilnya
adalah BENAR atau SALAH, misalnya perbandingan.
TENTUKAN JENIS OPERATORNYA
No Operasi Jenis Operator
1 C = B + A
2 X = 2 (A * 5) 3 Y = 5 < A
4 Z = 2A – 3A
4 B = (2*A) > (4*A)
TUGAS PERTEMUAN 2
Sediakan kartu pembayaran dana komite dari sekolah. Dari data tersebut tentukan Variabel, Tipe Data, dan Operator yang digunakan.
PSEUDOCODE
PEMROGRAMAN DASAR (PERTEMUAN 5-6) Ahmadi Andianto, S.Kom
SMK Negeri 1 Tapen Bondowoso
MATERI
Mengenal Pseudocode
Membuat notasi Pseudocode
PENGANTAR
Langkah pertama dalam membuat algoritma adalah dengan membuat sebuah narasi (uraian) tentang tahapan-tahapan penyelesaian masalah.
Pembuatan narasi ini akan memudahkan analisa untuk menentukan langkah penyelesaian dalam program.
Akan tetapi bentuk narasi memiliki kelemahan yaitu membutuhkan waktu untuk membaca, dan terkadang pembaca memiliki kesimpulan yang
berbeda dengan maksud awal narasi.
Karena itu narasi disederhanakan dalam bentuk langkah-langkah yang lebih ringkas sehingga lebih jelas dipahami dan lebih mudah
diimplementasikan.
PENGERTIAN PSEUDOCODE
Berasal dari dua kata : PSEU (menyerupai) CODE (kode), sehingga secara bahasa dapat bermakna menyerupai kode
Pseudocode merupakan penulisan algoritma dengan mengacu pada bentuk kode bahasa pemrograman, namun tidak mengacu pada satu bahasa
tertentu dan dapat diimplementasikan pada seluruh bahasa pemrograman
Pseudocode dibuat dengan bahasa yang mudah dimengerti oleh manusia, dan tidak ada standar baku dalam penulisannya.
CONTOH IMPLEMENTASI
Dalam bentuk narasi
Untuk menghitung sisa kembalian dari sebuah pembayaran, maka masukkan terlebih dahulu total pembelian, kemudian masukkan nilai pembayaran. Terakhir
kurangi nilai pembayaran dengan total pembelian untuk
menentukan sisa kembalian.
Setelah itu tampilkan sisa kembalian
Dalam Pseudocode
Mulai
Input Total Pembelian
Input Nilai Pembayaran
Sisa Kembalian Nilai
Pembayaran-Total Pembayaran
Write Sisa Kembalian
Selesai
OPERASI DASAR DALAM PSEUDOCODE
Menerima Data (input)
Menampilkan Informasi (output)
Perhitungan Aritmatika (Compute)
Memberikan nilai ke identifier (Store)
Membandingkan dan Memilih (Compare)
Melakukan Perulangan (Loop)
MENERIMA DATA (INPUT)
Penjelasan
Adalah kondisi dimana computer menerima input dari pengguna
Statemen yang digunakan bisa menggunakan kata INPUT, READ, GET, atau BACA.
Contoh
Input NilaiA
Read NilaiA
Get NilaiA
Baca NilaiA
MENAMPILKAN INFORMASI
Penjelasan
Kondisi dimana computer
menampilkan sebuah informasi kepada pengguna.
Informasi ini biasanya berasal dari data yang sudah diolah dalam
operasi tertentu.
Statemen yang digunakan bisa menggunakan kata PRINT, WRITE, OUTPUT, atau CETAK
Contoh
Print SisaKembalian
Write SisaKembalian
Output SisaKembalian
Cetak SisaKembalian
OPERASI ARITMATIKA
Penjelasan
Operasi aritmatika menggunakan operator yang telah dikenal
Biasanya variable yang hasil operasi diletakkan di bagian depan, sedangkan operasi
aritmatika diletakkan setelahnya
Contoh
Luas = panjang * Lebar
Sisa = Bayar – TotalBeli
Nilai = (UTS + (2 * UAS))/3
MEMBERIKAN NILAI KE IDENTIFIER
Penjelasan
Dilakukan ketika sebuah variable (identifier) membutuhkan nilai awal sebelum dioperasikan
Nilai bisa diberikan dengan
menggunakan statemen SET. Bisa juga dengan menggunakan sama dengan (=) untuk mengisikan
nilai variable.
Contoh
SET Phi To 3,14
Phi = 3,14
MEMBANDINGKAN DAN
MEMILIH (PERCABANGAN)
Penjelasan
Dilakukan dalam kasus
percabangan di mana program diminta memilih beberapa pilihan berdasarkan kriteria
Statemen yang digunakan biasanya IF-THEN-ELSE
Contoh
IF belanja > 100000 THEN diskon = 10 %
ELSE
diskon = 5 % ENDIF
MELAKUKAN PERULANGAN (LOOP)
Penjelasan
Dilakukan dalam kasus
perulangan, di mana program
akan mengulang proses sejumlah batasan yang diberikan
Statemen yang digunakan biasanya DOWHILE - ENDDO
Contoh
DO WHILE angka<10 CETAK angka
angka = angka +1 ENDDO
TUGAS
Lakukan wawancara dengan Bendahara sekolah! Kumpulkan informasi tentang langkah-langkah pembayaran dana komite.
Buatlah pseudocode langkah-langkah pembayaran tersebut!
FLOWCHART
PEMROGRAMAN DASAR (PERTEMUAN 7-8) Ahmadi Andianto, S.Kom
SMK Negeri 1 Tapen Bondowoso
MATERI
Mengenal Flowchart dan Simbol-simbolnya
Menerapkan flowchart dalam persiapan pemrograman
PENGANTAR
Pseudocode pada dasarnya sudah cukup untuk mengilustrasikan sebuah algoritma. Namun karena tidak ada bentuk standar, maka sangat mungkin terjadi pemilihan statemen yang berbeda untuk kasus yang sama.
Karena itu, standarisasi bentuk penulisan menjadi sangat dibutuhkan agar terjadi keseragaman symbol dan bahasa yang pada akhirnya dapat
mempermudah programmer dalam proses penulisan kode programnya
Standarisasi symbol biasa terjadi pada Flow Chart
PENGERTIAN FLOWCHART
Flowchart berasal dari kata flow (aliran) dan Chart (diagram) yang secara harfiah dapat diartikan sebagai diagram alir
Flowcart menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbol-simbol standar.
Karena symbol yang digunakan adalah standar, maka flowchart dapat
digunakan sebagai acuan standar dalam menggambarkan aliran program dari sejak dimulai sampai selesai
46
SIMBOL-SIMBOL FLOWCHART
Flow direction symbols
Digunakan untuk menghubungkan simbol satu dengan yang lain
Disebut juga connecting line
Processing symbols
Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur
Input / Output symbols
Menunjukkan jenis peralatan yang digunakan sebagai media
input atau output
47
FLOW DIRECTION SYMBOLS
Simbol arus / flow
Menyatakan jalannya arus suatu proses
Simbol communication link
Menyatakan transmisi data dari satu lokasi ke lokasi lain
Simbol connector
Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama
Simbol offline connector
Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda
48
PROCESSING SYMBOLS
Simbol process
Menyatakan suatu tindakan (proses) yang dilakukan oleh komputer
Simbol manual
Menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer
Simbol decision
Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan jawaban : ya / tidak
Simbol predefined process
Menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal
Simbol terminal
Menyatakan permulaan atau akhir suatu program
49
PROCESSING SYMBOLS
Simbol keying operation
Menyatakan segal jenis operasi yang diproses dengan
menggunakan suatu mesin yang mempunyai keyboard
Simbol offline-storage
Menunjukkan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu
Simbol manual input
Memasukkan data secara manual dengan menggunakan online
keyboard
50
INPUT / OUTPUT SYMBOLS
Simbol input/output
Menyatakan proses input atau output tanpa tergantung jenis peralatannya
Simbol punched card
Menyatakan input berasal dari kartu atau output ditulis ke kartu
Simbol magnetic tape
Menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis
Simbol disk storage
Menyatakan input berasal dari dari disk atau output disimpan ke disk
51
INPUT / OUTPUT SYMBOLS
Simbol document
Mencetak keluaran dalam bentuk dokumen (melalui printer)
Simbol display
Mencetak keluaran dalam layar monitor
MENGHITUNG LUAS PERSEGI PANJANG
52
Input
lebar
Start
End
Input panjang
Luas = panjang * lebar Print Luas
PSEUDOCODE
Mulai
Input Panjang
Input Lebar
Luas = panjang * Lebar
Output Luas
Selesai
FLOWCHART
TUGAS
Dari pseudocode yang telah dibuat pada tugas sebelumnya, ubahlah ke dalam bentuk Flow Chart!
SELANJUTNY A…
Kalian akan lebih
mendalami algoritma percabangan selama 6 kali tatap mula….
Pastikan kalian sudah memahami seluruh materi sebelum
melanjutkan ke pembahasan selanjutnya..