basic bash programming

29
Project Report Tabel Periodik Unsur Bash Programming By : MAFATIKHUL ILMI 1203121023 Electronic Engineering Polytechnic Institute of Surabaya 2014

Transcript of basic bash programming

Page 1: basic bash programming

Project Report

Tabel Periodik Unsur Bash Programming

By :

MAFATIKHUL ILMI

1203121023

Electronic Engineering Polytechnic Institute of Surabaya

2014

Page 2: basic bash programming

<SOURCE PROGRAMME>

#!/bin/bash

saya=`whoami`

apik(){

pilihan=$(zenity --width="250" --height="250" --list --title="Tabel Periodik

Unsur" --text="

--------------------------------------------------------------------------------

------------------------------------

\t\t\t\t\t SELAMAT DATANG

ANDA SEDANG MENGGUNAKAN PROGRAM TABEL PERIODIK UNSUR

--------------------------------------------------------------------------------

------------------------------------" --column " Choose" cari manual);

if [ $pilihan == "cari" ];

then

cari;

elif [ $pilihan == "manual" ];

then

main;

else

back;

exit 0

fi

}

main(){

zenity --width="300" --height="300" --list --text "Unsur - Unsur Kimia" --

radiolist --column " " --column "Deret Kimia" TRUE "Alkali" FALSE "Alkali Tanah"

FALSE "Lantanida" FALSE "Aktanida" FALSE "Logam Transisi" FALSE "exit">pil

a=$?

dapat=`cat pil`

echo $a

case $a in

0)

case $dapat in

"Alkali")

zenity --width="400" --height="250" --title "Golongan Alkali" --list --

radiolist --column " " --column "macam unsur" TRUE "Li" FALSE "Na"

FALSE "K" >pil2

b=$?

pil_al=`cat pil2`

echo $b

case $b in

0)

case $pil_al in

#Lithium

"Li")

Li

;;

#++Natrium++#

"Na")

Na

;;

#++kalium++#

Page 3: basic bash programming

"K")

Ka

;;

esac

;;

1)

main;

;;

esac

;;

#+++++++++++++++++++++++++++++ GOLONGAN ALKALI TANAH

++++++++++++++++++++++++++++++++++#

"Alkali Tanah")

zenity --width="400" --height="250" --title "Golongan Alkali Tanah" --list

--radiolist --column " " --column "macam unsur" TRUE "Be" FALSE "Mg"

FALSE "Ca" >pil2

b=$?

pil_at=`cat pil2`

echo $b

case $b in

0)

case $pil_at in

#Berillium

"Be")

Be;;

#Magnesium

"Mg")

Mg;;

#Calsium

"Ca")

Ca;;

#===============================================================================

=============

esac

;;

1)

main;

;;

esac

;;

#++++++++++++++++++++++++++++++++++++++++ GOLONGAN LANTANIDA

+++++++++++++++++++++++++++++++++++++++++++#

"Lantanida")

zenity --width="400" --height="250" --title "Golongan Lantanida" --list --

radiolist --column " " --column "macam unsur" TRUE "Ce" FALSE "Pr" FALSE

"Nd" >pil2

b=$?

pil_la=`cat pil2`

echo $b

Page 4: basic bash programming

case $b in

0)

case $pil_la in

#Serium

"Ce")

Ce;;

#Praseodimium

"Pr")

Pr;;

#Neodinium

"Nd")

Nd;;

#===============================================================================

=============

esac

;;

1)

main;

;;

esac

;;

#+++++++++++++++++++++++++++++++++++ Golongan Aktanida

+++++++++++++++++++++++++++++++++++++++++++++++++#

"Aktanida")

zenity --width="400" --height="250" --title "Golongan Aktanida" --list --

radiolist --column " " --column "macam unsur" TRUE "Th" FALSE "Pa" FALSE

"U" >pil2

b=$?

pil_ak=`cat pil2`

echo $b

case $b in

0)

case $pil_ak in

#Thorium

"Th")

Th;;

#Protaktinium

"Pa")

Pa;;

#Uranium

"U")

Ur;;

