0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan34 halaman

PCD - Part 1 34

Dokumen ini membahas sejarah dan perkembangan teknologi Computer Vision, yang dimulai pada akhir 1960-an dengan tujuan meniru penglihatan manusia. Teknologi ini menggabungkan kamera, sistem komputasi, dan kecerdasan buatan untuk mengidentifikasi objek dan menganalisis gambar digital. Selain itu, dijelaskan juga tentang pengolahan citra digital, termasuk jenis citra dan penerapannya dalam kehidupan sehari-hari.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan34 halaman

PCD - Part 1 34

Dokumen ini membahas sejarah dan perkembangan teknologi Computer Vision, yang dimulai pada akhir 1960-an dengan tujuan meniru penglihatan manusia. Teknologi ini menggabungkan kamera, sistem komputasi, dan kecerdasan buatan untuk mengidentifikasi objek dan menganalisis gambar digital. Selain itu, dijelaskan juga tentang pengolahan citra digital, termasuk jenis citra dan penerapannya dalam kehidupan sehari-hari.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 34

BAB 1

PENDAHULUAN COMPUTER VISION

A. Sejarah dan Perkembangan Teknologi Computer


Vision
Pada akhir 1960-an, Computer Vision (Visi komputer)
atau bagaimana komputer melihat dimulai dari universitas
yang merintis kecerdasan buatan. Dimana teknologi ini
bertujuan untuk meniru sistem penglihatan manusia.
Perbedaan visi komputer dari bidang pengolahan gambar
digital pada masa itu adalah keinginan untuk mengekstraksi
struktur tiga dimensi dari gambar dengan tujuan mencapai
pemahaman penuh. Studi pada tahun 1970-an membentuk
fondasi awal untuk pengembangan algoritma komputer visi
yang ada saat ini, termasuk ekstraksi tepi dari gambar,
pelabelan garis, pemodelan non-polihedral dan polihedral,
representasi objek sebagai interkoneksi dari struktur yang
lebih kecil, aliran optik, dan estimasi gerak. Beberapa dekade
berikutnya ditandai dengan perkembangan analisis
matematika yang lebih maju secara aspek kuantitatif dari
komputer visi. Pada 1990-an, beberapa topik penelitian
sebelumnya menjadi lebih aktif dalam penelitian visi
komputer yaitu penelitian dalam rekonstruksi 3D proyektif
menyebabkan pemahaman yang lebih baik mengenai
kalibrasi kamera. Perubahan signifikan terjadi pada bidang ini
yaitu dengan meningkatnya interaksi antara bidang grafis
komputer dengan pengembangan menggunakan teknologi
komputer visi.
Computer vision/ visi komputer adalah teknologi yang
menggabungkan kamera, sistem komputasi, perangkat lunak,
dan kecerdasan buatan (Artificial Inteligent/AI) sehingga
sistem dapat melihat dan mengidentifikasi objek. Teknologi
yang diterapkan pada komputer visi dapat bermanfaat di

1
berbagai lingkungan yaitu sistem dapat mengenali objek dan
orang dengan cepat, menganalisis demografi khalayak,
memeriksa hasil produksi, melacak pergerakan, dan masih
banyak yang dapat di kembangkan dengan teknologi ini.
Visi Komputer merupakan bidang ilmiah antardisiplin
ilmu yang membahas bagaimana komputer dapat
memperoleh pemahaman tingkat tinggi dari gambar atau
video digital. Dari perspektif teknik, bidang ini berupaya
mengotomatiskan tugas-tugas yang dapat dilakukan oleh
sistem penglihatan manusia. Tugas penglihatan komputer
yang meliputi metode untuk memperoleh, memproses,
menganalisis dan memahami gambar digital, serta ekstraksi
data dimensi tinggi dari dunia nyata untuk menghasilkan
informasi numerik atau simbolis, misalnya, dalam bentuk
keputusan. Dalam konteks ini berarti transformasi gambar
secara visual membutuhkan suatu input atau masukan agar
menjadi deskripsi mengenai gambaran sekitar yang dapat
berinteraksi dengan proses pemikiran sistem dan
memperoleh tindakan yang sesuai. Pemahaman
mentransformasi gambar ini dapat dilihat sebagai
penguraian informasi simbolik dari data gambar
menggunakan model yang dibangun dengan bantuan disiplin
ilmu lainnya seperti geometri, fisika, statistik, dan teori
pembelajaran serta algoritma komputasi.
Sub-domain dari penglihatan komputer meliputi
rekonstruksi adegan, deteksi peristiwa, pelacakan video,
pengenalan objek, estimasi gambar 3D, pembelajaran,
pengindeksan, estimasi gerakan, dan pemulihan gambar.
Berikut ini adalah bagaimana cara komputer melihat citra
atau gambar.

