2 Ekspresi
2 Ekspresi
MK ALGORITME DAN
Ekspresi
PEMROGRAMAN
SEKOLAH VOKASI IPB
Buat langkah-langkah untuk melakukan hal-hal berikut:
1. Menjumlahkan 4 bilangan bulat.
2. Menentukan bilangan terbesar dan terkecil dari tiga bilangan bulat.
3. Menentukan sisa pembagian suatu bilangan bulat dengan x (x > 0).
9/14/2020 2
Contoh: Menjumlahkan empat bilangan
bulat
Berapa buah nilai yang diperlukan dari pengguna? Empat buah
Apa tipe nilai yang diharapkan? Integer
Berapa buah variabel yang diperlukan?
◦ Secara naif:
◦ 4 buah variabel penampung masukan dari pengguna
◦ 1 buah variabel penampung hasil penjumlahan
◦ Apakah bisa menggunakan variabel yang lebih sedikit?
◦ Ingat bahwa utamakan dulu correctness (keluaran sesuai dengan yang
diharapkan) sebelum melakukan optimasi kode untuk efisiensi
◦ Juga perlu mempertimbangkan keterbacaan kode
◦ Optimasi tidak selalu menghasilkan peningkatan kinerja yang
signifikan
9/14/2020 3
Literal dan Variabel
Literal: 123, 3.14, 2+3j, '123‘
Program juga perlu penampung data yang dapat berubah → variabel
◦ Kita tidak selalu mengetahui nilai yang akan diproses karena perlu masukan dari pengguna
◦ Pemrosesan memerlukan penampungan data sementara (termasuk untuk kemudahan
membaca program)
Setiap data dan instruksi yang diperlukan komputer harus disimpan di memori
Nama simbolis digunakan untuk mempermudah penyebutan
◦ Alamat memori tidak "ramah" bagi manusia
◦ Alamat memori sesungguhnya bersifat dinamis
◦ Format alamat memori beragam antar-sistem operasi
9/14/2020 4
BERARTI nilai di sisi kanan disimpan ke penampung data di sisi kiri
BUKAN nilai di sisi kanan sama dengan nilai di sisi kiri
Variabel sederhana
Nama Variabel Assignment Literal/Nama
Operator Variabel/Ekspresi
x 5678
_variabel 1.25
a12 5.5+2.2j
Y1 "Berikan"
Var-1 = 'abc'
1x _var
X 1 a + 3
elif abc
9/14/2020 5
Beberapa tipe data bawaan di Python:
◦ Integer (int) 123
◦ Floating point number (float) 3.14
◦ Complex number (complex) 2+3j
◦ Teks atau string (str) '123', "a", "abc123", '1.75'
Lihat: https://docs.python.org/3.5/library/stdtypes.html
9/14/2020 6
Chained & Multiple Assignment
Chained assignment
a = b = c = 1
Multiple assignment
a, b, c = 1, 2, 3
Mempertukarkan nilai dua variabel
// Mempertukarkan nilai dua
a, b = b, a // variabel dalam Bahasa Pascal
temp := a;
a := b;
b := temp;
9/14/2020 7
Fungsi Mencetak (Output)
Argumen Argumen
"Hello" 5678
1234 "abc"
print( 5678 , 1234 ... )
_var 5678
a + _var _var
9/14/2020 8
Variabel Prompt string
Penampung
a "Berikan masukan:"
_var = input( X1 )
X1 X1 + " masukan:" *
Exit code 0 → program berakhir dengan normal Process finished with exit code 0
9/14/2020 10
a, b = input().split()
a = int(a)
b = int(b)
9/14/2020 11
Ekspresi
Terdiri atas operand dan operator
0 = False
Jika bilangan dicek secara logika:
Selain 0 = True
9/14/2020 13
Operasi Pembandingan
9/14/2020 14
Operator + dan * untuk String
+ operator concatenation (penyambungan string)
* operator perbanyakan string
Jika suatu string ingin disambungkan dengan suatu bilangan, bilangan tersebut HARUS di-cast ke
string
◦ Nilai/variabel di Python bersifat strongly typed (casting harus eksplisit untuk operasi yang tidak kompatibel:
bilangan vs string)
◦ Bahasa seperti PHP bersifat loosely typed
16
Di Antara Karakteristik Program yang Baik
Correct
Efficient
Robust: siap menghadapi berbagai skenario penggunaan termasuk yang tidak diharapkan
◦ Contoh: program mengharapkan masukan integer tetapi pengguna mengisikan data bertipe lain
1.25
Traceback (most recent call last):
File "C:/Users/Ahmad Ridha/PycharmProjects/untitled1/test2.py", line 1, in <module>
a = int(input())
ValueError: invalid literal for int() with base 10: '1.25'
9/14/2020 17
Masukan yang Robust
Buat kode yang siap menangkap kegagalan
try:
a = int(input("Isikan nilai a: "))
except ValueError:
print("Harap masukkan angka!")
exit(1)
Perhatikan kode ValueError sesuai pesan kesalahan yang terjadi jika
masukan tidak sesuai
Exit code selain 0 menunjukkan ada masalah
9/14/2020 18
Selesai – Lanjut Praktikum
9/14/2020 19