Pemrograman dasar Python

 Python merupakan bahasa pemrograman tingkat tinggi (high level language) sehingga mudah dibaca dan dipahami.Bahasa Python dibuat oleh programmer Belanda, Guido Van Rossum. Python lebih sederhana penggunaanya dibandingkan dengan bahasa pemrograman lainnya. Python dapat digunakan untuk membuat berbagai aplikasi CLI, aplikasi GUI, aplikasi mobile, IoT, Web, Game, dan lain-lain.

Python dapat di download secara gratis melalui situs https://www.python.org/.

Berikut video yang menunjukkan cara mengunduh dan menginstall Python:


Selain dapat diinstall dalam komputer kita, Python juga dapat digunakan secara online dengan online compiler seperti https://www.programiz.com/python-programming/online-compiler/

Berikut video yang mengulas cara menggunakan python online compiler:


Video berikut mengulas tentang cara membuat program dengan bahasa Python:

  • Sequence programming
    • Program menghitung volume balok
    • Program konversi dari gram ke kg dan gram
  • Selection programming
    • Mendeteksi bilangan genap dan ganjil
  • Iteration programming
    • Mencetak karakter berbentuk segitiga siku-siku

Berikut adalah contoh-contoh program yang dibuat dengan online gdb python compiler (https://www.onlinegdb.com/online_python_compiler)

Contoh program Python:
  • Menghitung luas persegi panjang (sequence)
#Program menghitung luas persegi panjang
#Oleh: Bu Tintin
#Declare panjang, lebar, luas: integer

panjang=int(input("Masukkan nilai panjang: "))
lebar=int(input("Masukkan nilai lebar: "))
luas=panjang*lebar
print("Luas persegi panjang: ",luas)

Keterangan:
Tanda # (hastag) digunakan untuk keterangan/ comment. Baris ini tidak dijalankan oleh program. Pada latihan-latihan berikutnya siswa diminta mencantumkan nama program, Oleh (nama lengkap penulis program), dan Declare.
#Declare digunakan untuk latihan agar siswa memahami nama variabel dan tipe variabel apa saja yang digunakan. Baris #Declare ini merupakan comment/ keterangan program.

Pada program diatas, variabel yang digunakan adalah panjang, lebar, dan luas. Tipe variabel integer (bilangan bulat). 
Perintah input yang digunakan:
panjang = int(input("Masukkan nilai panjang: "))
lebar int(input("Masukkan nilai lebar: "))

panjang dan lebar adalah nama variabel.
int adalah tipe variabel, yaitu integer.
input adalah perintah memasukkan nilai variabel dalam Python.
"Masukkan nilai panjang: " dan "Masukkan nilai lebar: " merupakan keterangan perintah yang akan ditampilkan.

Perintah output yang digunakan:
print("Luas persegi panjang: ",luas)

luas adalah nama variabel yang akan ditampilkan.
print adalah perintah menampilkan teks/ nilai variabel dalam Python.
"Luas persegi panjang: " adalah teks yang akan ditampilkan.

  • Menghitung luas lingkaran (sequence)
#Program menghitung luas lingkaran
#Oleh: Bu Tintin
#Declare const pi=3.14
#Declare r, luas: float

pi=3.14
r=float(input("Masukkan jari-jari lingkaran: "))
luas=pi*r*r
print("Luas lingkaran: ",luas)

Keterangan:
#Declare const pi=3.14 merupakan keterangan program, disini siswa diminta untuk mencantumkan agar belajar mengenali dan cara menggunakan variabel konstanta atau tetapan di dalam program. Variabel ini akan didefinisikan di awal tidak di-input-kan oleh user.

pi=3.14 merupakan cara memberikan nilai awal pada sebuah variabel.

#Declare r, luas: float merupakan keterangan program, tipe variabel yang digunakan adalah float/ bilangan pecahan.

r=float(input("Masukkan jari-jari lingkaran: "))

r adalah nama variabel.
float adalah tipe variabel bilangan pecahan.
input adalah perintah memasukkan nilai variabel dalam Python.
"Masukkan jari-jari lingkaran: " adalah keterangan perintah input yang ditampilkan.

Contoh hasil program:

pada program diatas, nilai jari-jari dimasukkan 10 sehingga hasil perhitungan luas = 314.0


Pada contoh diatas nilai input yang dimasukkan adalah 0.15 sehingga hasil perhitungan luas adalah 0.07064999999999. Tampilan jumlah angka dibelakang koma ini dapat diatur dengan menambahkan format variabel pada perintah print.

Perintah print ditulis ulang menjadi:
print("Luas lingkaran: %.2f %luas)
perhatikan penulisan format variabel %.2f 
% merupakan simbol format
.2f merupakan jumlah angka dibelakang koma adalah 2

Hasil program menjadi:

Setelah perintah print dimodifikasi dengan format variabel, hasil perhitungan luas menjadi 0.07 dengan 2 angka dibelakang koma.

  • Menghitung volume tabung (sequence)
#Program menghitung volume tabung
#Oleh: Bu Tintin
#Declare const pi=3.14
#Declare r, t, volume: float

pi=3.14
r=float(input("Masukkan jari-jari lingkaran: "))
t=float(input("Masukkan tinggi tabung: "))
volume=pi*r*r*t
print("Volume tabung: %.2f " %volume)

  • Mendeteksi bilangan bulat atau bilangan pecahan (selection)
Bilangan bulat atau disebut juga dengan bilangan penuh, terdiri dari 3 macam, yaitu bilangan bulat positif, bilangan bulat nol dan bilangan bulat negatif. Contoh: ..., 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, ...
Bilangan pecahan adalah bagian dari satu keseluruhan dari suatu kuantitas tertentu. Bilangan pecahan disebut juga fraction. Contoh: 0.5, 0.25, 0.15, -0.3, -0.175, dst.

Di dalam program Python, int merupakan instruksi yang menandakan bilangan integer dan juga dapat digunakan untuk membulatkan sebuah bilangan.
Jadi perintah int(2.5) hasilnya adalah 2
Hal ini dapat digunakan untuk mendeteksi apakah sebuah bilangan adalah bilangan bulat atau bilangan pecahan. Contoh: jika int(angka) = angka maka angka tersebut adalah bilangan bulat, jika tidak sama maka angka tersebut adalah bilangan pecahan.

Misal:
angka = 2.5
maka int(angka) atau int(2.5) = 2
disini dapat dikatakan bahwa int(angka) tidak sama dengan angka jadi angka adalah bilangan pecahan.

Di dalam program kita akan menggunakan perintah if untuk menguji kondisi angka.


Dari program diatas kita menggunakan 1 variabel, yaitu angka dengan tipe float. Bukankah float tipe bilangan pecahan? Apakah variabel float dapat digunakan untuk mendeteksi bilangan bulat?
Nah, berikut contoh jika kita memasukkan bilangan bulat.


Perhatikan nilai variabel angka yang diinputkan adalah 5, angka bulat ini dapat diterima dalam tipe bilangan float. Perhatikan nilai variabel angka yang diprint adalah 5.0, ini menunjukkan bahwa angka adalah tipe bilangan float (pecahan)
Jadi bilangan bulat dapat dimasukkan kedalam variabel bertipe bilangan pecahan di dalam program Python dan dituliskan dengan .0, contoh 5.0, 6.0, dst.

Keterangan program:
Pada program diatas terdapat baris perintah if yang dituliskan:
if int(angka)==angka:
    print(angka," adalah bilangan bulat")
else:
    print(angka," adalah bilangan pecahan")

if (kondisi): merupakan perintah untuk mendeteksi kondisi tertentu. Kondisi ini di deteksi dengan operator logika seperti: == (sama dengan), != (tidak sama dengan), > (lebih besar), < (lebih kecil), >= (lebih besar atau sama dengan), <= (lebih kecil atau sama dengan)
pada program diatas, kondisinya adalah int(angka) == angka

Perintah if ini diakhiri dengan tanda : dan ketika di tekan tombol enter maka akan otomatis membuat indentasi (jarak dari tepi). Perintah print(angka," adalah bilangan bulat") harus ditulis menggunakan indentasi yang berarti merupakan bagian dari perintah if.

else: merupakan perintah untuk memberikan perintah lain yang dijalankan jika kondisi tidak terpenuhi. Perintah else ini juga diakhiri dengan tanda : dan jika di tekan tombol enter maka akan otomatis membuat indentasi (jarak dari tepi).

  • Mendeteksi bilangan genap atau bilangan ganjil (selection)
Kapan sebuah bilangan dikatakan bilangan genap?
Jika bilangan tersebut habis dibagi 2. Habis dibagi 2 artinya tidak memiliki sisa bagi atau sisa bagi = 0. Contoh 18 dibagi 2 maka hasilnya adalah 9 sisa 0. Jadi 18 adalah bilangan genap. Perhatikan ilustrasi dibawah ini:
Contoh 21 dibagi 2 maka hasilnya adalah 10 sisa 1. Jadi 21 adalah bilangan ganjil. Perhatikan ilustrasi dibawah ini:
Di dalam Python terdapat operator aritmatika %. Tanda ini bukan tanda format variabel seperti program menghitung lingkaran. Tanda ini meskipun sama bentuk namun memiliki fungsi yang berbeda.
Tanda % ini disebut juga modulus (sisa pembagian) dan berfungsi untuk mendapatkan angka sisa pembagian. Contoh 18 % 2 = 0 (lihat gambar porogapit 18 diatas) sedangkan 21 % 2 = 1 (lihat gambar porogapit 21 diatas)
Kita akan menggunakan tanda operator aritmatika ini untuk kondisi if berikut:

#Program mendeteksi bilangan genap dan ganjil
#Oleh: Bu Tintin
#Declare angka: integer

angka=int(input("Masukkan sebuah angka: "))
if angka % 2 == 0:
    print(angka," adalah bilangan genap")
else:
    print(angka," adalah bilangan ganjil")

Keterangan program:
kondisi perintah if diatas adalah angka % 2 == 0, jadi jika angka yang dimasukkan di bagi 2 memiliki sisa bagi == 0 maka tampilkan angka dan teks " adalah bilangan genap", jika tidak maka tampilkan angka dan teks " adalah bilangan ganjil"

  • Menampilkan teks "I Love Programming" sebanyak n kali (iteration)
Desain pemrograman iteration/ repetition/ perulangan merupakan tipe pemrograman yang mengulang-ulang perintah selama kondisi tertentu terpenuhi. Ada 2 macam perintah untuk perulangan di dalam Python, yaitu for dan while.

Program menampilkan teks "I Love Programming" sebanyak n kali ini merupakan program yang akan mengulang perintah print sebanyak n kali. Nilai n merupakan jumlah perulangan, tentu saja tipe untuk variabel n ini harus bilangan bulat.


Perintah input:
n=int(input("Masukkan jumlah perulangan: "))

n merupakan variabel jumlah perulangan.
int merupakan tipe variabel yaitu integer (bilangan bulat).
input merupakan perintah memasukkan nilai variabel
"Masukkan jumlah perulangan: " merupakan keterangan perintah masukkan yang akan ditampilkan.

Perintah perulangan:
for index in range(n):
    print("I Love Programming")

for merupakan perintah perulangan.
index merupakan variabel penghitung/ pencacah yang menghitung perulangan.
in range merupakan bagian dari perintah perulangan untuk memasukkan jumlah perulangan.
Perintah perulangan diakhiri dengan tanda : dan jika di tekan tombol enter akan otomatis membuat indentasi (jarak dari tepi)
print("I Love Programming") merupakan perintah untuk menampilkan teks "I Love Programming"

Contoh program dengan perintah while:

Perintah perulangan:
while n>0:
    print("I Love programming")
    n=n-1

while merupakan perintah perulangan, perintah ini diakhiri dengan tanda : dan jika di tekan tombol enter akan otomatis membuat indentasi (jarak dari tepi).
n>0 merupakan kondisi, selama nilai n lebih besar dari 0 maka perintah print("I Love programming") dan n=n-1 akan terus diulang.

Sebuah perulangan dibatasi dengan kondisi dan perintah yang dapat menghentikan perulangan tersebut. Dalam perulangan while diatas, kondisinya adalah n > 0, sedangkan perintahnya adalah n = n -1 (nilai n dikurangi 1). Jadi nilai n yang dimasukkan akan diuji oleh kondisi n > 0, dan nilai n akan selalu dikurangi 1. Hingga suatu saat nilai n akan menjadi 0, pada saat itu perulangan akan berhenti.

  • Menghitung nilai faktorial (iteration)
Faktorial adalah bilangan bulat positif dari n yang dilambangkan n! Nilai n! (n faktorial) adalah hasil perkalian sela bilangan bulat positif yang kurang dari atau sama dengan n.
Contoh: 5! = 5 x 4 x 3 x 2 x 1 = 120

Di dalam pemrograman algoritma deskriptif penghitungan nilai faktorial ini adalah:
  • Masukkan nilai n
  • Hasil = 1
  • Lakukan perulangan untuk index = 1 hingga n:
    • Hasil = hasil*index
  • Tampilkan Hasil
Jika dituliskan dalam bahasa Python menjadi:


Keterangan perintah perulangan:
Pada perintah perulangan diatas, ditulis:
for index in range (1,n+1):
    hasil=hasil*index

di bagian in range dituliskan (1, n+1) yang berarti nilai index dimulai dari 1 hingga range (n+1). 
Di dalam Python, sebuah perulangan for dengan range (n) berarti perulangan dimulai dari angka 0 hingga n-1
Contoh for index in range (5) berarti perulangan akan dilakukan sebanyak lima kali dengan nilai index dimulai dari 0, 1, 2, 3, dan berhenti di nilai index 4.
Contoh lain for index in range (8) maka perulangan akan dilakukan sebanyak 8 kali dengan nilai index mulai dari 0, 1, 2, 3, 4, 5, 6, dan 7.
Jika perintah perulangan dituliskan for index in range (1,5) maka perulangan akan dilakukan dimulai dari nilai index 1 dengan range 5. Jadi jumlah perulangannya hanya 4, yaitu index= 1, 2, 3, dan 4. Mengapa berhenti di angka 4? Karena range-nya adalah 5.

Pada perintah perulangan for index in range (1,n+1): maka tergantung nilai n yang dimasukkan. Jika nilai n = 5 maka perintah tersebut akan menjadi for index in range (1,5+1): atau dapat juga dituliskan for index in range (1,6): sehingga perulangan akan dilakukan sebanyak 5 kali dari nilai index 1, 2, 3, 4, hingga 5.
Perintah yang diulang adalah hasil=hasil*index dimana nilai awal hasil adalah 1. Jadi urutan perhitungannya adalah:
n = 5
hasil = 1
perulangan for index in range (1,5+1):
  • index = 1  maka  hasil = hasil * index   berarti   hasil = 1 * 1 = 1
  • index = 2  maka  hasil = hasil * index   berarti   hasil = 1 * 2 = 2
  • index = 3  maka  hasil = hasil * index   berarti   hasil = 2 * 3 = 6
  • index = 4  maka  hasil = hasil * index   berarti   hasil = 6 * 4 = 24
  • index = 5  maka  hasil = hasil * index   berarti   hasil = 24 * 5 = 120
Bagaimana jika program faktorial ini ditulis dengan perintah while?


Perintah perulangan:
while n>0:
    hasil=hasil*n
    n=n-1

  • Menampilkan angka faktor dari bilangan tertentu (Selection dan Iteration)
Setiap bilangan memiliki angka faktor. Dalam hal ini bilangan yang digunakan adalah bilangan positif. Faktor adalah bilangan-bilangan tertentu yang dapat membagi habis suatu bilangan. Contoh: faktor bilangan 4 adalah 1, 2, dan 4. Faktor bilangan 6 adalah 1, 2, 3, dan 6. Faktor bilangan 7 adalah 1 dan 7.

Untuk mendeteksi suatu bilangan habis dibagi dengan bilangan lain dapat menggunakan operator aritmatika % (modulus). Masih ingat kan? Jika lupa silahkan cari penjelasannya di program mendeteksi bilangan genap dan ganjil ya.

Untuk mendapatkan angka faktor ini sebuah bilangan dapat diuji oleh operator % dari angka 1 hingga bilangan itu sendiri. Contoh untuk mendapatkan angka faktor dari 6 maka bilangan 6 diuji dengan operator % dari angka 1 hingga 6:
6 % 1 = 0
6 % 2 = 0
6 % 3 = 0
6 % 4 = 2
6 % 5 = 1
6 % 6 = 0
jika hasil pengujian sama dengan 0 maka angka tersebut adalah faktor jika tidak maka angka tersebut bukan faktor.

Program ini menggunakan desain perulangan/ iteration untuk mengulang angka faktor 1 hingga bilangan dan desain selection untuk menguji hasil pembagian (modulus).

Penulisan program dalam Python:

Jika kita lihat pencetakan hasil, maka angka faktor ditampilkan dari atas ke bawah. Nah, bisakah kita menampilkan hasil berderet ke samping? Tentu bisa, tambahkan saja format di bagian print sehingga program menjadi:

Fungsi perintah end di dalam Python adalah mengganti karakter standar/ default yang dicetak di layar. Secara standar/ default setiap pencetakan diikuti karakter \n yang artinya ganti baris. Pada perintah diatas print(index,end=" ") karakter terakhir diganti " " (spasi) sehingga pencetakan berikutnya hanya dipisahkan oleh spasi.

Bagaimana jika program diatas dituliskan dengan perintah while? Coba kamu kerjakan untuk berlatih.

  • Mendeteksi bilangan prima atau bukan prima (Selection dan Iteration)

Sebuah bilangan dikatakn prima jika bilangan tersebut lebih besar dari 1 dan hanya memiliki 2 faktor, yaitu 1 dan bilangan itu sendiri.
Contoh: bilangan 2 adalah prima, karena 2 lebih besar dari 1 dan angka faktor 2 adalah 1 dan 2.
Bilangan 4 bukan prima, karena 4 memiliki angka faktor, 1, 2, dan 4.
Bilangan -5 bukan prima, karena -5 lebih kecil dari 1.

Program ini menggunakan desain iteration atau perulangan untuk menemukan angka faktor dan desain selection untuk mendeteksi faktor dari bilangan.

Ada banyak cara penulisan program mendeteksi bilangan prima ini. Salah satunya program berikut:


Keterangan program:

#Declare prima : boolean adalah keterangan bahwa program menggunakan variabel prima dengan tipe data boolean. Tipe data ini hanya memiliki 2 buah nilai, yaitu True (benar) dan False (salah). Perhatikan penulisannya di dalam Python, kedua nilai ditulis dengan huruf pertama huruf kapital. Penulisan yang salah akan berakibat error.

Nilai awal variabel prima adalah True. Selection pertama adalah if n>1: yang mendeteksi bilangan n yang dimasukkan. Jika n lebih besar dari 1 maka akan dilakukan proses selanjutnya, jika tidak maka nilai variabel prima = False.
else:
    prima=False

Jika n lebih besar dari 1, maka proses selanjutnya adalah mendeteksi apakah ada faktor bilangan dari angka 2 hingga n-1, jika ada maka nilai variabel prima = False dan proses berhenti (break).
for index in range(2,n):
        if n % index == 0:
            prima=False
            break

Setelah itu langkah terakhir adalah menampilkan keterangan yang sesuai dengan selection berikut:
if prima == False:
    print("Bilangan ",n," bukan prima")
else:
    print("Bilangan ",n," adalah prima")

Bagaimana jika program diatas dituliskan dengan perintah while? Coba kamu kerjakan untuk berlatih.

  • Mendeteksi kata palindrom atau bukan (Iteration, Text)
Sebuah kata dikatakan palindrom jika kata tersebut dibolak balik tetap sama. Contoh: "katak" jika ditulis terbalik dari belakang ke depan juga "katak" sehingga "katak" merupakan kata palindrom. Contoh kata palindrom lainnya adalah "malam", "ini", "aba", "ada", dan lain-lain.

Disini kita akan menggunakan variabel yang bertipe string atau teks. String atau teks ini merupakan kumpulan dari huruf atau character. Sehingga string juga dapat dianggap sebagai array dari character.

Operator yang digunakan untuk teks antara lain: 
  • Assignment: =
  • Concatenate: + (penambahan huruf/ teks)
  • Comparison: == (equal) dan != (not equal)
  • String slicing: []
  • Membership: in (part of) dan not in 
Pada program kali ini kita akan menggunakan operator concatenate dan string slicing. Concatenate digunakan untuk menambahkan huruf atau karakter, sedangan string slicing digunakan untuk mengambil karakter ke-n. Contoh: sebuah kata "ARDUINO" maka huruf ke-0 dari kata tersebut adalah "A" dan dapat ditulis menjadi kata[0]="A". Secara lengkap dapat ditulis berikut:
kata[0]="A"
kata[1]="R"
kata[2]="D"
kata[3]="U"
kata[4]="I"
kata[5]="N"
kata[6]="O"

Fungsi teks yang akan kita gunakan adalah len. Fungsi len digunakan untuk mengukur panjang kata atau jumlah karakter dalam kata tersebut). Contoh sebuah kata "ARDUINO" memiliki panjang 7 huruf dan dapat ditulis menjadi len(kata)=7.

Algoritma deskriptif untuk program palindrom ini adalah:
  • Masukkan sebuah kata_asal.
  • Beri nilai awal kata_baru = "" (kosong)
  • Lakukan perulangan sepanjang kata_asal dari index terakhir:
    • Tambahkan karakter index terakhir dari kata_asal ke dalam kata_baru
  • Jika kata_baru == kata_asal maka kata tersebut adalah palindrom, jika tidak maka bukan palindrom.
hasil program Python:

Keterangan program:
  1. Perintah input pada program adalah kata_asal=input("Masukkan sebuah kata: "). Perhatikan, untuk perintah input variabel string, tidak perlu menuliskan tipe data sebelum perintah input.
  2. kata_baru="" merupakan perintah untuk memberikan nilai kosong pada variabel kata_baru. Nilai kosong ini bukan spasi ya, jadi hanya gabungan tanda kutip saja.
  3. for index in range(len(kata_asal)): merupakan perulangan sebanyak panjang kata.
  4. kata_baru=kata_baru+kata_asal[len(kata_asal)-index-1] merupakan perintah untuk menambahkan huruf ke-n dari kata_asal ke kata_baru. Dimana n dimulai dari huruf terakhir yang dirumuskan: len(kata_asal)-index-1 Contoh sebuah kata "ARDUINO" maka len(kata)-index-1 menjadi 7-index-1, jika index=0 maka 7-0-1=  6 maka kata[len(kata)-index-1] = "O". Jika index = 1 maka 7-1-1= 5 dan kata[len(kata)-index-1]="N", dan seterusnya.
  5. if kata_baru == kata_asal: merupakan perintah untuk mendeteksi apakah kata_baru sama dengan kata_asal. Jika sama, maka print("Kata ",kata_asal," adalah palindrom") jika tidak else: maka print("Kata ",kata_asal," bukan palindrom")

Tentu saja program ini masih dapat diubah menggunakan perintah perulangan while. Nah, coba kalian buat program palindrom yang lain.




0 comments:

Post a Comment