2
Yang dilihat Manusia Yang dilihat computer
Gambar 1.1: Ilustrasi perbedaan citra yang dilihat manusia
dan computer

Salah satu bidang teknologi yang memungkinkan


sebuah komputer bisa melihat objek di sekitarnya adalah
computer vision. Computer vision memungkinkan komputer
untuk mengidentifikasi dan memproses objek dengan cara
yang sama seperti manusia. Contoh yang paling sering di
gunakan saat ini adalah penggunaan scanQR pada
smartphone sebagai salah satu cara untuk melakukan
pembayaran. Ketika kode scanQR dideteksi oleh perangkat
cerdas seperti handphone, maka kode yang telah dipindai ini
akan mengirimkan sebuah perintah khusus, bisa berupa
perintah pembayaran, membuka kunci, maupun aktivitas
lainnya.

B. Cara kerja Computer Vision


Saat bermain puzzle terdapat potongan-potongan
gambar dan seluruh potongan-potongan gambar itu tersebar
dalam berbagai bentuk pinggiran potongan gambar yang
berbeda-beda bentuk membentuk suatu pola potongan,
kemudian untuk mendapatkan satu kesatuan gambar yang

3
utuh diperlukan susunan potongan gambar yang sesuai. Dari
ilustrasi permainan puzzle itulah cara kerja yang dimiliki
computer vision saat menerjemahkan sebuah objek dan
memberi label pada objek tersebut.
Saat menyusun puzzle, otak manusia bekerja
memasangkan potongan gambar dengan pasangan yang
cocok untuk membentuk gambar yang sesuai agar tidak salah
dalam menempatkan gambar. Tugas ini dilakukan oleh
jaringan saraf atau instruksi algoritma dalam computer vision
yang akan memisahkan bagian gambar yang berbeda-beda,
mengidentifikasi bagian tepi gambar hingga kemudian
menggabungkannya menjadi satu persatu sampai
membentuk gambar yang utuh. Komputer tidak diberi
gambaran besar dari data yang dimasukkan, karena
komputer akan secara otomatis akan memberi label pada
gambar tersebut (misalnya: kucing, wajah, atau kertas).
Jadi, ketika manusia diberi ‗inputan‘ dengan jutaan
gambar tentang suatu objek misalnya objek kucing, maka
otomatis komputer akan mengarahkannya pada algoritma
yang memungkinkan untuk menganalisis warna dalam foto,
bentuk, jarak antar satu bentuk dengan yang lain, di mana
objek berbatasan satu dengan yang lain, dan seterusnya
sampai ia mampu mengidentifikasi profil apa saja yang
diperlukan untuk melabeli sebuah objek sebagai ―kucing‖.

1. Computer Vision: Apa dan Mengapa itu Penting?


Perumpamaan di atas merupakan penjelasan
sederhana tentang cara kerja computer vision. Jika
diterjemahkan dengan penjelasan yang lebih kompleks,
computer vision membagi gambar-gambar yang telah
dimasukkan menjadi bentuk piksel. Masing-masing
gambar akan diterjemahkan dalam bentuk angka.
Meskipun objek yang dimasukkan berbentuk tiga dimensi,
komputer tetap akan menerjemahkannya menjadi dua
dimensi, karena keterbatasan memori yang membuatnya

4
hanya mampu menyimpan garis-garis linear dalam satu
bidang.
Gambar dalam bentuk dua dimensi yang terdiri dari
angka-angka akan dijumlahkan oleh komputer menjadi
nilai-nilai tertentu hingga membentuk sebuah kode warna,
seperti #FF0000 atau 255 untuk angka merah. Komputer
biasanya membaca warna sebagai serangkaian angka-
angka yang membentuk tiga warna dasar, yakni merah,
hijau, dan biru (red, green, blue atau biasa disingkat
dengan RGB). Setiap piksel memiliki tiga nilai tersebut
untuk disimpan di dalam sistem pada posisi tertentu. Hal
ini bertujuan untuk proses identifikasi warna agar
komputer bisa memberi penjelasan profil yang lebih detail
dari sebuah objek.

2. Penerapan Teknologi Computer Vision