#===============================================================================

=============

esac

;;

1)

main;

;;

esac

;;

#++++++++++++++++++++++++++++++++++++++++ Logam Transisi

++++++++++++++++++++++++++++++++++++++++++++++++++#

Page 5: basic bash programming

"Logam Transisi")

zenity --width="400" --height="250" --title "Logam Transisi" --list --

radiolist --column " " --column "macam unsur" TRUE "Sc" FALSE "Ti" FALSE

"Zr" >pil2

b=$?

pil_lt=`cat pil2`

echo $b

case $b in

0)

case $pil_lt in

#skandium

"Sc")

Sc;;

#Titanium

"Ti")

Ti;;

#zirkonium

"Zr")

Zr;;

#===============================================================================

=============

esac

;;

1)

main;

;;

esac

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++++++++

esac

;;

1)

exit 0;

;;

esac

back;

} ;

Li(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_li=`cat pil3`

echo $c

case $c in

0)

case $pil_li in

"gambar")

proses

gbrli=`eog "file:/home/$saya/project/Lithium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/lithium.txt

Page 6: basic bash programming

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

esac

}

Na(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_na=`cat pil3`

echo $c

case $c in

0)

case $pil_na in

"gambar")

proses

gbrna=`eog "file:/home/$saya/project/Na.jpg"`

echo $gbrna

;;

"penjelasan")

na=/home/$saya/project/Na.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$na

;;

esac

;;

1)

main;

;;

esac

}

Ka(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_k=`cat pil3`

echo $c

case $c in

0)

case $pil_k in

"gambar")

proses

gbrk=`eog "file:/home/$saya/project/kalium.JPG"`

echo $gbrk

;;

"penjelasan")

k=/home/$saya/project/k.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$k

;;

Page 7: basic bash programming

esac

;;

1)

main;

;;

esac

}

Be(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_be=`cat pil3`

echo $c

case $c in

0)

case $pil_be in

"gambar")

proses

gbrbe=`eog

"file:/home/$saya/project/berilium.jpg"`

echo $gbrbe

;;

"penjelasan")

be=/home/$saya/project/be.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$be

;;

esac

;;

1)

main;

;;

esac

}

Mg(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_mg=`cat pil3`

echo $c

case $c in

0)

case $pil_mg in

"gambar")

proses

gbrmg=`eog

"file:/home/$saya/project/magnesium.jpg"`

echo $gbrmg

;;

"penjelasan")

mg=/home/$saya/project/mg.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$mg

;;

esac ;;

Page 8: basic bash programming

1)

main;

;;

esac

}

Ca(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_ca=`cat pil3`

echo $c

case $c in

0)

case $pil_ca in

"gambar")

proses

gbrca=`eog

"file:/home/$saya/project/kalsium.jpg"`

echo $gbrca

;;

"penjelasan")

ca=/home/$saya/project/Ca.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$ca

;;

esac

;;

1)

main;

;;

esac

}

Ce(){

zenity --width="400" --height="250" --title "Golongan Lantanida" --list --

radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_ce=`cat pil3`

echo $c

case $c in

0)

case $pil_ce in

"gambar")

proses

gbrli=`eog "file:/home/$saya/project/Cerium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/serium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

Page 9: basic bash programming

;;

esac

}

Pr(){

zenity --width="400" --height="250" --title "Golongan Lantanida" --list --

radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_pr=`cat pil3`

echo $c

case $c in

0)

case $pil_pr in

"gambar")

proses

