LAPORAN AKHIR
Mata Praktikum
: PKB
Kelas
: 3IA17
Parktikum ke-
:1
Tanggal
: 2 Oktober 2017
Materi
: Pengenalan Learning Machine
NPM
: 54415639
Nama
: Muhammad Ikbal
Nama Asisten
: Arif Rachman
Paraf Asisten
:
Jumlah Lembar
:7
LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS GUNADARMA 2016
LISTING PROGRAM import tensorflow as tf import cv2 import os import numpy as np import matplotlib.pyplot as plt
def load_data(data_directory): directories = [d for d in os.listdir(data_directory) if os.path.isdir(os.path.join(data_directory,d))]
labels = [] images = []
for d in directories: label_directory = os.path.join(data_directory,d) file_names = [os.path.join(label_directory,f) for f in os.listdir(label_directory) if f.endswith(".png")]
for f in file_names: images.append(cv2.imread(f)) labels.append(int(d)) return images, labels
ROOT_PATH = "D:\LABTI"
train_data_directory = os.path.join(ROOT_PATH, "Numbers")
images, labels = load_data(train_data_directory)
print ("Ukuran gambar: ", images[6].shape) print ("Banyaknya label: ", len(set(labels)))
dim = (30,30)
images30 = []
for image in images: gray_image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) images30.append(cv2.resize(gray_image, dim, interpolation = cv2.INTER_CUBIC))
print ("Ukuran gambar setelah processing: ", images30[240].shape)
plt.imshow(images30[123]) plt.show()
LOGIKA PROGRAM import tensorflow as tf import cv2 import os import numpy as np import matplotlib.pyplot as plt Fungsi import pada coding di atas berfungsi untuk mengimport berbagai library yang nantinya diguanakn saat running program, sehingga output yang dihasilkan sesuai yang logika coding yang telah dibuat. def load_data(data_directory): directories = [d for d in os.listdir(data_directory) if os.path.isdir(os.path.join(data_directory,d))]
Listing diatas digunakan untuk menentukan tempat file yang akan digunakan dalam program, misalnya yang akan digunakan adalah lokasi drive D. labels = [] images = [] label dan image nantinya akan digunakan dalam varibel array. for d in directories: label_directory = os.path.join(data_directory,d) file_names = [os.path.join(label_directory,f) for f in os.listdir(label_directory) if f.endswith(".png")] for f in file_names: images.append(cv2.imread(f)) labels.append(int(d)) return images, labels
listing diatas digunakan untuk mendeteksi file bertipe .png dalam suatu folder yang nantinya akan ditentukan alamat fldernya. ROOT_PATH = "D:\LABTI" Listing diatas berfungsi untuk menunjukan bahwa lokasi folder yang akan digunakan dalam program saat running adalah folder LABTI dalam drive D. Sehingga nanti program akan mencari file bertipe .png di folder LABTI. train_data_directory = os.path.join(ROOT_PATH, "Numbers") images, labels = load_data(train_data_directory) Listing diatas menunjukan bahwa folder yang akan diakses saat running program adalah folder number yang ada dalam root path(sebelumnya ditentukan root_path= D/LABTI)kemudian memuat file yang ada dalam folder number sebagai variable label. print ("Ukuran gambar: ", images[6].shape) print ("Banyaknya label: ", len(set(labels))) Listing diatas digunakan untuk menampilkan ukuran gambar yang akan digunakan dan banyaknya label yang terdapat pada folder numbers. dim = (30,30) images30 = [] for image in images: gray_image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) images30.append(cv2.resize(gray_image, dim, interpolation = cv2.INTER_CUBIC)) Listing diatas digunakan untuk menujukan bahwa gambar akan tampil pada suatu latarbelakang dengan ukuran 30x30 pixel. Kemudian mengkonvert warnanya. print ("Ukuran gambar setelah processing: ", images30[240].shape) plt.imshow(images30[240]) plt.show() Listing diatas digunakan untuk menampilkan gambar pada dengan label 240 yaitu angka 2.
OUTPUT PROGRAM