Sistem deteksi wajah atau facial recognition (FR)
termasuk ke dalam pengembangan teknologi computer
vision pada level yang lebih tinggi. Sistem FR
memungkinkan algoritma dalam computer vision untuk
mendeteksi fitur-fitur pada wajah manusia dan
membandingkannya dengan profil diri dari wajah yang
terdeteksi tersebut, mulai dari nama, jenis kelamin dan
usia. FR juga dapat digunakan untuk mengautentikasi
identitas pemilik wajah demi menjaga keamanan data.
Media sosial kini juga telah menerapkan teknologi FR
untuk mendeteksi dan menandai pengguna sehingga
dapat menyesuaikan preferensi pemilik akun berdasarkan
ketertarikan dan history pencariannya. Lembaga hukum
dan keamanan juga mulai menggunakan teknologi FR
untuk mengantisipasi ancaman-ancaman dari penjahat
melalui deteksi emosi.

5
C. Pengolahan Citra Digital
Pengolahan Citra Digital (Digital Image Processing)
merupakan suatu bidang ilmu yang mempelajari tentang
bagaimana suatu citra dibentuk, diolah, dan dianalisis
sehingga menghasilkan informasi yang dapat dipahami oleh
manusia. Pengolahan Citra Digital adalah serangkaian usaha
untuk melakukan transformasi suatu citra atau gambar
menjadi citra lain dengan menggunakan teknik tertentu.
Citra adalah gambar dua dimensi yang bisa
ditampilkan pada layar komputer sebagai himpunan atau
diskrit nilai digital yang disebut pixel atau elemen gambar.
Secara matematis, citra merupakan fungsi kontinu dari
intensitas cahaya pada bidang dua dimensi. Berdasarkan
bentuk sinyal penyusunnya, citra dapat digolongkan menjadi
dua jenis yaitu citra analog dan citra digital. Citra analog
adalah citra yang dibentuk dari sinyal analog yang bersifat
kontinyu, sedangkan citra digital adalah citra yang dibentuk
dari sinyal digital yang bersifat diskrit.
Citra analog dihasilkan dari alat akuisisi citra analog,
contohnya adalah mata manusia dan kamera analog.
Gambaran yang tertangkap oleh mata manusia dan foto atau
film yang tertangkap oleh kamera analog merupakan contoh
dari citra analog. Citra tersebut memiliki kualitas dengan
tingkat kerincian atau resolusi yang sangat baik tetapi
memiliki kelemahan di antaranya adalah tidak dapat
disimpan, diolah, dan diduplikasi di dalam komputer.
Citra digital merupakan representasi dari fungsi
intensitas cahaya dalam bentuk diskrit pada bidang dua
dimensi. Citra tersusun oleh sekumpulan piksel (picture
element) yang memiliki koordinat (x,y) dan amplitudo f(x,y).
Koordinat (x,y) menunjukkan letak/posisi piksel dalam suatu
citra, sedangkan amplitudo f(x,y) menunjukkan nilai
intensitas warna citra.
Pada umumnya, berdasarkan kombinasi warna pada
piksel, citra dibagi menjadi tiga jenis yaitu citra RGB, citra
grayscale, dan citra biner. Citra pada Gambar 1 termasuk

6
dalam jenis citra RGB truecolor 24-bit. Citra tersebut tersusun
oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan
kanal biru. Masing-masing kanal warna memiliki nilai
intensitas piksel dengan kedalaman bit sebesar 8-bit yang
artinya memiliki variasi warna sebanyak 2^8 derajat warna (0
s.d 255).
Pada kanal merah, warna merah sempurna
direpresentasikan dengan nilai 255 dan hitam sempurna
dengan nilai 0. Pada kanal hijau, warna hijau sempurna
direpresentasikan dengan nilai 255 dan hitam sempurna
dengan nilai 0. Begitu juga pada kanal biru, warna biru
sempurna direpresentasikan dengan nilai 255 dan hitam
sempurna dengan nilai 0. Representasi citra RGB dan masing-
masing kanal warna penyusunnya ditunjukkan pada Gambar
berikut.

Citra RGB Kanal Merah

Kanal Hijau Kanal Biru


Gambar 1.2: Representasi citra RGB dan kanal warna
penyusunnya

Setiap piksel pada citra RGB, memiliki intensitas warna


yang merupakan kombinasi dari tiga nilai intensitas pada
kanal R, G, dan B. Sebagai contoh, suatu piksel yang memiliki
nilai intensitas warna sebesar 255 pada kanal merah, 255 pada

7
kanal hijau, dan 0 pada kanal biru akan menghasilkan warna
kuning. Pada contoh lain, suatu piksel yang memiliki nilai
intensitas warna sebesar 255 pada kanal merah, 102 pada
kanal hijau, dan 0 pada kanal biru akan menghasilkan warna
orange. Banyaknya kombinasi warna piksel yang mungkin
pada citra RGB truecolor 24-bit adalah sebanyak 256 x 256 x
256 = 16.777.216. Representasi nilai intensitas piksel dengan
kombinasi warna R, G, dan B ditunjukkan pada Gambar
berikut.