gbrli=`eog "file:/home/$saya/project/pr.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/Praseodimium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

esac

}

Nd(){

zenity --width="400" --height="250" --title "Golongan Lantanida" --list --

radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_nd=`cat pil3`

echo $c

case $c in

0)

case $pil_nd in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/Lithium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/lithium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

Page 10: basic bash programming

esac

}

Th(){

zenity --width="400" --height="250" --title "Golongan

Aktanida" --list --radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_th=`cat pil3`

echo $c

case $c in

0)

case $pil_th in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/Thorium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/thorium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

esac

}

Pa(){

zenity --width="400" --height="250" --title "Golongan

Aktanida" --list --radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_pa=`cat pil3`

echo $c

case $c in

0)

case $pil_pa in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/Protactinium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/protaktinium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

Page 11: basic bash programming

;;

esac

}

Ur(){

zenity --width="400" --height="250" --title "Golongan Aktanida" --list --

radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_ur=`cat pil3`

echo $c

case $c in

0)

case $pil_ur in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/Uranium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/uranium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

esac

}

Sc(){

zenity --width="400" --height="250" --title "Logam Transisi" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_sc=`cat pil3`

echo $c

case $c in

0)

case $pil_sc in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/skandium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/skandium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

Page 12: basic bash programming

;;

esac

}

Ti(){

zenity --width="400" --height="250" --title "Logam Transisi" --list --radiolist

--column " " --column "pilihan" TRUE "gambar" FALSE

"penjelasan" >pil3

c=$?

pil_ti=`cat pil3`

echo $c

case $c in

0)

case $pil_ti in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/titanium.JPG"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/titanium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

esac

}

Zr(){

zenity --width="400" --height="250" --title "Logam Transisi" -

-list --radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_zr=`cat pil3`

echo $c

case $c in

0)

case $pil_zr in

"gambar")

proses

gbrli=`eog

"file:/home/$saya/project/zirkonium.jpg"`

echo $gbrli

;;

"penjelasan")

li=/home/$saya/project/zirkonium.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$li

;;

esac

;;

1)

main;

;;

Page 13: basic bash programming

esac

}

back(){

back=`zenity --width="400" --title "pilihan" --text "keluar program (Y/T) :" --

entry`

a=$?

case $a in

0)

case $back in

Ya | ya | Y | y )

zenity --width="400" --info --text "

~~ Thanks For Choosing Our Program ~~"

exit 0

;;

Tidak | tidak | t | T )

main;

;;

*)

zenity --error --text "inputan salah !!!"

back;

esac

;;

1)

main;

;;

esac

}

cari() { z=`zenity --title "Search Engine" --width 400 --entry --text "

*******-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*******

\t\t * Masukkan Nama Unsur yang Anda Cari *

*******-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*******

"`

echo $z

case $z in

lithium | Lithium | LITHIUM | li | Li) Li ;;

natrium | Natrium | NATRIUM | na | Na) Na ;;

kalium | Kalium | KALIUM | ka | Ka) Ka ;;

be | Be) Be;;

mg | Mg) Mg;;

ca | Ca) Ca;;

ce | Ce) Ce;;

pr | Pr) Pr;;

nd | Nd) Nd;;

th | Th) Th;;

pa | Pa) Pa;;

u | U) Ur;;

sc | Sc) Sc;;

ti | Ti) Ti;;

zr | Zr) Zr;;

*)

zenity --error --text "inputan salah !!!"

cari;

esac

Page 14: basic bash programming

}

proses(){

(

echo "10" ; sleep 1

echo "# Process.." ; sleep 1

echo "20" ; sleep 1

echo "# Process..." ; sleep 1

echo "75" ; sleep 1

echo "# Process....." ; sleep 1

echo "100" ; sleep 1

) | zenity --width="400" --progress \

--title="Image Processing" \ --text="Process." \

--percentage=0

}

apik

main;

Page 15: basic bash programming

Output Program :

Gambar 1

Gambar 2

Gambar 3

Page 16: basic bash programming

Gambar 4

Gambar 5

Page 17: basic bash programming

Gambar 6

Gambar 7

Page 18: basic bash programming

Gambar 8

Gambar 9

Gambar 10

Page 19: basic bash programming

Analisa

Pada program yang telah dibuat diatas dapat dilakukan analisa bahwa program dibagi menjadi

beberapa fungsi, berikut penjelsaannya :

1. Apik()

Fungsi apik() adalah fungsi yang pertama kali berjalan ketika program mulai dijalankan. Ketika fungsi

ini berjalan akan didapatkan output seperti yang tampak pada gambar dibawah ini

