You are on page 1of 9

1

CHAPTER II

LITERATURE STUDY

Literature study aims to explains the core concept of the program

development. The chapter filled with the summarize of the body of knowledge that is

researched by the author.

2.1 Tkinter

In this section the author describes the Tkinter library.

Tkinter is a Python standard library for creating GUIs (Graphical User

Interfaces) or graphical surfaces. Tkinter is built on top of the Tcl/Tk library which

provides many GUI components such as buttons, labels, text boxes, dialog boxes.

Tkinter helps author create desktop applications with attractive user interfaces

that are easy for users to use. author can use Tkinter to create interactive and

responsive applications such as: B. Image Recognition Applications, Games or

Simulations.

In Tkinter I use widget objects to create his GUI interface. Each widget

represents a GUI element such as a button, text box, etc. Tkinter also provides many

methods for setting the widget's appearance such as color, size, position, etc.

Tkinter also supports major platforms such as Windows, macOS, and Linux,

so applications built with Tkinter can run on a variety of operating systems. 

The name Tkinter comes from the Tk interface. Tk means toolkit, inter means

interface 

2.2 CNN Method


2
In this section the author describes the CNN method.
CNN, in the context of computer science, stands for "Convolutional Neural

Network". The CNN method is a deep learning technique used to process image

data and pattern recognition. CNN is a type of neural network inspired by the

workings of the visual cortex in the human brain.

The CNN method is used to process images and recognize patterns by

convolution between filters and images, which is then followed by pooling

operations to reduce data size. The convolution process aims to produce features in

the image, while the pooling operation is used to reduce the dimensions of the data

produced by convolution. Then, the resulting features will be processed by

ordinary neural network layers to produce the final output.

The CNN method has been widely used for various applications, such as

object recognition in images, image classification, image segmentation, and object

detection in videos. CNNs are also used in various artificial intelligence

applications, such as Egg Health detection, face detection, and medical image

analysis. 
3

Figure 2.2 CNN

2.3 Python

In this section the author describes the Python programming Language

history.

2.3.1 Intoduction of Python

Python is a widely used interpreted, object-oriented, high-level programming


language.
A language with dynamic semantics used for general-purpose programming. 

Python was developed by Guido van Rossum and first published on February 20,
1991. The Python programming language gets its name from an old BBC comedy sketch
series called Monty Python's Flying Circus. 

Python has had many developments and advancements, at first python started with
version Python 1.4, released on 25 October 1996.

As of now python has version Python 3.11.2, released on 8th February 2023.

2.3.2 Python Advantages and Disadvantages


Let’s first dive into the advantages of Python. 4

 Advantages of Python

- high-level programming language

High-level programming languages are programming languages with a

strong and detailed abstraction from computers. In contrast to low-level

programming languages, they may use elements of natural language, be easier to

use, or may automate significant areas of the computer system such as memory

management, making the program development process simpler, and easier to

understand than using low-level languages. The number of abstractions provided

determines the level of a programming language.

- Improved Productivity

Increasing productivity with python can be done in various fields, one of

which is application development, data analysis, and automation of repetitive

tasks.

Python is suitable for application development, because it is easy to learn

and has many libraries and frameworks that can be used to speed up application

development. In addition, there are lots of lessons and tutorials available on the

internet related to developing applications using Python. In application

development, Python can be used to create a GUI (Graphical User Interface), and

then developed and upgraded to a higher level using the available Python

libraries and frameworks.


- Interpreted Language 5

Python is an interpreted programming language, meaning that code written

in Python does not need to be interpreted or interpreted again into machine code

before it is executed. on the other hand, the Python programming language will

immediately read and execute the code line by line when the program is running.

The main advantage of the Python programming language is that it is easy

to develop code and debug it, because there is no need to go through a time-

consuming and complicated compilation process. In addition, interpreted

programming languages are more flexible and can run on multiple platforms and

operating systems.

However, interpreted programming languages also have drawbacks, such

as slower performance compared to compiled programming languages. This is

because the interpreter has to read and execute each line of code separately,

which takes longer to complete program execution. In addition, interpreted

programming languages also require proper environment settings to ensure

program compatibility with the Python programming language version used.

However, Python's advantages as an interpreted programming language

outweigh its disadvantages. Python is very popular among programmers because

it is easy to learn and understand, and has extensive library and framework

support, and high flexibility in its use. Python is also used in various

applications, such as web development, data science, machine learning and

Image Processing.Dynamically Typed


6

 Disadvantages of Python

- Slow Speed