Gambar 1.3: Representasi piksel dengan kombinasi warna R,


G, dan B

Jenis citra yang kedua adalah citra grayscale. Citra


grayscale merupakan citra yang nilai intensitas pikselnya
didasarkan pada derajat keabuan. Pada citra grayscale 8-bit,
derajat warna hitam sampai dengan putih dibagi ke dalam
256 derajat keabuan di mana warna hitam sempurna
direpresentasikan dengan nilai 0 dan putih sempurna dengan
nilai 255. Citra RGB dapat dikonversi menjadi citra grayscale
sehingga dihasilkan hanya satu kanal warna. Persamaan yang
umumnya digunakan untuk mengkonversi citra RGB
truecolor 24-bit menjadi citra grayscale 8-bit adalah

8
di mana:
 Grayscale adalah nilai intensitas citra grayscale,
 R adalah nilai intensitas piksel pada kanal merah,
 G adalah nilai intensitas piksel pada kanal hijau, dan
 B adalah nilai intensitas piksel pada kanal biru.

Citra hasil konversi RGB menjadi grayscale ditunjukkan pada


Gambar 1.4.

Gambar 1.4: Citra hasil konversi RGB menjadi grayscale

Jenis citra yang ketiga adalah citra biner. Citra biner


adalah citra yang pikselnya memiliki kedalaman bit sebesar 1
bit sehingga hanya memiliki dua nilai intensitas warna yaitu 0
(hitam) dan 1 (putih). Citra grayscale dapat dikonversi
menjadi citra biner melalui proses thresholding. Dalam proses
thresholding, dibutuhkan suatu nilai threshold sebagai nilai
pembatas konversi. Nilai intensitas piksel yang lebih besar
atau sama dengan nilai threshold akan dikonversi menjadi 1.
Sedangkan nilai intensitas piksel yang kurang dari nilai
threshold akan dikonversi menjadi 0. Misalnya nilai threshold
yang digunakan adalah 128, maka piksel yang mempunyai
intensitas kurang dari 128 akan diubah menjadi 0 (hitam) dan
yang lebih dari atau sama dengan 128 akan diubah menjadi 1
(putih).

9
Gambar 1.5: Citra hasil konversi RGB menjadi biner

Thresholding pada umumnya digunakan dalam proses


segmentasi citra. Proses tersebut dilakukan untuk
memisahkan antara foreground (objek yang dikehendaki)
dengan background (objek lain yang tidak dikehendaki). Pada
hasil segmentasi, foreground direpresentasikan oleh warna
putih (1) dan background direpresentasikan oleh warna hitam
(0). Pada kasus segmentasi pada satu citra saja, kita dapat
menentukan nilai threshold dengan metode trial and error.
Namun pada kasus segmentasi pada citra dengan jumlah
yang banyak, dibutuhkan suatu metode untuk menentukan
nilai threshold secara otomatis. Nilai threshold dapat
diperoleh secara otomatis dengan menggunakan metode Otsu
(1979).
Citra digital dibentuk oleh kumpulan titik yang
dinamakan piksel (pixel atau ―picture element‖). Setiap piksel
digambarkan sebagai satu kotak kecil. Setiap piksel
mempunyai koordinat posisi.

10
Gambar 1.6: Ilustrasi Posisi Pixel

1. Representasi Citra Digital


Citra digital sesungguhnya dibentuk melalui
pendekatan yang dinamakan kuantisasi. Kuantisasi adalah
prosedur yang dipakai untuk membuat suatu isyarat yang
bersifat kontinu ke dalam bentuk diskrit

Gambar 1.7: Representasi citra digital

2. Kualitas citra
Di samping cacah intensitas kecerahan, jumlah
piksel yang digunakan untuk menyusun suatu citra
mempengaruhi kualitas citra. Istilah resolusi citra biasa
dinyatakan jumlah piksel pada arah lebar dan tinggi.

11
Resolusi piksel biasa dinyatakan dengan notasi m x n,
dengan m menyatakan tinggi dan n menyatakan lebar
dalam jumlah piksel.

3. Penerapan Pengolahan Citra Digital