apik(){

pilihan=$(zenity --width="250" --height="250" --list --title="Tabel

Periodik Unsur" --text="

----------------------------------------------------------------------

----------------------------------------------

\t\t\t\t\t SELAMAT DATANG

ANDA SEDANG MENGGUNAKAN PROGRAM TABEL PERIODIK UNSUR

----------------------------------------------------------------------

----------------------------------------------" --column " Choose"

cari manual);

if [ $pilihan == "cari" ];

then

cari;

elif [ $pilihan == "manual" ];

then

main;

else

back;

exit 0

fi

}

Page 20: basic bash programming

Dari gambar diatas terlihat bahwa terdapat pilihan mode, otomatis (mode pencarian) atau

mode manual. Mode otomatis ditujukan untuk mempermudah user dalam mencari sebuah

unsur yang ingin diketahui dengan meng-inputkan nama unsur pada serach engine yang akan

ditampilkan ketika mode otomatis dipilih. Untuk mode manual difungsikan untuk user yang

belum mengetahui nama unsur yang ingin dicari, sehingga ketika mode manual diaktifkan akan

ditampilkan output seperti berikut :

User dapar melakukan pencarian berdasarkan golongan unsur.

Page 21: basic bash programming

2. Cari()

Fungsi cari () digunakan untuk mengaktifkan mesin pencari (search engine) setelah mode otomatis

dipilih oleh user. Berikut tampilan output dari fungsi cari()

cari() { z=`zenity --title "Search Engine" --width 400 --entry --text "

*******-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*******

\t\t * Masukkan Nama Unsur yang Anda Cari *

*******-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*******

"`

echo $z

case $z in

lithium | Lithium | LITHIUM | li | Li) Li ;;

natrium | Natrium | NATRIUM | na | Na) Na ;;

kalium | Kalium | KALIUM | ka | Ka) Ka ;;

be | Be) Be;;

mg | Mg) Mg;;

ca | Ca) Ca;;

ce | Ce) Ce;;

pr | Pr) Pr;;

nd | Nd) Nd;;

th | Th) Th;;

pa | Pa) Pa;;

u | U) Ur;;

sc | Sc) Sc;;

ti | Ti) Ti;;

zr | Zr) Zr;;

*)

zenity --error --text "inputan salah !!!"

cari;

esac

}

Page 22: basic bash programming

Dalam fungsi ini terdapat dua kondisi dimana kondisi yang pertama adalah kondisi ketika sebuah

program mengenali bentuk input string yang diberikan oleh user sehingga mesin pencari akan

langsung mem-proses informasi yang ingin didapatkan, sebagai contoh adalah akan dicari logam

natrium yang Nampak seperti gambar diatas. Ketika tombol oke ditekan maka akan tampil output

sebagai berikut

Kondisi yang kedua adalah kondisi dimana program tidak mengenali bentuk input yang diberikan

oleh user sehingga akan ditampilkan pesan eror seperti yang terlihat pada gambar dibawah ini

Page 23: basic bash programming

3. Fungsi unsur

Fungsi unsur yang dimaksud adalah kumpulan fungsi – fungsi yang akan memproses dan

memberikan informasi ketika user melakukan akses terhadap fungsi tersebut. Sebagai

contoh adalah fungsi Na().

Na()

Ketika fungsi ini diakses maka akan ditampilkan output sebagai berikut

Na(){

zenity --width="400" --height="250" --title "Golongan Alkali" --list --

radiolist --column " " --column "pilihan" TRUE "gambar"

FALSE "penjelasan" >pil3

c=$?

pil_na=`cat pil3`

echo $c

case $c in

0)

case $pil_na in

"gambar")

proses

gbrna=`eog

"file:/home/$saya/project/Na.jpg"`

echo $gbrna

;;

"penjelasan")

na=/home/$saya/project/Na.txt

zenity --width="400" --height="250" --title

"penjelasan" --text-info --filename=$na

;;

esac

;;

1)

main;

;;

esac

}

Page 24: basic bash programming

Pada gambar diatas terdapat title yang bertuliskan Golongan Alkali. Title ini menunjukkan bahwa