Python is generally considered a slower programming language than other

programming languages such as Java, C, or C++. This is because Python's design

prioritizes ease of understanding and security over faster work performance.

One of the reasons why python is slow is because it is an interpreted

programming language, which means that code is executed line by line by the

interpreter, rather than being compiled to machine code before runtime. This adds an

extra layer of overhead, which can slow down the execution speed of Python programs.

Another reason for Python's slow speed is dynamic data types, meaning variable

data types are determined at runtime. This can result in additional overhead time as the

interpreter needs to check and convert variable data types as needed during runtime.

- Not Memory Efficient

Python is generally considered to be less memory efficient than other

programming languages. This is because typing is dynamic, which means that the data

type of a variable is determined while the process is running, and the interpreter needs to

allocate memory space for that variable based on its data type.

Additionally, Python's garbage collector, which automatically frees memory for

objects that are no longer used, can cause memory fragmentation and slow memory

allocation, leading to increased memory usage and slower performance.

Another reason for python's inefficiency is due to its high level of abstraction,

which provides a more intuitive programming interface and is easier to use but at a

higher cost of memory usage. For example, Python's built-in data structures, such as lists

and dictionaries, are implemented in ways that make them more flexible and easy to use,
but they also require more memory than their counterparts in other programming 7

languages.

- Weak in Mobile Computing

Python has not traditionally been considered a powerful language for

mobile computing, mainly due to its slower execution speed and larger memory

footprint compared to other programming languages. Mobile devices often have

limited resources, such as CPU power, memory, and battery life, and Python's

relatively slower speed and higher memory usage make them unsuitable for some

mobile applications.

However, there are several frameworks and tools available that can help

developers use Python in mobile computing, such as Kivy and BeeWare. This

framework provides tools and libraries that can help optimize Python code for

mobile devices and provide a native look and feel for mobile applications.

Another option for using Python in mobile computing is to leverage its

strengths in other areas, such as backend development, data analytics, and

machine learning, and use it to develop mobile applications that interact with web

services or APIs.

Overall, while Python may not be the language used for mobile

computing, there are still ways to use it effectively in this context, depending on

the application's specific requirements and limitations.

2.4 Tensorflow

In this section the author describes the Tensorflow.


TensorFlow is an open source numerical computation program developed by Google.
TensorFlow is used to build and train machine learning models, especially neural networks,
to process large and complex data. 8
TensorFlow is well-suited for building machine learning models using computational
graphs made up of nodes and edges. Nodes represent mathematical operations and edges
help represent the flow of data between nodes. All operations on nodes are performed on
tensors, which are multidimensional arrays of the same data type. TensorFlow provides tools
to support machine learning model development, including: B. Keras, TensorFlow Hub,
TensorFlow Lite, and TensorFlow Extended (TFX). These libraries allow the user to
leverage existing models, optimize them for production, and deploy them to resource-
constrained devices such as mobile phones and his IoT devices.
TensorFlow is widely used in a variety of machine learning applications, not only in
animal husbandry and industry, but also in academia. B. Detection of healthy and unhealthy
eggshells, medical image analysis, language translation, facial recognition.   

2.5 Matplotlib

In this section the author describes the Matplotlib.


Matplotlib is a Python library used to create data visualizations in the form of charts
and graphs. Matplotlib provides different types of charts such as line charts, bar charts,
scatter plots, histograms, etc. This library is very useful for exploring data analysis, data
communication, and the results of data analysis with others.

Matplotlib allows author to create diagrams using figure and axis objects. The figure
represents the window that displays the plot, and the axes represent the coordinates of the
plot and the objects within it. B. A line or point. Matplotlib also provides many functions for
setting the appearance of charts such as labels, colors, sizes, etc.

Apart from that, Matplotlib also supports creating more complex plots such as 3D
plots and animated plots. Matplotlib can also be used in conjunction with other libraries
such as Pandas, NumPy, and SciPy to perform more complex data analysis.

Matplotlib is a popular library and widely used by data scientists and the data
scientist community. Matplotlib is continuously developed and updated to help users create
more creative and engaging data visualizations.  

2.6 Numpy

In this section, the author describes Numpy,

Numpy is Numerical Python, a Python library that focuses on numerical and


scientific computing. NumPy provides an efficient and fast multidimensional array object
9

and mathematical functions to manipulate the array. In NumPy, multidimensional arrays

are called ndarrays (N-dimensional arrays). Several popular libraries in the scientific

environment such as SciPy, Pandas, and Matplotlib also use NumPy as one of the core

components.

You might also like