Pemanfaatan teknologi Pengolahan citra digital
banyak diterapakan pada sistem cerdas, saat ini tidak
asing bagi kita melihat bahkan menggunakan pengolahan
citra dan pemrosesan citra dikehidupan sehari-hari. Mulai
dari fitur pada kamera dan video di smartphone yang
menggunakan kecerdasan buatan seperti kamera yang
dapat menghasilkan gambar dengan filter-filter unik dan
menarik, CCTV yang dapat memantau pergerakan dan
lain sebagainya. Beberapa aplikasi dari pengolahan citra
diantaranya diterapkan pada bidang: Militer, kedokteran,
biologi, pendidikan, geografi dan geologi, kepolisian atau
hukum, perdagangan, hiburan dan komunikasi data.
a. Aplikasi Deteksi, klasifikasi dan identifikasi objek
Ditahun 2020 setidaknya ada puluhan aplikasi
gratis maupun berbayar yang menerapkan Deteksi,
klasifikasi dan identifikasi objek, beberapa aplikasi ini
sempat menghebohkan dunia karena keunikannya
dalam menerapkan identifikasi objek citra. Berikut
aplikasi-aplikasi yang banyak digunakan yaitu Luxad,
Blippar, Face2gene, FaceApp, Applock, FacePhi, Log
Me, FaceFirst, Pictriev, BetaFace, Kuznech Face
Detection dan lain-lain.

Gambar 1.8 aplikasi FaceApp

12
b. Aplikasi Pengenalan pola
Pengenalan pola adalah disiplin ilmu yang
mengklasifikasikan object berdasarkan citra, berat atau
parameter-parameter yang telah ditentukan kedalam
sejumlah kategori atau kelas. Contoh aplikasi yang
menerapkan pengenalan pola adalah sebagai berikut:
c. Machine Vision
Pengenalan pola menjadi dasar dari sistem mesin
ini. Mesin ini menangkap sebuah atau sekelompok
object dengan kamera dan selanjutnya dianalisa untuk
di deskripsikan object atau benda tersebut

Gambar 1.9 Pengenalan Pola Citra


d. Character recognition (OCR)
Salah satu area pengenalan pola yang secara
umum menangani permasalahan otomatisasi dan
informasi. Sistem OCR mempunyai front end device
yang terdiri dari pembangkit cahaya, lensa scan,
document transport dan sebuah detektor.
e. Computer aided diagnosis
Sistem ini membantu dokter dalam mengambil
keputusan suatu diagnosa
f. Speech recognition
Pengenalan pola suara salah satu aplikasi yang
berkembang saat ini. Sistem ini mengijinkan kita untuk
berkomunikasi antara manusia dengan memasukkan
data ke computer. Meningkatakan efisiensi industri
manufaktur, mengontrol mesin dengan berbicara pada
mesin itu.

13
g. Face recognition
Pengenalan wajah adalah sebuah system yang
mengenali image wajah manusia yang digunakan
dalam otomatisasi dan security sebuah industry.
h. Biometrics
Biometric beguna untuk mengenali suatu pola
mahluk hidup yang d?ihubungkan dengan parameter ?
parameter psikologi maupun tingkah laku
i. Image Data Base Retrieval
Image Data Base Retrival Adalah sebuah sistem
untuk pengembalian citra data base. Sebuah sistem
pengambilan gambar yang digunakan untuk browsing,
mencari dan mengambil gambar dari database besar
dari gambar digital. Metode pengambilan gambar yang
paling tradisional dan umum menggunakan beberapa
metode penambahan metadata seperti teks, kata kunci,
judul, atau deskripsi ke gambar sehingga pengambilan
dapat dilakukan pada kata-kata anotasi.
j. Data mining
Adalah pengelompokan pola objek sejumlah data
yang terurut dengan harapan dapat memberikan
informasi yang berguna dan diinginkan.
k. Bioinformatics
Bioinformatik berhubungan erat dengan disiplin
kedokteran, pengenalan pola atau image dari suatu
image penyakit atau pola dalam sebuah analisa
diagnosa penyakit atau pengenalan pola pola yang
berhubungan dengan dunia biologi secara umum

D. Tools untuk Belajar Pengolahan Citra Digital


Pengolahan Citra Digital dapat menggunakan tools
seperti Matlab, Octave, Scilab, Anaconda Navigator, Jupyter
Nootebook dan sebagainya. Berikut ini beberapa aplikasi dan
tools yang cukup bermanfaat untuk dicoba.

14
1. Matlab
MATLAB (Matrix Laboratory) adalah sebuah
lingkungan komputasi numerikal dan bahasa
pemrograman komputer generasi keempat.
Dikembangkan oleh The MathWorks, MATLAB
memungkinkan pengguna untuk memanipulasi matriks,
penggunaan plot, fungsi dan data serta implementasi
algoritma. Matlab juga dapat membantu dalam pembuatan
antarmuka pengguna, dan dengan program dalam bahasa
lainnya. Meskipun hanya bernuansa numerik, sebuah
toolbox yang menggunakan mesin simbolik MuPAD,
memungkinkan akses terhadap kemampuan aljabar
komputer. Sebuah paket tambahan, Simulink,
menambahkan simulasi grafis multiranah dan Desain
Berdasar-Model dan dinamik.