unsur natrium merupakan unsur yang termasuk dalam golongan alkali. Dalam program juga

diberikan dua opsi dimana user dapat mengetahui bentuk dari unsur yang dia cari atau menggali

informs tentang informasi dari unsur yang ingin diketahui dengan memilih penjelasan. berikut

adalah tampilan ketika opsi diatas dipilih :

Opsi gambar

gbrna=`eog "file:/home/$saya/project/Na.jpg"`

echo $gbrna

Page 25: basic bash programming

Opsi penjelasan

na=/home/$saya/project/Na.txt

zenity --width="400" --height="250" --title "penjelasan" --text-info --

filename=$na;;

Page 26: basic bash programming

4. Main()

main(){

zenity --width="300" --height="300" --list --text "Unsur - Unsur Kimia" -

-radiolist --column " " --column "Deret Kimia" TRUE "Alkali" FALSE

"Alkali Tanah" FALSE "Lantanida" FALSE "Aktanida" FALSE "Logam Transisi"

FALSE "exit">pil

a=$?

dapat=`cat pil`

echo $a

case $a in

0)

case $dapat in

"Alkali")

zenity --width="400" --height="250" --title "Golongan Alkali" --

list --radiolist --column " " --column "macam unsur" TRUE "Li" FALSE

"Na" FALSE "K" >pil2

b=$?

pil_al=`cat pil2`

echo $b

case $b in

0)

case $pil_al in

#Lithium

"Li")

Li

;;

#++Natrium++#

"Na")

Na

;;

#++kalium++#

"K")

Ka

;;

esac

;;

1)

main;

;;

esac

;;

#+++++++++++++++++++++++++++++ GOLONGAN ALKALI TANAH

++++++++++++++++++++++++++++++++++#

.

Page 27: basic bash programming

Source code diatas merupakan sampel dari source code main program. Fungsi main

merupakan fungsi inti dimana semua akses dari kesluruhan fungsi yang terdapat dalam

program dilkukan dalam fungsi ini.

5. Proses()

Fungsi ini digunakan untuk menampilkan porses bar ketika gambar akan ditampilkan

Berikut adalah tampilan output dari source code diatas

proses(){

(

echo "10" ; sleep 1

echo "# Process.." ; sleep 1

echo "20" ; sleep 1

echo "# Process..." ; sleep 1

echo "75" ; sleep 1

echo "# Process....." ; sleep 1

echo "100" ; sleep 1

) | zenity --width="400" --progress \

--title="Image Processing" \ --text="Process." \

--percentage=0

Page 28: basic bash programming

6. Back()

Fungsi back digunakan atau aktif ketika user akan keluar dari program. Berikut adalah source

code dari fungsi back

Tampilan source :

Terdapat tiga kondisi pada fungsi ini, kondisi pertama adalah ketika user memilih untuk keluar dari

program, sehingga program akan menampilkan tampilan sebagai berikut

back(){

back=`zenity --width="400" --title "pilihan" --text "keluar program

(Y/T) :" --entry`

a=$?

case $a in

0)

case $back in

Ya | ya | Y | y )

zenity --width="400" --info --text "

~~ Thanks For Choosing Our Program ~~"

exit 0

;;

Tidak | tidak | t | T )

main;

;;

*)

zenity --error --text "inputan salah !!!"

back;

esac

;;

1)

main;

;;

esac

}

Page 29: basic bash programming

Kondisi kedua adalah ketika user memilih untuk tidak keluar dari program sehingga program akan

kembali menuju main function. Sedangkan untuk kondisi yang ketiga adalah ketika user tidak

memberikan inputan sehingga akan muncul peringatan seperti yang tampak pada gamabar dibawah

ini

Kesimpulan

Dari program yang telah dibuat di atas dapat ditarik kesimpulan bahwa program mempunyai fungsi

sebagai table periodic digital dimana user/penggna dapat langsung mendapatkan informasi serta

bentuk gambar dari unsur yang dicari sehingga hal ini mempermudah bafi pengguna untuk

mendapatkan informasi lebih cepat dan tepat