Anda di halaman 1dari 8

{

"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Python Matriks dan NumPy Array"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Matriks adalah struktur data dua dimensi di mana angka-angka disusun menjadi
baris dan kolom. Contohnya :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img
src=\"https://cdn.programiz.com/sites/tutorial2program/files/matrix.jpg\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Matriks ini adalah matriks 3x4 (dibaca \"tiga kali empat\") karena memiliki 3
baris dan 4 kolom."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Python Matriks\n",
"Python tidak memiliki tipe built-in untuk matriks. Namun, kita dapat
memperlakukan list di dalam list sebagai matriks. Sebagai contoh:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"A = [[1, 4, 5], \n",
" [-5, 8, 9]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Kita dapat memperlakukan list ini sebagai matriks yang memiliki 2 baris dan 3
kolom.\n",
"<img src=\"https://cdn.programiz.com/sites/tutorial2program/files/matrix-
python-example.jpg\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Contoh Program**"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"A = [[1, 4, 5, 12], \n",
" [-5, 8, 9, 0],\n",
" [-6, 7, 11, 19]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Untuk mencetak atau mendapatkan seluruh nilai yang ada pada matriks di atas
dapa digunakan perintah :"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"print(\"A =\", A)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Selain itu, kita juga dapat mendapatkan elemen tertentu dari matriks tersebut
dengan cara :"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"print(\"A[1] =\", A[1]) # Baris ke-2\n",
"\n",
"print(\"A[1][2] =\", A[1][2]) # Elemen ke-3 dari baris ke-2\n",
"\n",
"print(\"A[0][-1] =\", A[0][-1]) # Elemen terakhir dari Baris ke-1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"### NumPy Array\n",
"NumPy adalah sebuah library untuk komputasi ilmiah yang memiliki dukungan
untuk objek array berdimensi-N. NumPy menyediakan deretan angka multidimensi (yang
sebenarnya adalah sebuah objek). Contohnya:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1 2 3]\n",
"<class 'numpy.ndarray'>\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"a = np.array([1, 2, 3])\n",
"\n",
"print(a) \n",
"\n",
"print(type(a)) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Seperti yang Anda lihat, kelas array NumPy disebut ndarray.\n",
"\n",
"---\n",
"\n",
"### Bagaimana cara membuat array NumPy?\n",
"Ada beberapa cara untuk membuat array NumPy.\n",
"\n",
"1. Array bilangan bulat, float dan Bilangan kompleks"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1 2 3]\n",
" [3 4 5]]\n"
]
}
],
"source": [
"A = np.array([[1, 2, 3], [3, 4, 5]]) # Bilangan bulat\n",
"print(A)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1.1 2. 3. ]\n",
" [3. 4. 5. ]]\n"
]
}
],
"source": [
"A = np.array([[1.1, 2, 3], [3, 4, 5]]) # float\n",
"print(A)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1.+0.j 2.+0.j 3.+0.j]\n",
" [3.+0.j 4.+0.j 5.+0.j]]\n"
]
}
],
"source": [
"A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # bilangan kompleks\n",
"print(A)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"2. Array angka nol dan satu"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0. 0. 0.]\n",
" [0. 0. 0.]]\n"
]
}
],
"source": [
"zeroes_array = np.zeros( (2, 3) )\n",
"print(zeroes_array)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Selain itu, kita juga dapat menetapkan `dtype` menjadi 32 bit (4 byte).
Karenanya, array ini dapat mengambil nilai dari <code>-2<sup>-31</sup></code>
hingga <code>2<sup>-31</sup>-1</code>."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1 1 1 1 1]]\n"
]
}
],
"source": [
"ones_array = np.ones( (1, 5), dtype=np.int32 ) # menentukan dtype\n",
"print(ones_array)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"### Operasi Matriks\n",
"\n",
"Pada contoh program selanjutnya akan dibuat 3 jenis program yaitu :
penjumlahan dua buah matriks, perkalian dua buah matriks dan transpos sebuah
matriks. Jika menggunakan program python biasa, kita memerlukan `nested lists`
untuk membuat program tersebut. Namun ada cara yang lebih baik yaitu menggunakan
library NumPy.\n",
"\n",
"#### Penambahan Dua Matriks\n",
"\n",
"<img src=\"https://i1.faceprep.in/Companies-1/matrix-addition-in-python.png\"
width=\"35%\">\n",
"Kita dapat menggunakan operator `+` untuk menambahkan elemen yang sesuai dari
dua matriks NumPy."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[4 9]\n",
" [5 8]]\n"
]
}
],
"source": [
"A = np.array(\n",
" [[3, 4], \n",
" [2, 1]])\n",
"\n",
"B = np.array(\n",
" [[1, 5], \n",
" [3, 7]])\n",
"\n",
"C = A + B \n",
"\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"#### Perkalian Dua Matriks\n",
"\n",
"<img src=\"https://i1.faceprep.in/Companies-1/matrix-multiplication-in-
python.png\" width=\"40%\">\n",
"Untuk mengalikan dua matriks, kita menggunakan metode `dot()`. \n",
"\n",
"**Catatan**: `*` digunakan untuk perkalian array (perkalian elemen yang sesuai
dari dua array) bukan perkalian matriks."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[15 43]\n",
" [ 5 17]]\n"
]
}
],
"source": [
"A = np.array(\n",
" [[3, 4], \n",
" [2, 1]])\n",
"\n",
"B = np.array(\n",
" [[1, 5], \n",
" [3, 7]])\n",
"\n",
"C = A.dot(B)\n",
"\n",
"print(C)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"#### Transpos Matriks\n",
"\n",
"<img src=\"https://i1.faceprep.in/Companies-1/transpose-of-a-matrix-in-
python.png\" width=\"35%\">\n",
"Kita dapat menggunakan `numpy.transpose` untuk menghitung transpos matriks."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[3 2]\n",
" [4 1]]\n"
]
}
],
"source": [
"A = np.array(\n",
" [[3, 4], \n",
" [2, 1]])\n",
"\n",
"print(A.transpose())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"## Tugas\n",
"Pada contoh program di atas, sudah di buat 3 program dengan memanfaatkan
library NumPy yaitu : \n",
"1. Penambahan dua matriks\n",
"2. Perkalian dua matriks\n",
"3. Transpos matriks\n",
"\n",
"Tugas anda adalah membuat 3 program tersebut tanpa menggunakan library
NumPy.\n",
"\n",
"---"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

Anda mungkin juga menyukai