Gamba 1.10r: Matlab

2. Scilab
Scilab adalah paket komputasi numerik yang
dikembangkan sejak 1990 oleh para peneliti dari INRIA
dan ENPC, tepatnya sejak pendirian konsorsium Scilab
pada Mei 2003. Scilab adalah bahasa pemprograman
tingkat tinggi, sebagian besar kegunaannya didasarkan
pada seputar kemampuan menspesifikasi banyak
komputasi dengan sedikit baris kode. Scilab melakukan
hal ini dengan mengabstraksi tipe data primitif kepada
matriks ekuivalen menurut fungsinya.
Scilab memiliki kesamaan fungsionalitas dengan
MATLAB, tetapi tersedia untuk diunduh tanpa biaya
lisensi. Program ini memungkinkan pengguna untuk
melakukan komputasi pada cakupan luas operasi-operasi
matematika dari operasi yang relatif sederhana seperti

15
perkalian hingga kepada operasi tingkat tinggi seperti
korelasi dan aritmetika kompleks. Perangkat ini sering
dipakai untuk pemprosesan sinyal, analisis statistika,
perbaikan gambar, simulasi dinamika fluida, dan lain-lain.

Gambar 1.11: Scilab

3. GNU Octave
GNU Octave merupakan perangkat lunak yang
dapat didistribusikan kembali secara bebas. Pengguna
dapat mendistribusikan ulang atau memodifikasinya di
bawah ketentuan GNU General Public License (GPL) yang
diterbitkan oleh Free Software Foundation. GNU Octave
digunakan untuk analisis numerik, dan setara dengan
kemampuan perangkat lunak MATLAB. Dikembangkan
oleh John W. Eaton yang rilis pada tahun 1988. GNU
Octave adalah bahasa tingkat tinggi, terutama ditujukan
untuk komputasi numerik. Ini menyediakan antarmuka
baris perintah yang nyaman untuk memecahkan masalah
linier dan nonlinier secara numerik, dan untuk melakukan
eksperimen numerik lainnya menggunakan bahasa yang
sebagian besar kompatibel dengan Matlab.

Gambar 1.12: GNU Octave

4. Anaconda Navigator
Didalam buku ini penulis akan menggunakan tools
untuk mendukung proses belajar dan Latihan pengolahan
data menggunakan Jupyter Nootebook yang ada di

16
Anaconda Navigator. Oleh sesab itu maka penulis akan
menjabarkan lebih Panjang tentang penggunaan Anaconda
navigator serta Jupyter Nootebook. Berikut ini ulasannya.
Anaconda Navigator adalah antarmuka pengguna
grafis desktop (GUI) yang disertakan dalam distribusi
Anaconda® yang memungkinkan para pengguna
meluncurkan aplikasi dan mengelola paket, lingkungan,
dan saluran conda dengan mudah tanpa menggunakan
perintah baris perintah. Navigator dapat mencari paket di
Anaconda.org atau di Repositori Anaconda local yang
tersedia untuk Windows, macOS, dan Linux.

Gambar 1.13: Anaconda

Anaconda Navigator merupakan cara mudah untuk


mengakses beberapa tools lain yang berada pada navigasi
anaconda, pengguna dapat dengan mudah menunjuk dan
klik untuk bekerja dengan paket dan lingkungan navigator
tanpa perlu mengetikkan perintah conda di jendela
terminal. Pengguna dapat menggunakannya untuk
menemukan paket yang sesuai dengan menginstal,
menjalankan paket, dan memperbarui, semua dapat
dilakukan di dalam Navigator.

17
Gambar 1.14: Jendela Anaconda Navigator

Pada Environments tab memungkinkan pengguna


untuk mengelola install-an lingkungan , paket , dan
saluran .

Gambar 1.15: Environments Tab

Pada tab Learning , Pengguna dapat mempelajari


lebih lanjut tentang Navigator, platform Anaconda, dan
tentang ilmu data secara terbuka. Pengguna dapat meng-
Klik tombol Dokumentasi, Pelatihan, Webinar, atau Video,
sehingga pengguna dapat belajar lebih dalam dengan
meng-klik item apa saja untuk membuka di jendela
browser.

18
Gambar 1.16: Learning Tab

Pada tab Community, Pengguna dapat mempelajari


