(Pertemuan 03) Sintaks Dasar Python

Python Basic Syntax

Offline di Departemen Matematika
Author

Tim Dosen Praktikum Algoritma dan Pemrograman

Published

September 10, 2024

Kembali ke Mata Kuliah Praktikum Algoritma dan Pemrograman

10 September 2024 - Pertemuan 3

Materi Pembahasan:

  1. Deeper with print function

  2. Reference to variable(s)

  3. Diskusi

Praktikum Algoritma dan Pemrograman PTA 2024-2025
Departemen Matematika FMIPA Universitas Indonesia

Bentuk Umum Print Function

  • print(value1, value2, value3, …, sep=’ ‘, end=’’, file=sys.stdout, flush=False)

  • value = any Python data type

  • sep adalah parameter opsional yang digunakan untuk menentukan karakter yang akan digunakan untuk memisahkan beberapa nilai yang dicetak. Secara default, sep adalah spasi (’ ’).

  • end adalah parameter opsional yang menentukan apa yang akan dicetak setelah semua nilai telah ditampilkan. Secara default, ini adalah karakter newline (‘’), yang berarti setelah mencetak nilai, kursor akan berpindah ke baris berikutnya.

  • file adalah parameter opsional yang menentukan ke mana output akan dikirim. Secara default, output dikirim ke konsol atau layar (menggunakan sys.stdout), tetapi Anda dapat mengubahnya untuk mengirim output ke file atau objek lain yang mendukung operasi menulis.

  • flush adalah parameter opsional yang menentukan apakah buffer output harus dibersihkan secara paksa atau tidak. Jika flush=True, output akan segera ditampilkan atau ditulis, mengabaikan buffering. Secara default, buffering diaktifkan untuk kinerja yang lebih baik.

Ini biasanya digunakan saat Anda ingin memastikan output langsung terlihat di layar atau file, terutama saat menjalankan program yang berjalan lama.

Jumlah_Mahasiswa = 51
RataRata_Nilai = 85.567
MataKuliah = 'Algoritma dan Pemrograman'
print("Jumlah mahasiswa = %d\n dengan rata-rata nilai = %.2f\tMata Kuliah = %s" %(Jumlah_Mahasiswa, RataRata_Nilai, MataKuliah))

# \n ==> ganti baris .... \t = Tabulasi
# hati-hati sebelum "%(" hanya spasi (bukan koma atau titik)
# %d = digit = integer
# %f = float ... .XYZf ===> banyak digit di belakang koma = xyz
# %s = string
Jumlah mahasiswa = 51
 dengan rata-rata nilai = 85.57 Mata Kuliah = Algoritma dan Pemrograman
Jumlah_Mahasiswa = 51
RataRata_Nilai = 85.567
MataKuliah = 'Algoritma dan Pemrograman'
print("Jumlah mahasiswa = {}\n dengan rata-rata nilai = {}\tMata Kuliah = {}".format(Jumlah_Mahasiswa, RataRata_Nilai, MataKuliah))
# perintah ".format()" pemisahnya titik
Jumlah mahasiswa = 51
 dengan rata-rata nilai = 85.567    Mata Kuliah = Algoritma dan Pemrograman
print("Jumlah mahasiswa = {}\n dengan rata-rata nilai = {:.2f}\nMata Kuliah = '{}'".format(Jumlah_Mahasiswa,RataRata_Nilai,MataKuliah))
Jumlah mahasiswa = 51
 dengan rata-rata nilai = 85.57
Mata Kuliah = 'Algoritma dan Pemrograman'
x, y, z = 7, 9.81, 'abc'  # inisialisasi dengan nilai baru
print('z={2} kemudian x={0}, dan akhirnya y={1}'.format(x, y, z))
print('z={2}, x={0}, y={1}'.format(x,y,z))
z=abc kemudian x=7, dan akhirnya y=9.81
z=abc, x=7, y=9.81
print(x,y,z,sep=':')
7:9.81:abc
# by default setiap memanggil fungsi print Python akan pindah baris
print(x)
print(y)
print(z)
7
9.81
abc
# Namun bisa diubah
print(x, end=', \n')
print(y, end=', \n')
print(z, end='.')
7, 
9.81, 
abc.

