Pengenalan Tulisan Tangan Aksara Batak Toba Menggunakan Jaringan Saraf Tiruan Backpropagation

49

LAMPIRAN A : DATA SAMPEL

1.

Data latihan

Pola

Citra

0

Pola

Citra

1

A1

4

A2

A5

12
Ma
16

20

Ma3

Ma6

Ma4
19

Na


22

Na4

Ha6

15

18

21

Na3

11

14

17


Ha2

Ha5

Ma2

Ma5

7

10

13

A4

Ha

Ha4


Citra

3

6

9

Pola

A3

A6

Ha3

Citra

2


5

8

Pola

Na2

23

Na5

Na6

Universitas Sumatera Utara

50

24


25

Ra

28

26

Ra2

29

Ra5

32

30

33


36

48

Sa4

43

Da

Da2

46
Da4

49
Ga

39


42

45

47
Da5

50
Ga2

Ta6

Sa3

Sa6

Da3

35


Ta5

Sa2

Sa5

Ta2

38

41

44

Ta

Ta4

Sa


Ra4

31

34

37

40

Ra3

Ra6

Ta3

27

Da6

51

Ga3

Ga4

Universitas Sumatera Utara

51

52

53

Ga5

56

Ga6

57

Ja3

Ja4

Ba

64

Nga

Nga4

Nga2

71

Nga5

74

La2

Ba4

67

70

73

La

Ba3

Ba6

Nga3

Ja6

63

66

69

72

Ja5

Ba2

Ba5

Ja2

59

62

65

68

Ja

58

61

60

55

54

Nga6

75

La3

La4

Universitas Sumatera Utara

52

76

77

78

La5

80

La6

81

Nya3

90

Nya5

Wa3

wa

94

Wa4

96

Wa2

95

Wa5

97

Ya

Nya4

91

Nya6

93

Pa6

87

Nya2

89

92

Pa5

86

Nya

Pa2

83

Pa4

85

88

Pa

82

Pa3

84

79

Wa6

98

Ya2

99

Ya3

Ya4

Universitas Sumatera Utara

53

101

100

Ya5

102

Ya6

105

104

I3

I

104

I4

109

108

U

103

105

I5

110

U2

I2

I6

111

U3

U4

113

112

U5

U6

Universitas Sumatera Utara

54

2.

Data uji

Pola

Citra

0

Pola

Citra

1

A7

4

A8

H7

12
Na7

16

20

Na9

Ra8

Na10

19

Ra9

22
Ta8

Ma10

15

18

21
Ta7

11

14

17

Ha10

Ma9

Na8

Ra7

7

10

13

A10

Ha9

Ma8

Citra

3

6

9

Pola

A9

Ha8

Ma7

Citra

2

5

8

Pola

Ra10

23
Ta9

Ta10

Universitas Sumatera Utara

55

24

25
Sa7

26
Sa8

27
Sa9

Sa10

29

28

30
Da7

32

Da8

33
Ga7

36

34

37

40

Ja9

Ba8

Ja10

43
Ba9

46

Nga8

Ga10

39

42

45

Nga7

Ga9

Ja8

Ba7

Da10

35

38

41

44

Da9

Ga8

Ja7

31

Ba10

47

Nga9

Nga10

Universitas Sumatera Utara

56

48

49
La7

52

50
La8

53
Pa7

56

54

57

60

Ya9

I8

Ya10

71

I9

74

U8

Wa10

67

70

73

U7

Wa9

Ya8

I7

Nya10

63

66

69

72

Nya9

Wa8

Ya7

Pa10

59

62

65

68

Pa9

Nya8

Wa7

La10

55

58

61

64

La9

Pa8

Nya7

51

I10

75

U9

U10

Universitas Sumatera Utara

57

LAMPIRAN B
PROGRAM

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.util.Scanner;

public class tulisan{
private static final int IMG_WIDTH = 60;
private static final int IMG_HEIGHT = 90;
static

double input_jst[][] = new double[60][90];

private static double mse;
private static String namagambar = "";

private static BufferedImage original, grayscale, binarized, uji,uji2;
private static double epoch = 0.5;
private static double jum2;
private static String filegambar, tipegambar;
private static double matriks2 [][] = new double[60][90];
private static double nilai = 2;
public static void main (String[] args) throws IOException{

System.out.println("masukkan nama file gambar :");
Scanner input = new Scanner(System.in);
//Scanner input2 = new Scanner(System.in);
filegambar = input.nextLine();
//tipegambar = input2.nextLine();

Universitas Sumatera Utara

58

// mengambil source gambar
original = ImageIO.read(tulisan.class.getResource("pictures/"+filegambar+".bmp"));
int width_original = original.getWidth();
int height_original = original.getHeight();

if((width_original != 60 ) || (height_original != 90)){
System.out.println("ukuran gambar yang anda masukkan tidak sesuai, apakah ingin
mencocokkan gambar?");
System.out.println("y / t");
String kepastian = input.nextLine();
if(kepastian.equals("y")){
//BufferedImage originalImage = ImageIO.read(new File(filegambar+".bmp"));
int type = original.getType() == 0? BufferedImage.TYPE_INT_ARGB : original.getType();
BufferedImage resizeImagebmp = ImageProcessing.resizeImage(original, type);
.write(resizeImagebmp, "bmp", new File("pictures/"+filegambar+".bmp"));
original = ImageIO.read(tulisan.class.getResource("pictures/"+filegambar+".bmp"));}}
width_original = original.getWidth();
height_original = original.getHeight();

if((width_original == 60) && (height_original == 90)){
grayscale = fungsi_tulisan2.toGray(original);
binarized = fungsi_tulisan2.binarize(grayscale);

// mengatur besar skala width dengan height
int jum =0;
int width = binarized.getWidth();
int height = binarized.getHeight();
// System.out.println(" " +width +" " + height);
int [][] matriks = new int [width][height];
int [][] matriksbanding = new int [width][height];
int [][] matriksC = new int [width][height];

Universitas Sumatera Utara

59

int [][] matriksbanding2 = new int [width][height];
//int [][] zoning2 = new int [width][height];
for (int i = 0; i < width; i++) {
for (int j = 0; j