lebih lanjut tentang acara, forum dukungan gratis, dan
jejaring sosial yang berkaitan dengan Navigator. Caranya
dengan meng-Klik tombol Acara, Forum, atau Sosial, lalu
klik item apa saja untuk membukanya di jendela browser.

Gambar 1.17: Community Tab

Preferensi – memungkinkan pengguna untuk


mengatur preferensi Navigator.
Di jendela Preferensi pengguna dapat melakukan:
 Setel domain API Anaconda.org jika pengguna akan
menggunakan saluran dan paket dari anaconda.org.

19
 Setel domain API Edisi Tim jika pengguna akan
menggunakan saluran dan paket dari server TE.
 Setel domain Enterprise 4 Repository API jika
pengguna akan menggunakan saluran dan paket dari
server Repo 4.
 Mengaktifkan atau menonaktifkan verifikasi SSL.
 Secara opsional, tetapkan sertifikat untuk
memverifikasi koneksi SSL.
 Mengalihkan opsi untuk memberikan informasi yang
tidak dapat diidentifikasi secara pribadi untuk
membantu meningkatkan produk.
 Mengaktifkan atau menonaktifkan mode offline.
 Menyembunyikan kotak dialog mode offline.
 menyembunyikan kotak dialog Keluar saat keluar dari
program.
 menyembunyikan kotak dialog Perbarui saat memulai
program.
 menyembunyikan dialog Tutup aplikasi yang berjalan,
yang biasanya ditampilkan saat keluar dari program
jika masih ada aplikasi yang berjalan yang diluncurkan
dari Navigator.
 mengubah tampilan Navigator dengan opsi Aktifkan
penskalaan DPI Tinggi. Opsi ini dapat berguna jika
Navigator tidak ditampilkan dengan benar pada
beberapa layar DPI tinggi.
 Menampilkan pesan kesalahan startup aplikasi.
 Menyetel jalur Edisi Komunitas PyCharm jika tidak
diinstal di lokasi default.
 Menyetel jalur PyCharm Pro jika tidak diinstal di lokasi
default.
 Menetapkan jalur Kode Visual Studio jika tidak diinstal
di lokasi default.

20
Gambar 1.18: Preference Anaconda cloud API domain

Gambar 1.19: Preference mode online/offline

21
Gambar 1.20: Navigator Settings

Gambar 1.21: Navigator Settings

22
Gambar 1.22: Conda Settings

5. Jupyter Notebook
Notebook Jupyter adalah open-source web application
yang memungkinkan para pengguna membuat dan
berbagi dokumen yang berisi kode langsung, persamaan,
visualisasi, dan teks naratif. Penggunaannya meliputi:
pembersihan dan transformasi data, simulasi numerik,
pemodelan statistik, visualisasi data, pembelajaran mesin,
dan banyak lagi.

Gambar 1.23: Jupyter Notebook

23
Terdapat 3 tab utama pada Home Page, Jupyter
Notebook yaitu File, Running, Cluster, pada sisi kanan di
ujung terdapat tab Quit dan Logout. Dan tab Upload dan
New. Pada sisi dibawah terdapat folder-folder untuk
dipilih, yaitu Pilih item untuk melakukan tindakan pada
item tersebut, pada folder yang dipilih akan menempatkan
simpanan file yang akan dibuat.

Gambar 1.24: Home page

Jika memilih pilihan New -> Python3, maka akan


tampil jendela seperti di bawah ini, yaitu jendela editor
Python3.

Gambar 1.25: Jendela file baru

24
Latihan:
Latihan ini merupakan pemahaman dalam Komposisi
gambar yang kompleks dan sistematik, untuk mengenal
perintah-perintah dasar di dalam memahami komposisi
gambar anda dapat mencoba untuk Latihan dengan code
berikut.

[in] import matplotlib.pyplot as plt


import numpy as np

def identify_axes(ax_dict, fontsize=48):

kw = dict(ha="center", va="center",
fontsize=fontsize, color="darkgrey")
for k, ax in ax_dict.items():
ax.text(0.5, 0.5, k,
transform=ax.transAxes, **kw)
[in] np.random.seed(19680801)
hist_data = np.random.randn(1_500)

fig = plt.figure(constrained_layout=True)
ax_array = fig.subplots(2, 2, squeeze=False)

ax_array[0, 0].bar(["a", "b", "c"], [5, 7, 9])


ax_array[0, 1].plot([1, 2, 3])
ax_array[1, 0].hist(hist_data, bins="auto")
ax_array[1, 1].imshow([[1, 2], [2, 1]])

identify_axes(
{(j, k): a for j, r in enumerate(ax_array)
for k, a in enumerate(r)},
)
[out]