Pointer to Reference

# Hati-hati dengan copy of reference (Pointer to Variabel) yg implisit di Python
A =[2,3,4]
B = A
A.append(7) # Kita tidak melakukan apa-apa ke B
print('A = ', A)
print('B = ', B)
A =  [2, 3, 4, 7]
B =  [2, 3, 4, 7]
A =[2,3,4]
B = A.copy() # ini yang mirip dgn bahasa pemrograman lain B=A
A.append(7)
print('A = ', A)
print('B = ', B)
A =  [2, 3, 4, 7]
B =  [2, 3, 4]

Diskusi

Nomor 1

Telusuri apa error yang harus diperbaiki agar program berikut berjalan dengan baik.

r = float(input("Masukkan jari-jari lingkaran: "))
luas = 3.14 * r * r
print("Luas lingkaran dengan jari-jari", r, "adalah", luas)
Masukkan jari-jari lingkaran: 7.5
Luas lingkaran dengan jari-jari 7.5 adalah 176.625

Nomor 2

Lusi memiliki 23 potong kue. Setiap hari Lusi memakan n potong kue. Lusi ingin tahu berapa potong kue yang tersisa setelah memakan kue selama beberapa hari. Buatlah program yang meminta input jumlah kue yang dimakan Lusi per hari (n) dan menghitung berapa potong kue yang tersisa setelah dimakan selama beberapa hari.

totalkue=23
kueygdimakanperhari=int(input("Berapa kue yang dimakan Lusi per hari? : "))
berapahari=int(input("Selama berapa hari Lusi makan kue? : "))
totalkueygdimakan=kueygdimakanperhari*berapahari
sisakue=totalkue-totalkueygdimakan
if sisakue <= 0:
  print("Kue sudah habis!")
if sisakue > 0:
  print("Sisa potong kue Lusi adalah", sisakue)
Berapa kue yang dimakan Lusi per hari? : 3
Selama berapa hari Lusi makan kue? : 4
Sisa potong kue Lusi adalah 11
n=int(input("kue yang dimakan per hari:"))
a=23%n
print(a)
kue yang dimakan per hari:7
2

Nomor 3

Terdapat 250 modul praktikum yang harus dibagikan kepada mahasiswa. Setiap mahasiswa akan menerima jumlah modul yang sama. Buatlah program yang meminta input jumlah mahasiswa (n) dengan output berupa banyak modul yang diterima setiap mahasiswa dan jumlah modul yang tersisa (jika ada sisa modul yang tidak dapat dibagikan secara merata).

n = int(input("Masukkan jumlah Mahasiswa yang menerima modul praktikum: "))
a = int(input("Masukkan jumlah modul yang diterima setiap mahasiswa: "))
sisamodul = (250 - a*n)
if sisamodul <= 0:
  print("Modul Praktikum telah habis!")
if sisamodul > 0:
  print("Setiap mahasiswa menerima modul sebanyak", a,"dan modul yang tersisa sebanyak", sisamodul)
Masukkan jumlah Mahasiswa yang menerima modul praktikum: 50
Masukkan jumlah modul yang diterima setiap mahasiswa: 3
Setiap mahasiswa menerima modul sebanyak 3 dan modul yang tersisa sebanyak 100
n = int(input("Jumlah mahasiswa: "))
p = int(250/n)
if p == 0:
        print("Modul Praktikum kurang")
if p > 0:
        print("Jumlah modul yang diterima setiap mahasiswa: ", p)
        print("Jumlah modul yang tersisa: ", 250 % n)
Jumlah mahasiswa: 50
Jumlah modul yang diterima setiap mahasiswa:  5
Jumlah modul yang tersisa:  0