Pemrograman MicroPython
Penyusun:
Dr. Eko Subiyantoro, S.Pd, S.ST, MT
4. PRAKTIKUM 1
5. PEMROGRAMAN TERSTRUKTUR
1.2. Pendahuluan
Python adalah bahasa pemograman tingkat tinggi yang dapat digunakan secara luas di berbagai
bidang. Python diciptakan pertama kali oleh Guido van Rossum pada tahun 1991. Sintaks dan fungsi
pada Python dipengaruhi oleh beberapa bahasa seperti C, C++, Lisp, Perl dan Java. Oleh karena
itu, kita dapat menemui konsep pemograman prosedural, fungsional dan object-oriented di
Python. Python relatif mudah dipelajari bila dibandingkan dengan C++, Java dan PHP karena
sintaks Python lebih singkat, lebih jelas dan mudah dipahami oleh programmer pemula.
PyPy merupakan implementasi dari bahasa pemrograman Python yang ditulis dengan Python.
Interpreter ditulis dalam RPython (bagian dari Python) seperti dalam Gambar 1.1
Python: Interpreter yang menerjemahkan bahasa python ke bahasa mesin, sehingga program bisa
dijalankan pada operating sistem Linux, tidak perlu diinstal. Karena Sebagian besar distro Linux
sudah menyediakannya secara default. Untuk mengeceknya, silahkan ketik perintah python --
version di terminal.
$ python –version
Instalasi python di Windows dengan mendownload file python.msi, pada alamat situs resminya
yaitu https://www.python.org/downloads/windows/
Setelah download selesai, kita akan mendapatkan file python-3.9.0.msi. File python-3.9.0.msi
adalah file instalator python. File ini akan melakukan instalasi ke sistem windows.
input(“Teks”)
print(“Teks”, isi_varabel)
Artinya, teks yang kita inputkan dari keyboard akan disimpan ke dalam nama_variabel.
# Mengambil input
nama = input("Siapa nama kamu ? ")
umur = input("Berapa umur kamu ? ")
# Menampilkan output
print ("Hello",nama,"umur kamu adalah",umur,"tahun")
Hasilnya:
print c #output: 3
Pembagian nilai a dan b menghasilkan 3 (integer). Mengapa demikian?
Karena nilai a dan b bertipe integer, maka hasilnya pun berupa integer.
Bagaimana agar hasilnya ada komanya?
Tentu kita harus merubah tipe variabel a dan b menjadi bilangan pecahan (float) dulu, baru setelah
itu dibagi.
a = 10
b=3
c = float(a) / float(b) #output: 3.3333333333333335
print c
Fungsi float() akan mengubah nilai a menjadi 10.0 dan b menjadi 3.0.
Fungsi-fungsi untuk mengubah tipe data:
int() untuk mengubah menjadi integer;
long() untuk mengubah menjadi integer panjang;
float() untuk mengubah menjadi float;
bool() untuk mengubah menjadi boolean;
chr() untuk mengubah menjadi karakter;
str() untuk mengubah menjadi string.
bin() untuk mengubah menjadi bilangan Biner.
hex() untuk mengubah menjadi bilangan Heksadesimal.
oct() untuk mengubah menjadi bilangan okta.
Variabel
Variabel merupakan tempat menyimpan data, sedangkan tipe data adalah jenis data yang
terseimpan dalam variabel.
Contoh:
Kemudian untuk melihat isi variabel, kita dapat menggunakan fungsi print.
print variabel_ku
print variabel2
1.3.2 Operator
Operator merupakan simbol-simbol yang digunakan untuk melakukan operasi tertentu.
Ada enam jenis operator dalam pemrograman yang wajib diketahui:
1. Operator Aritmatika
2. Operator Pembanding/Relasi
3. Operator Penugasan
4. Opeartor Logika
5. Operator Bitwise
6. Operator Ternary
1. Operator Aritmatika
Opeartor aritmatika terdiri dari:
2. Operator Relasi
Operator ini digunakan untuk membandingkan dua buah nilai. Operator ini juga dikenal
dengan operator relasi dan sering digunakan untuk membuat sebuah logika atau
kondisi.
Tabel 1. 2 Operator Relasi
Operator Simbol
Lebih Besar >
Lebih Kecil <
Sama Dengan ==
Tidak Sama dengan !=
Lebih Besar Sama dengan >=
Lebih Kecil Sama dengan <=
Contoh:
a=9
b=5
c=a<b
Apakah isi dari variabel c?
Isinya adalah False, karena nilai 9 lebih kecil dari 5 (9 < 5) adalah salah (False).
3. Operator Logika
Operator logika digunakan untuk membuat operasi logika, seperti logika AND, OR, dan
NOT.Operator logika terdiri dari:
Contoh:
a = True
b = False
# Logika AND
c = a and b
print (a, "and", b, "adalah", c)
if test expression:
statement(s)
Program mengevaluasi ekspresi test dan akan mengeksekusi pernyataan hanya jika ekspresi
test adalah True. Dalam Python, isi pernyataan if ditunjukkan oleh indentasi. Isi perintah if dimulai
dengan indentasi baris pertama dan yang tidak diberi indentasi menandai akhir. Flowchart
perintah if…else ditunjukkan dalam Gambar 1.5
Analisa Program
Dalam contoh di atas, num> 0 adalah ekspresi uji. Isi if dijalankan hanya jika bernilai True. Ketika
variabel num sama dengan 3, ekspresi uji adalah True dan pernyataan di dalam tubuh if
dijalankan. Jika variabel num sama dengan -1, ekspresi uji salah dan pernyataan di dalam tubuh
if dilewati. Pernyataan print () berada di luar blok if (tidak diberi jarak). Karenanya, ini dijalankan
terlepas dari ekspresi pengujian.
if test expression:
Body of if
else:
Body of else
Pernyataan if..else mengevaluasi ekspresi pengujian dan akan mengeksekusi isi if hanya jika
kondisi pengujian adalah True. Jika kondisinya False, maka tubuh dari else dieksekusi. Indentasi
digunakan untuk memisahkan blok. Flowchart perintah if…else ditunjukkan dalam Gambar 1.6
Contoh
num = -1
if num >= 0:
print("Positive or Zero")
Analisa Program
Dalam contoh di atas, ketika num sama dengan 7, ekspresi uji adalah True dan isi if dijalankan
dan isi else dilewati. Jika num sama dengan -5, ekspresi tesnya False maka isi if dilewati dan isi
else dijalankan.
if test expression:
Body of if
elif test expression:
Body of elif
else:
Body of else
Elif adalah kependekan dari else if. Ini memungkinkan kita untuk memeriksa beberapa ekspresi.
Jika kondisi jika False, ia memeriksa kondisi blok elif berikutnya dan seterusnya. Jika semua
kondisinya False, body dari else dieksekusi. Hanya satu blok di antara beberapa blok if ... elif ...
else dijalankan sesuai dengan kondisi. Blok if hanya dapat memiliki satu blok lagi. Tapi itu bisa
memiliki beberapa blok elif. Flowchart perintah if…else ditunjukkan dalam Gambar 1.7
Contoh
num = 3.4
Analisa Program
Ketika variabel num bernilai positif, maka Positive number dicetak. Jika num bernilai 0, maka
Zero dicetak. Jika num bernilai negatif, maka Negative number dicetak.
Kita dapat memiliki pernyataan if ... elif ... else di dalam pernyataan if ... elif ... else. Ini disebut
nested dalam pemrograman komputer.
Sejumlah pernyataan ini bisa bertumpuk di dalam satu sama lain. Indentasi adalah satu-satunya
cara untuk mengetahui tingkat bersarang. Mereka bisa membingungkan, jadi harus dihindari
kecuali jika perlu.
Contoh:
num = int(input("Enter a number: "))
if num >= 0:
if num == 0:
print("Zero")
else:
print("Positive number")
else:
print("Negative number")
Output 1:
Enter a number: 5
Positive number
Output 2:
Enter a number: -1
Negative number
Output 3:
Enter a number: 0
Zero
Bidang Keahlian: Laboratorium: Tanggal:
Juli. 2023
70 01 02 VT
Teknologi Informasi RPL-403 Hal
Program Keahian: Pemrograman Rev.Tanggal: Dibuat oleh:
12 - 29
Pengembangan PL dan Gim Terstruktur 27/06/2023 Eko Subiyantoro
1.5. Pengulangan Proses (Looping)
Secara umum, pernyataan dieksekusi secara berurutan: Pernyataan pertama dalam suatu fungsi
dijalankan pertama, diikuti oleh yang kedua, dan seterusnya. Mungkin ada situasi ketika Anda
perlu mengeksekusi blok kode beberapa kali.
Bahasa pemrograman menyediakan berbagai struktur kontrol yang memungkinkan jalur
eksekusi yang lebih rumit. Pernyataan loop memungkinkan kita untuk mengeksekusi pernyataan
atau sekelompok pernyataan beberapa kali.
Tabel 1.5 Perintah-Perintah Python Loop
No Perintah Diskripsi
1 For Menjalankan urutan pernyataan beberapa kali dan menyingkat kode
yang mengelola variabel loop.
2 while Mengulangi pernyataan atau sekelompok pernyataan saat kondisi
yang diberikan True. Ini menguji kondisi sebelum menjalankan badan
perulangan.
3 Nested loop Anda dapat menggunakan satu atau lebih loop di dalam while lainnya,
for atau do.. while loop.
print(numbers)
print("The sum is", sum)
Fungsi range()
Kita bisa menghasilkan urutan angka menggunakan fungsi range(). range (10) akan
menghasilkan angka dari 0 sampai 9 (10 angka).Kita juga bisa mendefinisikan ukuran start, stop
dan step sebagai range(start, stop, step_size). step_size default ke 1 jika tidak disediakan.
Untuk memaksa fungsi ini mengeluarkan semua item, kita dapat menggunakan function list().
Kita bisa menggunakan fungsi range () di for loop untuk mengulang melalui urutan angka. Itu
dapat dikombinasikan dengan fungsi len () untuk mengulang melalui urutan menggunakan
pengindeksan. Berikut ini contohnya.
genre = ['pop', 'rock', 'jazz']
for i in digits:
print(i)
else:
print("No items left.")
Saat Anda menjalankan program, hasilnya adalah:
0
1
5
No items left.
Di sini, loop for mencetak item dari daftar hingga loop habis. Ketika loop for habis, ia
mengeksekusi blok kode di else dan mencetak no items left.
Pernyataan for...else dapat digunakan dengan kata kunci break untuk menjalankan blok else
hanya jika kata kunci break tidak dieksekusi. Mari kita ambil contoh:
Output:
Perulangan while dalam Python digunakan untuk mengulang satu blok kode selama ekspresi uji
(kondisi) benar.Kami biasanya menggunakan perulangan ini ketika kami tidak mengetahui berapa
kali untuk mengulang sebelumnya.
while test_expression:
Body of while
Dalam while loop, ekspresi tes diperiksa terlebih dahulu. Isi loop hanya dimasukkan jika
test_expression bernilai True. Setelah satu iterasi, ekspresi tes diperiksa lagi. Proses ini berlanjut
hingga test_expression bernilai False. Di Python, body loop while ditentukan melalui lekukan.
Body dimulai dengan lekukan dan baris pertama yang tidak menjorok menandai akhir. Python
mengartikan nilai bukan nol sebagai True. None dan 0 diartikan sebagai False. Flowchart perintah
while ditunjukkan dalam Gambar 1.9
n = int(input("Enter n: "))
while i <= n:
sum = sum + i
i = i+1 # update counter
Analisa Program
Dalam program di atas, ekspresi tes akan menjadi True selama variabel penghitung kita i kurang
dari atau sama dengan n (10 dalam program kita). Kita perlu meningkatkan nilai variabel counter
di badan loop. Ini sangat penting (dan kebanyakan dilupakan). Kegagalan untuk melakukannya
akan menghasilkan loop tak terbatas (loop tanpa akhir).
1.6. Fungsi
Di Python, fungsi adalah sekelompok pernyataan terkait yang melakukan tugas tertentu. Fungsi
membantu memecah program kita menjadi bagian yang lebih kecil dan modular. Seiring program
kami tumbuh semakin besar, fungsi membuatnya lebih terorganisir dan mudah dikelola. Selain
itu, ini menghindari pengulangan dan membuat kode dapat digunakan kembali disajikan dalam
Gambar 1.10
def function_name(parameters):
"""docstring"""
statement(s)
Di atas ditunjukkan adalah definisi fungsi yang terdiri dari komponen-komponen berikut.
1. Kata kunci def yang menandai dimulainya header fungsi.
2. Nama fungsi untuk mengidentifikasi fungsi secara unik. Penamaan fungsi mengikuti aturan
yang sama dalam menulis pengenal dengan Python.
3. Parameter (argumen) yang digunakan untuk meneruskan nilai ke suatu fungsi.
4. Titik dua (:) untuk menandai akhir dari header fungsi.
5. String dokumentasi opsional (docstring) untuk mendeskripsikan fungsi.
6. Satu atau lebih pernyataan python valid yang menyusun badan fungsi. Perintah harus memiliki
tingkat indentasi yang sama (biasanya 4 spasi).
7. Perintah return opsional untuk mengembalikan nilai dari fungsi.
Contoh
def greet(name):
print("Hello, " + name + ". Good morning!")
>>> greet('Paul')
Hello, Paul. Good morning!
greet('Paul')
return [expression_list]
Pernyataan ini dapat berisi ekspresi yang dievaluasi dan nilainya dikembalikan. Jika tidak ada
ekspresi dalam pernyataan return itu sendiri tidak ada di dalam fungsi, maka fungsi tersebut akan
mengembalikan objek None.
>>> print(greet("May"))
Hello, May. Good morning!
None
Di sini, None adalah nilai yang dikembalikan karena greet () langsung mencetak nama dan tidak
ada pernyataan return yang digunakan.
Contoh:
def absolute_value(num):
"""This function returns the absolute
value of the entered number"""
if num >= 0:
return num
else:
return -num
print(absolute_value(2))
print(absolute_value(-4))
Output:
2
4
Argumen
Dalam topik fungsi yang ditentukan pengguna, kita belajar tentang mendefinisikan fungsi dan
memanggilnya. Jika tidak, pemanggilan fungsi akan menghasilkan kesalahan. Berikut ini
contohnya.
Fungsi Rekursif
Rekursi adalah proses mendefinisikan sesuatu dalam istilah itu sendiri.Contoh dunia fisik adalah
menempatkan dua cermin paralel saling berhadapan. Objek apa pun di antara mereka akan
dipantulkan secara rekursif.
Dengan Python, kita tahu bahwa suatu fungsi dapat memanggil fungsi lain. Bahkan dimungkinkan
bagi fungsi untuk memanggil dirinya sendiri. Jenis konstruksi ini disebut sebagai fungsi rekursif.
Gambar 1.11 menunjukkan kerja fungsi rekursif yang disebut rekursi.
if x == 1:
return 1
else:
return (x * factorial(x-1))
num = 3
print("The factorial of", num, "is", factorial(num))
Output :
The factorial of 3 is 6
Mari kita lihat gambar yang menunjukkan proses langkah demi langkah dari apa yang sedang
terjadi:
1.7. Fungsi
Module di Python
Modul merujuk ke file yang berisi pernyataan dan definisi Python. File yang berisi kode Python,
misalnya: example.py, disebut modul, dan nama modulnya akan menjadi contoh. Kami
menggunakan modul untuk memecah program besar menjadi file kecil yang dapat dikelola dan
diatur. Selain itu, modul menyediakan kode yang dapat digunakan kembali. Kita dapat
mendefinisikan fungsi yang paling sering kita gunakan dalam sebuah modul dan mengimpornya,
daripada menyalin definisinya ke program yang berbeda. Mari kita buat modul. Ketik berikut ini
dan simpan sebagai example.py.
result = a + b
return result
Di sini, telah didefinisikan fungsi add () di dalam modul bernama example.py. Fungsi tersebut
mengambil dua angka dan mengembalikan jumlahnya.
>>> example.add(4,5.5)
9.5
Python memiliki banyak modul standar. Anda dapat melihat daftar lengkap modul standar Python
dan kasus penggunaannya. File-file ini ada di direktori Lib di dalam lokasi tempat Anda
menginstal Python. Modul standar dapat diimpor dengan cara yang sama seperti kita mengimpor
modul yang ditentukan pengguna. Ada berbagai cara untuk mengimpor modul.
Kita dapat mengimpor modul menggunakan pernyataan import dan mengakses definisi di
dalamnya menggunakan operator titik seperti dijelaskan di atas. Berikut ini contohnya,
import math
print("The value of pi is", math.pi)
Saat Anda menjalankan program, hasilnya adalah:
import math as m
print("The value of pi is", m.pi)
Penggantian nama modul math menjadi m. Ini dapat menghemat waktu mengetik dalam beberapa
kasus. Perhatikan bahwa nama math tidak dikenali dalam lingkup kami. Karenanya, math.pi tidak
valid, dan m.pi adalah implementasi yang benar.
Kita dapat mengimpor nama tertentu dari modul tanpa mengimpor modul secara keseluruhan.
Berikut ini contohnya.
Di sini, mengimpor atribut pi dari modul math. Dalam kasus seperti itu, kami tidak menggunakan
operator titik. Kami juga dapat mengimpor beberapa atribut sebagai berikut:
>>> from math import pi, e
>>> pi
3.141592653589793
>>> e
2.718281828459045
Kita dapat mengimpor semua nama (definisi) dari modul menggunakan konstruksi berikut:
Mengimpor (import *) semua definisi dari modul math. Ini mencakup semua nama yang terlihat
dalam cakupan kami, kecuali yang diawali dengan garis bawah.
Meng-import segala sesuatu dengan simbol asterisk (*) bukanlah praktik pemrograman yang
baik. Ini dapat menyebabkan definisi duplikat untuk pengenal. Itu juga menghambat pembacaan
kode kita.
Bidang Keahlian: Laboratorium: Tanggal:
Juli. 2023
70 01 02 VT
Teknologi Informasi RPL-403 Hal
Program Keahian: Pemrograman Rev.Tanggal: Dibuat oleh:
24 - 29
Pengembangan PL dan Gim Terstruktur 27/06/2023 Eko Subiyantoro
1.8. Tugas Praktikum
1.8.1 Kode Program terkait dengan Fungsi Input, Output, dan Operator
1. Jalankan dan analisa kode program :
# Ambil input untuk mengisi nilai
a = int(input("Inputkan nilai a: "))
b = int(input("Inputkan nilai b: "))
# apakah a < b?
c=a<b
print ("Apakah" ,a, "<" ,b, ":",c)
# apakah a > b?
c=a>b
print ("Apakah" ,a, ">" ,b, ":",c)
# apakah a <= b?
c = a <= b
print ("Apakah" ,a, "<=" ,b, ":",c)
# apakah a >= b?
c = a >= b
print ("Apakah" ,a, ">=" ,b, ":",c)
# Logika AND
c = a and b
print (a, "and", b, "adalah", c)
# Logika OR
c = a or b
print (a, "or", b, "adalah", c)
# Logika NOT
c = not a
print ("not", a, "adalah", c)
1.8.2 Kode Program terkait dengan Struktur Kontrol Percabangan dan Pengulangan
jawab = 'ya'
hitung = 0
while(True):
hitung += 1
jawab = input("Apakah Anda mau ulang lagi(ya/tidak)? ")
if jawab == 'tidak':
break
mainBidang.py
[2] Alee, R. (2013) Reading Data From a Digital Multimeter Using a Raspberry Pi,
Tesis, Turku University of Applied Science, Istambul.
[3] Richard Blum (2014), Python Programming for Raspberry Pi in 24 Hours, Sams
Teach Yourself.
[5] https://www.raspberrypi.org/documentation/usage/python/
[6] https://www.programiz.com/python-programming
[7] https://www.w3schools.com/python
[8] https://www.petanikode.com/tutorial/python/
[9] https://www.guru99.com/python-tutorials.html