25
[in] fig = plt.figure(constrained_layout=True)
ax_dict = fig.subplot_mosaic(
[
["bar", "plot"],
["hist", "image"],
],
)
ax_dict["bar"].bar(["a", "b", "c"], [5, 7, 9])
ax_dict["plot"].plot([1, 2, 3])
ax_dict["hist"].hist(hist_data)
ax_dict["image"].imshow([[1, 2], [2, 1]])
identify_axes(ax_dict)
[out]

[in] print(ax_dict)

[out] {'hist': <AxesSubplot:label='hist'>, 'image':


<AxesSubplot:label='image'>, 'bar':
<AxesSubplot:label='bar'>, 'plot':
<AxesSubplot:label='plot'>}

[in] mosaic = """


AB
CD
"""
[in] fig = plt.figure(constrained_layout=True)
ax_dict = fig.subplot_mosaic(mosaic)
identify_axes(ax_dict)
[out]

26
[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
"""
ABD
CCD
"""
)
identify_axes(axd)

[out]

[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
"""
A.C
BBB
.D.
"""
)
identify_axes(axd)

[out]

[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
"""
aX
Xb
""",
empty_sentinel="X",
)

27
identify_axes(axd)
[out]

[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
"""αб
ℝ☢"""
)
identify_axes(axd)

[out]

[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
"""
.a.
bAc
.d.
""",
gridspec_kw={
# set the height ratios between the rows
"height_ratios": [1, 3.5, 1],
# set the width ratios between the
columns
"width_ratios": [1, 3.5, 1],
},
)

28
identify_axes(axd)
[out]

[in] mosaic = """AA


BC"""
fig = plt.figure()
axd = fig.subplot_mosaic(
mosaic,
gridspec_kw={
"bottom": 0.25,
"top": 0.95,
"left": 0.1,
"right": 0.5,
"wspace": 0.5,
"hspace": 0.5,
},
)
identify_axes(axd)

axd = fig.subplot_mosaic(
mosaic,
gridspec_kw={
"bottom": 0.05,
"top": 0.75,
"left": 0.6,
"right": 0.95,
"wspace": 0.5,
"hspace": 0.5,
},
)
identify_axes(axd)

29
[out]

[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
"AB", subplot_kw={"projection": "polar"}
)
identify_axes(axd)

[out]

[in] axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
[
["main", "zoom"],
["main", "BLANK"],
],
empty_sentinel="BLANK",
gridspec_kw={"width_ratios": [2, 1]},
)
identify_axes(axd)
[out]

30
[in] inner = [
["inner A"],
["inner B"],
]

outer_nested_mosaic = [
["main", inner],
["bottom", "bottom"],
]
axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
outer_nested_mosaic, empty_sentinel=None
)
identify_axes(axd, fontsize=36)
[out]

[in] mosaic = np.zeros((4, 4), dtype=int)


for j in range(4):
mosaic[j, j] = j + 1
axd =
plt.figure(constrained_layout=True).subplot_mosai
c(
mosaic,
empty_sentinel=0,
)
identify_axes(axd)

[out]

31
32
Soal:
Pilih salah satu jawaban yang benar dengan memberi tanda
pada lembar jawaban.
1. Bagaimana cara kerja Computer Vision?
a. Mengidentifikasi dan memproses objek
b. Menghitung dan memfilter teks
c. Menghitung Gambar
d. Menyimpan file Gambar
e. Membuat gambar 3D

2. Computer vision membagi gambar-gambar yang telah


dimasukkan menjadi sebuah bentuk, bentuk apakah yang
diterjemahkan komputer untuk memproses gambar?
a. Bentuk Teks
b. Bentuk Audio
c. Bentuk Gambar
d. Bentuk Piksel dan bentuk angka
e. Bentuk

3. Pada umumnya, berdasarkan kombinasi warna pada


piksel, citra dibagi menjadi beberapa jenis yaitu citra…
a. CMYK, RGB, Citra grayscale
b. Citra Biner dan Citra analog
c. RGB, citra grayscale, dan citra biner
d. Citra grayscale dan Citra analog
e. Citra biner, citra grayscale dan citra analog

4. Jika representasi warna kuning(yellow) memiliki nilai


intensitas piksel R:255 G:255 B:0, maka berapakah nilai
intensitas piksel warna Putih(white)…
a. R: 0 G:255 B:0
b. R: 0 G:255 B:255
c. R: 102 G:255 B:204
d. R: 255 G:255 B:255
e. R: 204 G:102 B:204

33
5. Yang tidak termasuk dalam tipe warna adalah …
a. Biner
b. RGB
c. Grayscale
d. CMYK
e. Piksel

34

Anda mungkin juga menyukai