Dalam Python assignment suatu variabel dengan suatu nilai dapat dilakukan dengan berbagai cara, seperti umumnya dalam bahasa pemrograman lain, melalui tuple untuk asignment beberapa nilai sekaligus, menukar nilai variabel, dan lainnya [1]. Para pengembang yang melompat menggunakan bahasa pemrograman Python dari bahasa pemrograman lainnya, seperti C++ dan Java, sering dibingungkan oleh proses melewatkan argumen pada Python, di mana model data terpusat-obyek dan bagaimana model ini memperlakukan assignment adalah penyebab kebingungan ini pada tingkat fundamental [2]. Untuk menyalin suatu list sebaiknya digunakan methode .copy
agar menjadi obyek yang berbeda [3], yang bila digunakan operator sama dengan =
hanya akan membuat referensi antar obyek sehingga pengubahan pada obyek yang satu akan mengubah pula obyek yang lain [4]. Di sini akan dibahas membuat sebuah list dua dimensi baru, sebagai suatu matriks, yang berisi angka nol dengan ukuran yang dikehendaki. Lebih tepatnya adalah membuat suatu matriks nol baru.
Suatu matriks nol dengan dimensi $m \times n$ contohnya sebagai berikut
\begin{equation}\label{eqn:zero-matrix} Z = \left[ \begin{array}{ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \newline 0 & 0 & 0 & 0 & 0 & 0 & 0 \newline 0 & 0 & 0 & 0 & 0 & 0 & 0 \newline 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{array} \right], \end{equation}
untuk jumlah baris $m = 4$ dan jumlah kolom $n = 7$.
Suatu pustaka matrix.py
berisikan
# matrix.py
# Simple matrix library using list
# 20220216 Create this example.
# print only two-dimension matrix in form of a list
def printmat(m):
# assume that all rows have the same columns
row = len(m)
col = len(m[0])
# iterate through rows then colums
for r in range(row):
for c in range(col):
print(m[r][c], end='\t')
print()
diperlukan agar dapat menggunakan printmat
dalam program berikut
# 0480-matrix-no-numpy-zero.py
# Create an empty matrix with dimensions row and col
# 20220216 Create this example.
import matrix as mat
# create an new two-dimension matrix in form of a list filled with zero
def newmat(row, col):
# create empty matrix
m = []
# iterate through rows then colums
for r in range(row):
newrow = []
for c in range(col):
newrow.append(0)
m.append(newrow)
return m
# create a new zero matrix
row = 4
col = 2
m = newmat(row, col)
# display results
print("row:")
print(row)
print("col:")
print(col)
print("m:")
mat.printmat(m)
yang memberikan hasil
==== RESTART: 0480-matrix-no-numpy-zero.py ====
row:
4
col:
2
m:
0 0
0 0
0 0
0 0
saat dijalankan.
Modifikasi kode di atas, sehingga mat
dapat tetap digunakan, dapat dijalankan di OneCompiler 3xtkwnm9x, yang memerlukan definisi suatu namespace mat
berisikan fungsi yang diperlukan untuk menggantikan baris import matrix as mat
#import matrix as mat
class mat:
# print only two-dimension matrix in form of a list
def printmat(m):
# assume that all rows have the same number of columns
row = len(m)
col = len(m[0])
# iterate through rows then colums
for r in range(row):
for c in range(col):
print(m[r][c], end='\t')
print()
agar tidak perlu mengubah baris kode yang lain. Penggunaan pustaka matrix
ini adalah untuk menyembuyikan fungsi-fungsi yang bukan menjadi fokus pembahasan di sini sehingga contoh program dapat masih cukup ringkas.
— Sparisoma Viridi (@6unpnp) February 17, 2022