{ "cells": [ { "cell_type": "code", "execution_count": 7, "id": "9e537bd8-9667-4ebc-9a41-eb79d2d4820f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "๐ Memulai pemindaian gambar duplikat...\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_084.jpg (Sama dengan BACTERAILBLIGHT3_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_085.jpg (Sama dengan BACTERAILBLIGHT3_083.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_086.jpg (Sama dengan BACTERAILBLIGHT3_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_087.jpg (Sama dengan BACTERAILBLIGHT3_073.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_088.jpg (Sama dengan BACTERAILBLIGHT3_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_090.jpg (Sama dengan BACTERAILBLIGHT3_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_091.jpg (Sama dengan BACTERAILBLIGHT3_077.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_152.jpg (Sama dengan BACTERAILBLIGHT3_115.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_153.jpg (Sama dengan BACTERAILBLIGHT3_116.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_155.jpg (Sama dengan BACTERAILBLIGHT3_118.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_156.jpg (Sama dengan BACTERAILBLIGHT3_119.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_157.jpg (Sama dengan BACTERAILBLIGHT3_120.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_158.jpg (Sama dengan BACTERAILBLIGHT3_121.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_159.jpg (Sama dengan BACTERAILBLIGHT3_122.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_160.jpg (Sama dengan BACTERAILBLIGHT3_123.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_161.jpg (Sama dengan BACTERAILBLIGHT3_124.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_162.jpg (Sama dengan BACTERAILBLIGHT3_126.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_163.jpg (Sama dengan BACTERAILBLIGHT3_127.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_166.jpg (Sama dengan BACTERAILBLIGHT3_128.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_167.jpg (Sama dengan BACTERAILBLIGHT3_130.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_168.jpg (Sama dengan BACTERAILBLIGHT3_083.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_173.jpg (Sama dengan BACTERAILBLIGHT3_089.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_180.jpg (Sama dengan BACTERAILBLIGHT3_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_181.jpg (Sama dengan BACTERAILBLIGHT3_169.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_182.jpg (Sama dengan BACTERAILBLIGHT3_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_183.jpg (Sama dengan BACTERAILBLIGHT3_171.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_184.jpg (Sama dengan BACTERAILBLIGHT3_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_186.jpg (Sama dengan BACTERAILBLIGHT3_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_187.jpg (Sama dengan BACTERAILBLIGHT3_175.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_202.jpg (Sama dengan BACTERAILBLIGHT3_106.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_249.jpg (Sama dengan BACTERAILBLIGHT3_211.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_250.jpg (Sama dengan BACTERAILBLIGHT3_212.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_251.jpg (Sama dengan BACTERAILBLIGHT3_117.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_252.jpg (Sama dengan BACTERAILBLIGHT3_214.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_253.jpg (Sama dengan BACTERAILBLIGHT3_215.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_254.jpg (Sama dengan BACTERAILBLIGHT3_216.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_255.jpg (Sama dengan BACTERAILBLIGHT3_217.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_256.jpg (Sama dengan BACTERAILBLIGHT3_218.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_258.jpg (Sama dengan BACTERAILBLIGHT3_220.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_259.jpg (Sama dengan BACTERAILBLIGHT3_222.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_260.jpg (Sama dengan BACTERAILBLIGHT3_223.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_263.jpg (Sama dengan BACTERAILBLIGHT3_224.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT3_264.jpg (Sama dengan BACTERAILBLIGHT3_226.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_084.jpg (Sama dengan BACTERAILBLIGHT4_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_085.jpg (Sama dengan BACTERAILBLIGHT4_083.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_086.jpg (Sama dengan BACTERAILBLIGHT4_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_087.jpg (Sama dengan BACTERAILBLIGHT4_073.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_088.jpg (Sama dengan BACTERAILBLIGHT4_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_090.jpg (Sama dengan BACTERAILBLIGHT4_074.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_091.jpg (Sama dengan BACTERAILBLIGHT4_077.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_152.jpg (Sama dengan BACTERAILBLIGHT4_115.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_153.jpg (Sama dengan BACTERAILBLIGHT4_116.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_155.jpg (Sama dengan BACTERAILBLIGHT4_118.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_156.jpg (Sama dengan BACTERAILBLIGHT4_119.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_157.jpg (Sama dengan BACTERAILBLIGHT4_120.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_158.jpg (Sama dengan BACTERAILBLIGHT4_121.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_159.jpg (Sama dengan BACTERAILBLIGHT4_122.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_160.jpg (Sama dengan BACTERAILBLIGHT4_123.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_161.jpg (Sama dengan BACTERAILBLIGHT4_124.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_162.jpg (Sama dengan BACTERAILBLIGHT4_126.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_163.jpg (Sama dengan BACTERAILBLIGHT4_127.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_166.jpg (Sama dengan BACTERAILBLIGHT4_128.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_167.jpg (Sama dengan BACTERAILBLIGHT4_130.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_168.jpg (Sama dengan BACTERAILBLIGHT4_083.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_173.jpg (Sama dengan BACTERAILBLIGHT4_089.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_180.jpg (Sama dengan BACTERAILBLIGHT4_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_181.jpg (Sama dengan BACTERAILBLIGHT4_169.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_182.jpg (Sama dengan BACTERAILBLIGHT4_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_183.jpg (Sama dengan BACTERAILBLIGHT4_171.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_184.jpg (Sama dengan BACTERAILBLIGHT4_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_186.jpg (Sama dengan BACTERAILBLIGHT4_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_187.jpg (Sama dengan BACTERAILBLIGHT4_175.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_202.jpg (Sama dengan BACTERAILBLIGHT4_106.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_249.jpg (Sama dengan BACTERAILBLIGHT4_211.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_250.jpg (Sama dengan BACTERAILBLIGHT4_212.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_251.jpg (Sama dengan BACTERAILBLIGHT4_117.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_252.jpg (Sama dengan BACTERAILBLIGHT4_214.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_253.jpg (Sama dengan BACTERAILBLIGHT4_215.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_254.jpg (Sama dengan BACTERAILBLIGHT4_216.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_255.jpg (Sama dengan BACTERAILBLIGHT4_217.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_256.jpg (Sama dengan BACTERAILBLIGHT4_218.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_258.jpg (Sama dengan BACTERAILBLIGHT4_220.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_259.jpg (Sama dengan BACTERAILBLIGHT4_222.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_260.jpg (Sama dengan BACTERAILBLIGHT4_223.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_263.jpg (Sama dengan BACTERAILBLIGHT4_224.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT4_264.jpg (Sama dengan BACTERAILBLIGHT4_226.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_073(1).jpg (Sama dengan BACTERAILBLIGHT5_073 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_073.jpg (Sama dengan BACTERAILBLIGHT5_073 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_074(1).jpg (Sama dengan BACTERAILBLIGHT5_074 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_074.jpg (Sama dengan BACTERAILBLIGHT5_074 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_075(1).jpg (Sama dengan BACTERAILBLIGHT5_075 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_075.jpg (Sama dengan BACTERAILBLIGHT5_075 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_076(1).jpg (Sama dengan BACTERAILBLIGHT5_076 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_076.jpg (Sama dengan BACTERAILBLIGHT5_076 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_077(1).jpg (Sama dengan BACTERAILBLIGHT5_077 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_077.jpg (Sama dengan BACTERAILBLIGHT5_077 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_078(1).jpg (Sama dengan BACTERAILBLIGHT5_078 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_078.jpg (Sama dengan BACTERAILBLIGHT5_078 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_079(1).JPG (Sama dengan BACTERAILBLIGHT5_079 (1).JPG)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_079.JPG (Sama dengan BACTERAILBLIGHT5_079 (1).JPG)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_080(1).jpg (Sama dengan BACTERAILBLIGHT5_080 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_080.jpg (Sama dengan BACTERAILBLIGHT5_080 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_081(1).JPG (Sama dengan BACTERAILBLIGHT5_081 (1).JPG)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_081.JPG (Sama dengan BACTERAILBLIGHT5_081 (1).JPG)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_082(1).jpg (Sama dengan BACTERAILBLIGHT5_082 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_082.jpg (Sama dengan BACTERAILBLIGHT5_082 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_084.jpg (Sama dengan BACTERAILBLIGHT5_074 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_085.jpg (Sama dengan BACTERAILBLIGHT5_083.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_086.jpg (Sama dengan BACTERAILBLIGHT5_074 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_087.jpg (Sama dengan BACTERAILBLIGHT5_073 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_088.jpg (Sama dengan BACTERAILBLIGHT5_074 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_090.jpg (Sama dengan BACTERAILBLIGHT5_074 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_091.jpg (Sama dengan BACTERAILBLIGHT5_077 (1).jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_152.jpg (Sama dengan BACTERAILBLIGHT5_115.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_153.jpg (Sama dengan BACTERAILBLIGHT5_116.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_155.jpg (Sama dengan BACTERAILBLIGHT5_118.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_156.jpg (Sama dengan BACTERAILBLIGHT5_119.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_157.jpg (Sama dengan BACTERAILBLIGHT5_120.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_158.jpg (Sama dengan BACTERAILBLIGHT5_121.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_159.jpg (Sama dengan BACTERAILBLIGHT5_122.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_160.jpg (Sama dengan BACTERAILBLIGHT5_123.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_161.jpg (Sama dengan BACTERAILBLIGHT5_124.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_162.jpg (Sama dengan BACTERAILBLIGHT5_126.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_163.jpg (Sama dengan BACTERAILBLIGHT5_127.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_166.jpg (Sama dengan BACTERAILBLIGHT5_128.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_167.jpg (Sama dengan BACTERAILBLIGHT5_130.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_168.jpg (Sama dengan BACTERAILBLIGHT5_083.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_173.jpg (Sama dengan BACTERAILBLIGHT5_089.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_180.jpg (Sama dengan BACTERAILBLIGHT5_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_181.jpg (Sama dengan BACTERAILBLIGHT5_169.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_182.jpg (Sama dengan BACTERAILBLIGHT5_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_183.jpg (Sama dengan BACTERAILBLIGHT5_171.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_184.jpg (Sama dengan BACTERAILBLIGHT5_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_186.jpg (Sama dengan BACTERAILBLIGHT5_170.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_187.jpg (Sama dengan BACTERAILBLIGHT5_175.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_202.jpg (Sama dengan BACTERAILBLIGHT5_106.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_249.jpg (Sama dengan BACTERAILBLIGHT5_211.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_250.jpg (Sama dengan BACTERAILBLIGHT5_212.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_251.jpg (Sama dengan BACTERAILBLIGHT5_117.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_252.jpg (Sama dengan BACTERAILBLIGHT5_214.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_253.jpg (Sama dengan BACTERAILBLIGHT5_215.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_254.jpg (Sama dengan BACTERAILBLIGHT5_216.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_255.jpg (Sama dengan BACTERAILBLIGHT5_217.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_256.jpg (Sama dengan BACTERAILBLIGHT5_218.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_258.jpg (Sama dengan BACTERAILBLIGHT5_220.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_259.jpg (Sama dengan BACTERAILBLIGHT5_222.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_260.jpg (Sama dengan BACTERAILBLIGHT5_223.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_263.jpg (Sama dengan BACTERAILBLIGHT5_224.jpg)\n", "โ Menghapus duplikat: BACTERAILBLIGHT5_264.jpg (Sama dengan BACTERAILBLIGHT5_226.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_084.jpg (Sama dengan BACTERIALBLIGHT1_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_085.jpg (Sama dengan BACTERIALBLIGHT1_083.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_086.jpg (Sama dengan BACTERIALBLIGHT1_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_087.jpg (Sama dengan BACTERIALBLIGHT1_073.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_088.jpg (Sama dengan BACTERIALBLIGHT1_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_090.jpg (Sama dengan BACTERIALBLIGHT1_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_091.jpg (Sama dengan BACTERIALBLIGHT1_077.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_152.jpg (Sama dengan BACTERIALBLIGHT1_115.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_153.jpg (Sama dengan BACTERIALBLIGHT1_116.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_155.jpg (Sama dengan BACTERIALBLIGHT1_118.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_156.jpg (Sama dengan BACTERIALBLIGHT1_119.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_157.jpg (Sama dengan BACTERIALBLIGHT1_120.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_158.jpg (Sama dengan BACTERIALBLIGHT1_121.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_159.jpg (Sama dengan BACTERIALBLIGHT1_122.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_160.jpg (Sama dengan BACTERIALBLIGHT1_123.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_161.jpg (Sama dengan BACTERIALBLIGHT1_124.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_162.jpg (Sama dengan BACTERIALBLIGHT1_126.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_163.jpg (Sama dengan BACTERIALBLIGHT1_127.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_166.jpg (Sama dengan BACTERIALBLIGHT1_128.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_167.jpg (Sama dengan BACTERIALBLIGHT1_130.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_168.jpg (Sama dengan BACTERIALBLIGHT1_083.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_173.jpg (Sama dengan BACTERIALBLIGHT1_089.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_180.jpg (Sama dengan BACTERIALBLIGHT1_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_181.jpg (Sama dengan BACTERIALBLIGHT1_169.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_182.jpg (Sama dengan BACTERIALBLIGHT1_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_183.jpg (Sama dengan BACTERIALBLIGHT1_171.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_184.jpg (Sama dengan BACTERIALBLIGHT1_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_186.jpg (Sama dengan BACTERIALBLIGHT1_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_187.jpg (Sama dengan BACTERIALBLIGHT1_175.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_202.jpg (Sama dengan BACTERIALBLIGHT1_106.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_249.jpg (Sama dengan BACTERIALBLIGHT1_211.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_250.jpg (Sama dengan BACTERIALBLIGHT1_212.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_251.jpg (Sama dengan BACTERIALBLIGHT1_117.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_252.jpg (Sama dengan BACTERIALBLIGHT1_214.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_253.jpg (Sama dengan BACTERIALBLIGHT1_215.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_254.jpg (Sama dengan BACTERIALBLIGHT1_216.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_255.jpg (Sama dengan BACTERIALBLIGHT1_217.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_256.jpg (Sama dengan BACTERIALBLIGHT1_218.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_258.jpg (Sama dengan BACTERIALBLIGHT1_220.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_259.jpg (Sama dengan BACTERIALBLIGHT1_222.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_260.jpg (Sama dengan BACTERIALBLIGHT1_223.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_263.jpg (Sama dengan BACTERIALBLIGHT1_224.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT1_264.jpg (Sama dengan BACTERIALBLIGHT1_226.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_084.jpg (Sama dengan BACTERIALBLIGHT2_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_085.jpg (Sama dengan BACTERIALBLIGHT2_083.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_086.jpg (Sama dengan BACTERIALBLIGHT2_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_087.jpg (Sama dengan BACTERIALBLIGHT2_073.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_088.jpg (Sama dengan BACTERIALBLIGHT2_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_090.jpg (Sama dengan BACTERIALBLIGHT2_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_091.jpg (Sama dengan BACTERIALBLIGHT2_077.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_152.jpg (Sama dengan BACTERIALBLIGHT2_115.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_153.jpg (Sama dengan BACTERIALBLIGHT2_116.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_155.jpg (Sama dengan BACTERIALBLIGHT2_118.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_156.jpg (Sama dengan BACTERIALBLIGHT2_119.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_157.jpg (Sama dengan BACTERIALBLIGHT2_120.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_158.jpg (Sama dengan BACTERIALBLIGHT2_121.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_159.jpg (Sama dengan BACTERIALBLIGHT2_122.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_160.jpg (Sama dengan BACTERIALBLIGHT2_123.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_161.jpg (Sama dengan BACTERIALBLIGHT2_124.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_162.jpg (Sama dengan BACTERIALBLIGHT2_126.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_163.jpg (Sama dengan BACTERIALBLIGHT2_127.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_166.jpg (Sama dengan BACTERIALBLIGHT2_128.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_167.jpg (Sama dengan BACTERIALBLIGHT2_130.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_168.jpg (Sama dengan BACTERIALBLIGHT2_083.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_173.jpg (Sama dengan BACTERIALBLIGHT2_089.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_180.jpg (Sama dengan BACTERIALBLIGHT2_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_181.jpg (Sama dengan BACTERIALBLIGHT2_169.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_182.jpg (Sama dengan BACTERIALBLIGHT2_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_183.jpg (Sama dengan BACTERIALBLIGHT2_171.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_184.jpg (Sama dengan BACTERIALBLIGHT2_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_186.jpg (Sama dengan BACTERIALBLIGHT2_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_187.jpg (Sama dengan BACTERIALBLIGHT2_175.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_202.jpg (Sama dengan BACTERIALBLIGHT2_106.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_249.jpg (Sama dengan BACTERIALBLIGHT2_211.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_250.jpg (Sama dengan BACTERIALBLIGHT2_212.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_251.jpg (Sama dengan BACTERIALBLIGHT2_117.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_252.jpg (Sama dengan BACTERIALBLIGHT2_214.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_253.jpg (Sama dengan BACTERIALBLIGHT2_215.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_254.jpg (Sama dengan BACTERIALBLIGHT2_216.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_255.jpg (Sama dengan BACTERIALBLIGHT2_217.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_256.jpg (Sama dengan BACTERIALBLIGHT2_218.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_258.jpg (Sama dengan BACTERIALBLIGHT2_220.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_259.jpg (Sama dengan BACTERIALBLIGHT2_222.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_260.jpg (Sama dengan BACTERIALBLIGHT2_223.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_263.jpg (Sama dengan BACTERIALBLIGHT2_224.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT2_264.jpg (Sama dengan BACTERIALBLIGHT2_226.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_084.jpg (Sama dengan BACTERIALBLIGHT_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_085.jpg (Sama dengan BACTERIALBLIGHT_083.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_086.jpg (Sama dengan BACTERIALBLIGHT_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_087.jpg (Sama dengan BACTERIALBLIGHT_073.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_088.jpg (Sama dengan BACTERIALBLIGHT_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_090.jpg (Sama dengan BACTERIALBLIGHT_074.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_091.jpg (Sama dengan BACTERIALBLIGHT_077.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_152.jpg (Sama dengan BACTERIALBLIGHT_115.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_153.jpg (Sama dengan BACTERIALBLIGHT_116.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_155.jpg (Sama dengan BACTERIALBLIGHT_118.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_156.jpg (Sama dengan BACTERIALBLIGHT_119.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_157.jpg (Sama dengan BACTERIALBLIGHT_120.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_158.jpg (Sama dengan BACTERIALBLIGHT_121.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_159.jpg (Sama dengan BACTERIALBLIGHT_122.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_160.jpg (Sama dengan BACTERIALBLIGHT_123.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_161.jpg (Sama dengan BACTERIALBLIGHT_124.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_162.jpg (Sama dengan BACTERIALBLIGHT_126.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_163.jpg (Sama dengan BACTERIALBLIGHT_127.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_166.jpg (Sama dengan BACTERIALBLIGHT_128.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_167.jpg (Sama dengan BACTERIALBLIGHT_130.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_168.jpg (Sama dengan BACTERIALBLIGHT_083.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_173.jpg (Sama dengan BACTERIALBLIGHT_089.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_180.jpg (Sama dengan BACTERIALBLIGHT_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_181.jpg (Sama dengan BACTERIALBLIGHT_169.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_182.jpg (Sama dengan BACTERIALBLIGHT_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_183.jpg (Sama dengan BACTERIALBLIGHT_171.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_184.jpg (Sama dengan BACTERIALBLIGHT_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_186.jpg (Sama dengan BACTERIALBLIGHT_170.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_187.jpg (Sama dengan BACTERIALBLIGHT_175.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_202.jpg (Sama dengan BACTERIALBLIGHT_106.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_249.jpg (Sama dengan BACTERIALBLIGHT_211.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_250.jpg (Sama dengan BACTERIALBLIGHT_212.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_251.jpg (Sama dengan BACTERIALBLIGHT_117.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_252.jpg (Sama dengan BACTERIALBLIGHT_214.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_253.jpg (Sama dengan BACTERIALBLIGHT_215.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_254.jpg (Sama dengan BACTERIALBLIGHT_216.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_255.jpg (Sama dengan BACTERIALBLIGHT_217.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_256.jpg (Sama dengan BACTERIALBLIGHT_218.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_258.jpg (Sama dengan BACTERIALBLIGHT_220.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_259.jpg (Sama dengan BACTERIALBLIGHT_222.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_260.jpg (Sama dengan BACTERIALBLIGHT_223.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_263.jpg (Sama dengan BACTERIALBLIGHT_224.jpg)\n", "โ Menghapus duplikat: BACTERIALBLIGHT_264.jpg (Sama dengan BACTERIALBLIGHT_226.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_001.jpg (Sama dengan BROWNSPOT1_001.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_002.jpg (Sama dengan BROWNSPOT1_002.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_003.jpg (Sama dengan BROWNSPOT1_003.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_004.jpg (Sama dengan BROWNSPOT1_004.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_005.jpg (Sama dengan BROWNSPOT1_005.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_006.jpg (Sama dengan BROWNSPOT1_006.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_007.jpg (Sama dengan BROWNSPOT1_007.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_008.jpg (Sama dengan BROWNSPOT1_008.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_009.jpg (Sama dengan BROWNSPOT1_009.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_010.jpg (Sama dengan BROWNSPOT1_010.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_011.jpg (Sama dengan BROWNSPOT1_011.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_012.jpg (Sama dengan BROWNSPOT1_012.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_013.jpg (Sama dengan BROWNSPOT1_013.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_014.jpg (Sama dengan BROWNSPOT1_014.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_015.jpg (Sama dengan BROWNSPOT1_015.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_016.jpg (Sama dengan BROWNSPOT1_016.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_017.jpg (Sama dengan BROWNSPOT1_017.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_018.jpg (Sama dengan BROWNSPOT1_018.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_019.jpg (Sama dengan BROWNSPOT1_019.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_020.jpg (Sama dengan BROWNSPOT1_020.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_021.jpg (Sama dengan BROWNSPOT1_021.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_022.jpg (Sama dengan BROWNSPOT1_022.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_023.jpg (Sama dengan BROWNSPOT1_023.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_024.jpg (Sama dengan BROWNSPOT1_024.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_025.jpg (Sama dengan BROWNSPOT1_025.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_026.jpg (Sama dengan BROWNSPOT1_026.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_027.jpg (Sama dengan BROWNSPOT1_027.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_028.jpg (Sama dengan BROWNSPOT1_028.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_029.jpg (Sama dengan BROWNSPOT1_029.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_030.jpg (Sama dengan BROWNSPOT1_030.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_031.jpg (Sama dengan BROWNSPOT1_031.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_032.jpg (Sama dengan BROWNSPOT1_032.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_033.jpg (Sama dengan BROWNSPOT1_033.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_034.jpg (Sama dengan BROWNSPOT1_034.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_035.jpg (Sama dengan BROWNSPOT1_035.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_036.jpg (Sama dengan BROWNSPOT1_036.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_037.jpg (Sama dengan BROWNSPOT1_037.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_038.jpg (Sama dengan BROWNSPOT1_038.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_039.jpg (Sama dengan BROWNSPOT1_039.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_040.jpg (Sama dengan BROWNSPOT1_040.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_041.jpg (Sama dengan BROWNSPOT1_041.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_042.jpg (Sama dengan BROWNSPOT1_042.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_043.jpg (Sama dengan BROWNSPOT1_043.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_044.jpg (Sama dengan BROWNSPOT1_044.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_045.jpg (Sama dengan BROWNSPOT1_045.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_046.jpg (Sama dengan BROWNSPOT1_046.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_047.jpg (Sama dengan BROWNSPOT1_047.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_048.jpg (Sama dengan BROWNSPOT1_048.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_049.jpg (Sama dengan BROWNSPOT1_049.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_050.jpg (Sama dengan BROWNSPOT1_050.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_051.jpg (Sama dengan BROWNSPOT1_051.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_052.jpg (Sama dengan BROWNSPOT1_052.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_053.jpg (Sama dengan BROWNSPOT1_053.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_054.jpg (Sama dengan BROWNSPOT1_054.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_055.jpg (Sama dengan BROWNSPOT1_055.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_056.jpg (Sama dengan BROWNSPOT1_056.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_057.jpg (Sama dengan BROWNSPOT1_057.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_058.jpg (Sama dengan BROWNSPOT1_058.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_059.jpg (Sama dengan BROWNSPOT1_059.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_060.jpg (Sama dengan BROWNSPOT1_060.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_061.jpg (Sama dengan BROWNSPOT1_061.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_062.jpg (Sama dengan BROWNSPOT1_062.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_063.jpg (Sama dengan BROWNSPOT1_063.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_064.jpg (Sama dengan BROWNSPOT1_064.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_065.jpg (Sama dengan BROWNSPOT1_065.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_066.jpg (Sama dengan BROWNSPOT1_066.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_067.jpg (Sama dengan BROWNSPOT1_067.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_068.jpg (Sama dengan BROWNSPOT1_068.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_069.jpg (Sama dengan BROWNSPOT1_069.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_070.jpg (Sama dengan BROWNSPOT1_070.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_071.jpg (Sama dengan BROWNSPOT1_071.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_072.jpg (Sama dengan BROWNSPOT1_072.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_073.jpg (Sama dengan BROWNSPOT1_073.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_074.jpg (Sama dengan BROWNSPOT1_074.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_075.jpg (Sama dengan BROWNSPOT1_075.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_076.jpg (Sama dengan BROWNSPOT1_076.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_077.jpg (Sama dengan BROWNSPOT1_077.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_078.jpg (Sama dengan BROWNSPOT1_078.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_079.jpg (Sama dengan BROWNSPOT1_079.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_080.jpg (Sama dengan BROWNSPOT1_080.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_081.jpg (Sama dengan BROWNSPOT1_081.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_082.jpg (Sama dengan BROWNSPOT1_082.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_083.jpg (Sama dengan BROWNSPOT1_083.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_084.jpg (Sama dengan BROWNSPOT1_084.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_085.jpg (Sama dengan BROWNSPOT1_085.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_086.jpg (Sama dengan BROWNSPOT1_086.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_087.jpg (Sama dengan BROWNSPOT1_087.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_088.jpg (Sama dengan BROWNSPOT1_088.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_089.jpg (Sama dengan BROWNSPOT1_089.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_090.jpg (Sama dengan BROWNSPOT1_090.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_091.jpg (Sama dengan BROWNSPOT1_091.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_092.jpg (Sama dengan BROWNSPOT1_092.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_093.jpg (Sama dengan BROWNSPOT1_093.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_094.jpg (Sama dengan BROWNSPOT1_094.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_095.jpg (Sama dengan BROWNSPOT1_095.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_096.jpg (Sama dengan BROWNSPOT1_096.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_097.jpg (Sama dengan BROWNSPOT1_097.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_098.jpg (Sama dengan BROWNSPOT1_098.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_099.jpg (Sama dengan BROWNSPOT1_099.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_100.jpg (Sama dengan BROWNSPOT1_100.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_101.jpg (Sama dengan BROWNSPOT1_101.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_102.jpg (Sama dengan BROWNSPOT1_102.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_103.jpg (Sama dengan BROWNSPOT1_103.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_104.jpg (Sama dengan BROWNSPOT1_104.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_105.jpg (Sama dengan BROWNSPOT1_105.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_106.jpg (Sama dengan BROWNSPOT1_106.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_107.jpg (Sama dengan BROWNSPOT1_107.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_108.jpg (Sama dengan BROWNSPOT1_108.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_109.jpg (Sama dengan BROWNSPOT1_109.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_110.jpg (Sama dengan BROWNSPOT1_110.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_111.jpg (Sama dengan BROWNSPOT1_111.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_112.jpg (Sama dengan BROWNSPOT1_112.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_113.jpg (Sama dengan BROWNSPOT1_113.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_114.jpg (Sama dengan BROWNSPOT1_114.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_115.jpg (Sama dengan BROWNSPOT1_115.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_116.jpg (Sama dengan BROWNSPOT1_116.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_117.jpg (Sama dengan BROWNSPOT1_117.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_118.jpg (Sama dengan BROWNSPOT1_118.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_119.jpg (Sama dengan BROWNSPOT1_119.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_120.jpg (Sama dengan BROWNSPOT1_120.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_121.jpg (Sama dengan BROWNSPOT1_121.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_122.jpg (Sama dengan BROWNSPOT1_122.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_123.jpg (Sama dengan BROWNSPOT1_123.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_124.jpg (Sama dengan BROWNSPOT1_124.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_125.jpg (Sama dengan BROWNSPOT1_125.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_126.jpg (Sama dengan BROWNSPOT1_126.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_127.jpg (Sama dengan BROWNSPOT1_127.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_128.jpg (Sama dengan BROWNSPOT1_128.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_129.jpg (Sama dengan BROWNSPOT1_129.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_130.jpg (Sama dengan BROWNSPOT1_130.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_131.jpg (Sama dengan BROWNSPOT1_131.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_132.jpg (Sama dengan BROWNSPOT1_132.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_133.jpg (Sama dengan BROWNSPOT1_133.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_134.jpg (Sama dengan BROWNSPOT1_134.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_135.jpg (Sama dengan BROWNSPOT1_135.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_136.jpg (Sama dengan BROWNSPOT1_136.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_137.jpg (Sama dengan BROWNSPOT1_137.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_138.jpg (Sama dengan BROWNSPOT1_138.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_139.jpg (Sama dengan BROWNSPOT1_139.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_140.jpg (Sama dengan BROWNSPOT1_140.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_141.jpg (Sama dengan BROWNSPOT1_141.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_142.jpg (Sama dengan BROWNSPOT1_142.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_143.jpg (Sama dengan BROWNSPOT1_143.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_144.jpg (Sama dengan BROWNSPOT1_144.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_145.jpg (Sama dengan BROWNSPOT1_145.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_146.jpg (Sama dengan BROWNSPOT1_146.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_147.jpg (Sama dengan BROWNSPOT1_147.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_148.jpg (Sama dengan BROWNSPOT1_148.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_149.jpg (Sama dengan BROWNSPOT1_149.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_150.jpg (Sama dengan BROWNSPOT1_150.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_151.jpg (Sama dengan BROWNSPOT1_151.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_152.jpg (Sama dengan BROWNSPOT1_152.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_153.jpg (Sama dengan BROWNSPOT1_153.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_154.jpg (Sama dengan BROWNSPOT1_154.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_155.jpg (Sama dengan BROWNSPOT1_155.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_156.jpg (Sama dengan BROWNSPOT1_156.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_157.jpg (Sama dengan BROWNSPOT1_157.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_158.jpg (Sama dengan BROWNSPOT1_158.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_159.jpg (Sama dengan BROWNSPOT1_159.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_160.jpg (Sama dengan BROWNSPOT1_160.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_161.jpg (Sama dengan BROWNSPOT1_161.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_162.jpg (Sama dengan BROWNSPOT1_162.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_163.jpg (Sama dengan BROWNSPOT1_163.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_164.jpg (Sama dengan BROWNSPOT1_164.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_165.jpg (Sama dengan BROWNSPOT1_165.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_166.jpg (Sama dengan BROWNSPOT1_166.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_167.jpg (Sama dengan BROWNSPOT1_167.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_168.jpg (Sama dengan BROWNSPOT1_168.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_169.jpg (Sama dengan BROWNSPOT1_169.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_170.jpg (Sama dengan BROWNSPOT1_170.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_171.jpg (Sama dengan BROWNSPOT1_171.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_172.jpg (Sama dengan BROWNSPOT1_172.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_173.jpg (Sama dengan BROWNSPOT1_173.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_174.jpg (Sama dengan BROWNSPOT1_174.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_175.jpg (Sama dengan BROWNSPOT1_175.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_176.jpg (Sama dengan BROWNSPOT1_176.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_177.jpg (Sama dengan BROWNSPOT1_177.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_178.jpg (Sama dengan BROWNSPOT1_178.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_179.jpg (Sama dengan BROWNSPOT1_179.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_180.jpg (Sama dengan BROWNSPOT1_180.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_181.jpg (Sama dengan BROWNSPOT1_181.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_182.jpg (Sama dengan BROWNSPOT1_182.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_183.jpg (Sama dengan BROWNSPOT1_183.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_184.jpg (Sama dengan BROWNSPOT1_184.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_185.jpg (Sama dengan BROWNSPOT1_185.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_186.jpg (Sama dengan BROWNSPOT1_186.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_187.jpg (Sama dengan BROWNSPOT1_187.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_188.jpg (Sama dengan BROWNSPOT1_188.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_189.jpg (Sama dengan BROWNSPOT1_189.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_190.jpg (Sama dengan BROWNSPOT1_190.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_191.jpg (Sama dengan BROWNSPOT1_191.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_192.jpg (Sama dengan BROWNSPOT1_192.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_193.jpg (Sama dengan BROWNSPOT1_193.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_194.jpg (Sama dengan BROWNSPOT1_194.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_195.jpg (Sama dengan BROWNSPOT1_195.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_196.jpg (Sama dengan BROWNSPOT1_196.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_197.jpg (Sama dengan BROWNSPOT1_197.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_198.jpg (Sama dengan BROWNSPOT1_198.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_199.jpg (Sama dengan BROWNSPOT1_199.jpg)\n", "โ Menghapus duplikat: BROWNSPOT4_200.jpg (Sama dengan BROWNSPOT1_200.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_001.jpg (Sama dengan BROWNSPOT3_001.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_002.jpg (Sama dengan BROWNSPOT3_002.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_003.jpg (Sama dengan BROWNSPOT3_003.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_004.jpg (Sama dengan BROWNSPOT3_004.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_005.jpg (Sama dengan BROWNSPOT3_005.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_006.jpg (Sama dengan BROWNSPOT3_006.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_007.jpg (Sama dengan BROWNSPOT3_007.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_008.jpg (Sama dengan BROWNSPOT3_008.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_009.jpg (Sama dengan BROWNSPOT3_009.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_010.jpg (Sama dengan BROWNSPOT3_010.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_011.jpg (Sama dengan BROWNSPOT3_011.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_012.jpg (Sama dengan BROWNSPOT3_012.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_013.jpg (Sama dengan BROWNSPOT3_013.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_014.jpg (Sama dengan BROWNSPOT3_014.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_015.jpg (Sama dengan BROWNSPOT3_015.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_016.jpg (Sama dengan BROWNSPOT3_016.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_017.jpg (Sama dengan BROWNSPOT3_017.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_018.jpg (Sama dengan BROWNSPOT3_018.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_019.jpg (Sama dengan BROWNSPOT3_019.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_020.jpg (Sama dengan BROWNSPOT3_020.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_021.jpg (Sama dengan BROWNSPOT3_021.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_022.jpg (Sama dengan BROWNSPOT3_022.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_023.jpg (Sama dengan BROWNSPOT3_023.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_024.jpg (Sama dengan BROWNSPOT3_024.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_025.jpg (Sama dengan BROWNSPOT3_025.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_026.jpg (Sama dengan BROWNSPOT3_026.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_027.jpg (Sama dengan BROWNSPOT3_027.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_028.jpg (Sama dengan BROWNSPOT3_028.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_029.jpg (Sama dengan BROWNSPOT3_029.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_030.jpg (Sama dengan BROWNSPOT3_030.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_031.jpg (Sama dengan BROWNSPOT3_031.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_032.jpg (Sama dengan BROWNSPOT3_032.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_033.jpg (Sama dengan BROWNSPOT3_033.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_034.jpg (Sama dengan BROWNSPOT3_034.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_035.jpg (Sama dengan BROWNSPOT3_035.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_036.jpg (Sama dengan BROWNSPOT3_036.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_037.jpg (Sama dengan BROWNSPOT3_037.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_038.jpg (Sama dengan BROWNSPOT3_038.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_039.jpg (Sama dengan BROWNSPOT3_039.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_040.jpg (Sama dengan BROWNSPOT3_040.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_041.jpg (Sama dengan BROWNSPOT3_041.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_042.jpg (Sama dengan BROWNSPOT3_042.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_043.jpg (Sama dengan BROWNSPOT3_043.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_044.jpg (Sama dengan BROWNSPOT3_044.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_045.jpg (Sama dengan BROWNSPOT3_045.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_046.jpg (Sama dengan BROWNSPOT3_046.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_047.jpg (Sama dengan BROWNSPOT3_047.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_048.jpg (Sama dengan BROWNSPOT3_048.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_049.jpg (Sama dengan BROWNSPOT3_049.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_050.jpg (Sama dengan BROWNSPOT3_050.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_051.jpg (Sama dengan BROWNSPOT3_051.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_052.jpg (Sama dengan BROWNSPOT3_052.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_053.jpg (Sama dengan BROWNSPOT3_053.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_054.jpg (Sama dengan BROWNSPOT3_054.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_055.jpg (Sama dengan BROWNSPOT3_055.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_056.jpg (Sama dengan BROWNSPOT3_056.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_057.jpg (Sama dengan BROWNSPOT3_057.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_058.jpg (Sama dengan BROWNSPOT3_058.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_059.jpg (Sama dengan BROWNSPOT3_059.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_060.jpg (Sama dengan BROWNSPOT3_060.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_061.jpg (Sama dengan BROWNSPOT3_061.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_062.jpg (Sama dengan BROWNSPOT3_062.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_063.jpg (Sama dengan BROWNSPOT3_063.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_064.jpg (Sama dengan BROWNSPOT3_064.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_065.jpg (Sama dengan BROWNSPOT3_065.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_066.jpg (Sama dengan BROWNSPOT3_066.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_067.jpg (Sama dengan BROWNSPOT3_067.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_068.jpg (Sama dengan BROWNSPOT3_068.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_069.jpg (Sama dengan BROWNSPOT3_069.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_070.jpg (Sama dengan BROWNSPOT3_070.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_071.jpg (Sama dengan BROWNSPOT3_071.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_072.jpg (Sama dengan BROWNSPOT3_072.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_073.jpg (Sama dengan BROWNSPOT3_073.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_074.jpg (Sama dengan BROWNSPOT3_074.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_075.jpg (Sama dengan BROWNSPOT3_075.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_076.jpg (Sama dengan BROWNSPOT3_076.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_077.jpg (Sama dengan BROWNSPOT3_077.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_078.jpg (Sama dengan BROWNSPOT3_078.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_079.jpg (Sama dengan BROWNSPOT3_079.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_080.jpg (Sama dengan BROWNSPOT3_080.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_081.jpg (Sama dengan BROWNSPOT3_081.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_082.jpg (Sama dengan BROWNSPOT3_082.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_083.jpg (Sama dengan BROWNSPOT3_083.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_084.jpg (Sama dengan BROWNSPOT3_084.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_085.jpg (Sama dengan BROWNSPOT3_085.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_086.jpg (Sama dengan BROWNSPOT3_086.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_087.jpg (Sama dengan BROWNSPOT3_087.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_088.jpg (Sama dengan BROWNSPOT3_088.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_089.jpg (Sama dengan BROWNSPOT3_089.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_090.jpg (Sama dengan BROWNSPOT3_090.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_091.jpg (Sama dengan BROWNSPOT3_091.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_092.jpg (Sama dengan BROWNSPOT3_092.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_093.jpg (Sama dengan BROWNSPOT3_093.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_094.jpg (Sama dengan BROWNSPOT3_094.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_095.jpg (Sama dengan BROWNSPOT3_095.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_096.jpg (Sama dengan BROWNSPOT3_096.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_097.jpg (Sama dengan BROWNSPOT3_097.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_098.jpg (Sama dengan BROWNSPOT3_098.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_099.jpg (Sama dengan BROWNSPOT3_099.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_100.jpg (Sama dengan BROWNSPOT3_100.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_101.jpg (Sama dengan BROWNSPOT3_101.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_102.jpg (Sama dengan BROWNSPOT3_102.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_103.jpg (Sama dengan BROWNSPOT3_103.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_104.jpg (Sama dengan BROWNSPOT3_104.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_105.jpg (Sama dengan BROWNSPOT3_105.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_106.jpg (Sama dengan BROWNSPOT3_106.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_107.jpg (Sama dengan BROWNSPOT3_107.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_108.jpg (Sama dengan BROWNSPOT3_108.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_109.jpg (Sama dengan BROWNSPOT3_109.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_110.jpg (Sama dengan BROWNSPOT3_110.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_111.jpg (Sama dengan BROWNSPOT3_111.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_112.jpg (Sama dengan BROWNSPOT3_112.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_113.jpg (Sama dengan BROWNSPOT3_113.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_114.jpg (Sama dengan BROWNSPOT3_114.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_115.jpg (Sama dengan BROWNSPOT3_115.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_116.jpg (Sama dengan BROWNSPOT3_116.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_117.jpg (Sama dengan BROWNSPOT3_117.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_118.jpg (Sama dengan BROWNSPOT3_118.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_119.jpg (Sama dengan BROWNSPOT3_119.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_120.jpg (Sama dengan BROWNSPOT3_120.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_121.jpg (Sama dengan BROWNSPOT3_121.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_122.jpg (Sama dengan BROWNSPOT3_122.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_123.jpg (Sama dengan BROWNSPOT3_123.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_124.jpg (Sama dengan BROWNSPOT3_124.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_125.jpg (Sama dengan BROWNSPOT3_125.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_126.jpg (Sama dengan BROWNSPOT3_126.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_127.jpg (Sama dengan BROWNSPOT3_127.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_128.jpg (Sama dengan BROWNSPOT3_128.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_129.jpg (Sama dengan BROWNSPOT3_129.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_130.jpg (Sama dengan BROWNSPOT3_130.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_131.jpg (Sama dengan BROWNSPOT3_131.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_132.jpg (Sama dengan BROWNSPOT3_132.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_133.jpg (Sama dengan BROWNSPOT3_133.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_134.jpg (Sama dengan BROWNSPOT3_134.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_135.jpg (Sama dengan BROWNSPOT3_135.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_136.jpg (Sama dengan BROWNSPOT3_136.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_137.jpg (Sama dengan BROWNSPOT3_137.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_138.jpg (Sama dengan BROWNSPOT3_138.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_139.jpg (Sama dengan BROWNSPOT3_139.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_140.jpg (Sama dengan BROWNSPOT3_140.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_141.jpg (Sama dengan BROWNSPOT3_141.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_142.jpg (Sama dengan BROWNSPOT3_142.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_143.jpg (Sama dengan BROWNSPOT3_143.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_144.jpg (Sama dengan BROWNSPOT3_144.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_145.jpg (Sama dengan BROWNSPOT3_145.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_146.jpg (Sama dengan BROWNSPOT3_146.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_147.jpg (Sama dengan BROWNSPOT3_147.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_148.jpg (Sama dengan BROWNSPOT3_148.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_149.jpg (Sama dengan BROWNSPOT3_149.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_150.jpg (Sama dengan BROWNSPOT3_150.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_151.jpg (Sama dengan BROWNSPOT3_151.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_152.jpg (Sama dengan BROWNSPOT3_152.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_153.jpg (Sama dengan BROWNSPOT3_153.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_154.jpg (Sama dengan BROWNSPOT3_154.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_155.jpg (Sama dengan BROWNSPOT3_155.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_156.jpg (Sama dengan BROWNSPOT3_156.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_157.jpg (Sama dengan BROWNSPOT3_157.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_158.jpg (Sama dengan BROWNSPOT3_158.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_159.jpg (Sama dengan BROWNSPOT3_159.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_160.jpg (Sama dengan BROWNSPOT3_160.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_161.jpg (Sama dengan BROWNSPOT3_161.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_162.jpg (Sama dengan BROWNSPOT3_162.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_163.jpg (Sama dengan BROWNSPOT3_163.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_164.jpg (Sama dengan BROWNSPOT3_164.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_165.jpg (Sama dengan BROWNSPOT3_165.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_166.jpg (Sama dengan BROWNSPOT3_166.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_167.jpg (Sama dengan BROWNSPOT3_167.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_168.jpg (Sama dengan BROWNSPOT3_168.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_169.jpg (Sama dengan BROWNSPOT3_169.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_170.jpg (Sama dengan BROWNSPOT3_170.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_171.jpg (Sama dengan BROWNSPOT3_171.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_172.jpg (Sama dengan BROWNSPOT3_172.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_173.jpg (Sama dengan BROWNSPOT3_173.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_174.jpg (Sama dengan BROWNSPOT3_174.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_175.jpg (Sama dengan BROWNSPOT3_175.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_176.jpg (Sama dengan BROWNSPOT3_176.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_177.jpg (Sama dengan BROWNSPOT3_177.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_178.jpg (Sama dengan BROWNSPOT3_178.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_179.jpg (Sama dengan BROWNSPOT3_179.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_180.jpg (Sama dengan BROWNSPOT3_180.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_181.jpg (Sama dengan BROWNSPOT3_181.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_182.jpg (Sama dengan BROWNSPOT3_182.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_183.jpg (Sama dengan BROWNSPOT3_183.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_184.jpg (Sama dengan BROWNSPOT3_184.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_185.jpg (Sama dengan BROWNSPOT3_185.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_186.jpg (Sama dengan BROWNSPOT3_186.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_187.jpg (Sama dengan BROWNSPOT3_187.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_188.jpg (Sama dengan BROWNSPOT3_188.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_189.jpg (Sama dengan BROWNSPOT3_189.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_190.jpg (Sama dengan BROWNSPOT3_190.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_191.jpg (Sama dengan BROWNSPOT3_191.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_192.jpg (Sama dengan BROWNSPOT3_192.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_193.jpg (Sama dengan BROWNSPOT3_193.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_194.jpg (Sama dengan BROWNSPOT3_194.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_195.jpg (Sama dengan BROWNSPOT3_195.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_196.jpg (Sama dengan BROWNSPOT3_196.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_197.jpg (Sama dengan BROWNSPOT3_197.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_198.jpg (Sama dengan BROWNSPOT3_198.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_199.jpg (Sama dengan BROWNSPOT3_199.jpg)\n", "โ Menghapus duplikat: BROWNSPOT5_200.jpg (Sama dengan BROWNSPOT3_200.jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_056(1).jpg (Sama dengan BROWNSPOT6_056 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_056.jpg (Sama dengan BROWNSPOT6_056 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_057(1).jpg (Sama dengan BROWNSPOT6_057 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_057.jpg (Sama dengan BROWNSPOT6_057 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_058(1).jpg (Sama dengan BROWNSPOT6_058 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_058.jpg (Sama dengan BROWNSPOT6_058 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_059(1).jpg (Sama dengan BROWNSPOT6_059 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_059.jpg (Sama dengan BROWNSPOT6_059 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_060(1).jpg (Sama dengan BROWNSPOT6_060 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_060.jpg (Sama dengan BROWNSPOT6_060 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_061(1).jpg (Sama dengan BROWNSPOT6_061 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_061.jpg (Sama dengan BROWNSPOT6_061 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_062(1).jpg (Sama dengan BROWNSPOT6_062 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_062.jpg (Sama dengan BROWNSPOT6_062 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_063(1).jpg (Sama dengan BROWNSPOT6_063 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_063.jpg (Sama dengan BROWNSPOT6_063 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_064(1).jpg (Sama dengan BROWNSPOT6_064 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_064.jpg (Sama dengan BROWNSPOT6_064 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_065(1).jpg (Sama dengan BROWNSPOT6_065 (1).jpg)\n", "โ Menghapus duplikat: BROWNSPOT6_065.jpg (Sama dengan BROWNSPOT6_065 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_101(1).jpg (Sama dengan BLAST2_101 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_101.jpg (Sama dengan BLAST2_101 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_102(1).jpg (Sama dengan BLAST2_102 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_102.jpg (Sama dengan BLAST2_102 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_103(1).jpg (Sama dengan BLAST2_103 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_103.jpg (Sama dengan BLAST2_103 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_104(1).jpg (Sama dengan BLAST2_104 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_104.jpg (Sama dengan BLAST2_104 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_105(1).jpg (Sama dengan BLAST2_105 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_105.jpg (Sama dengan BLAST2_105 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_106(1).jpg (Sama dengan BLAST2_106 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_106.jpg (Sama dengan BLAST2_106 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_107(1).jpg (Sama dengan BLAST2_107 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_107.jpg (Sama dengan BLAST2_107 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_108(1).jpg (Sama dengan BLAST2_108 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_108.jpg (Sama dengan BLAST2_108 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_109(1).JPG (Sama dengan BLAST2_109 (1).JPG)\n", "โ Menghapus duplikat: BLAST2_109.JPG (Sama dengan BLAST2_109 (1).JPG)\n", "โ Menghapus duplikat: BLAST2_110(1).jpg (Sama dengan BLAST2_110 (1).jpg)\n", "โ Menghapus duplikat: BLAST2_110.jpg (Sama dengan BLAST2_110 (1).jpg)\n", "โ Menghapus duplikat: BLAST5_001.jpg (Sama dengan BLAST1_001.jpg)\n", "โ Menghapus duplikat: BLAST5_002.jpg (Sama dengan BLAST1_002.jpg)\n", "โ Menghapus duplikat: BLAST5_003.jpg (Sama dengan BLAST1_003.jpg)\n", "โ Menghapus duplikat: BLAST5_004.jpg (Sama dengan BLAST1_004.jpg)\n", "โ Menghapus duplikat: BLAST5_005.jpg (Sama dengan BLAST1_005.jpg)\n", "โ Menghapus duplikat: BLAST5_006.jpg (Sama dengan BLAST1_006.jpg)\n", "โ Menghapus duplikat: BLAST5_007.jpg (Sama dengan BLAST1_007.jpg)\n", "โ Menghapus duplikat: BLAST5_008.jpg (Sama dengan BLAST1_008.jpg)\n", "โ Menghapus duplikat: BLAST5_009.jpg (Sama dengan BLAST1_009.jpg)\n", "โ Menghapus duplikat: BLAST5_010.jpg (Sama dengan BLAST1_010.jpg)\n", "โ Menghapus duplikat: BLAST5_011.jpg (Sama dengan BLAST1_011.jpg)\n", "โ Menghapus duplikat: BLAST5_012.jpg (Sama dengan BLAST1_012.jpg)\n", "โ Menghapus duplikat: BLAST5_013.jpg (Sama dengan BLAST1_013.jpg)\n", "โ Menghapus duplikat: BLAST5_014.jpg (Sama dengan BLAST1_014.jpg)\n", "โ Menghapus duplikat: BLAST5_015.jpg (Sama dengan BLAST1_015.jpg)\n", "โ Menghapus duplikat: BLAST5_016.jpg (Sama dengan BLAST1_016.jpg)\n", "โ Menghapus duplikat: BLAST5_017.jpg (Sama dengan BLAST1_017.jpg)\n", "โ Menghapus duplikat: BLAST5_018.jpg (Sama dengan BLAST1_018.jpg)\n", "โ Menghapus duplikat: BLAST5_019.jpg (Sama dengan BLAST1_019.jpg)\n", "โ Menghapus duplikat: BLAST5_020.jpg (Sama dengan BLAST1_020.jpg)\n", "โ Menghapus duplikat: BLAST5_021.jpg (Sama dengan BLAST1_021.jpg)\n", "โ Menghapus duplikat: BLAST5_022.jpg (Sama dengan BLAST1_022.jpg)\n", "โ Menghapus duplikat: BLAST5_023.jpg (Sama dengan BLAST1_023.jpg)\n", "โ Menghapus duplikat: BLAST5_024.jpg (Sama dengan BLAST1_024.jpg)\n", "โ Menghapus duplikat: BLAST5_025.jpg (Sama dengan BLAST1_025.jpg)\n", "โ Menghapus duplikat: BLAST5_026.jpg (Sama dengan BLAST1_026.jpg)\n", "โ Menghapus duplikat: BLAST5_027.jpg (Sama dengan BLAST1_027.jpg)\n", "โ Menghapus duplikat: BLAST5_028.jpg (Sama dengan BLAST1_028.jpg)\n", "โ Menghapus duplikat: BLAST5_029.jpg (Sama dengan BLAST1_029.jpg)\n", "โ Menghapus duplikat: BLAST5_030.jpg (Sama dengan BLAST1_030.jpg)\n", "โ Menghapus duplikat: BLAST5_031.JPG (Sama dengan BLAST1_031.JPG)\n", "โ Menghapus duplikat: BLAST5_032.jpg (Sama dengan BLAST1_032.jpg)\n", "โ Menghapus duplikat: BLAST5_033.JPG (Sama dengan BLAST1_033.JPG)\n", "โ Menghapus duplikat: BLAST5_034.jpg (Sama dengan BLAST1_034.jpg)\n", "โ Menghapus duplikat: BLAST5_035.JPG (Sama dengan BLAST1_035.JPG)\n", "โ Menghapus duplikat: BLAST5_036.jpg (Sama dengan BLAST1_036.jpg)\n", "โ Menghapus duplikat: BLAST5_037.JPG (Sama dengan BLAST1_037.JPG)\n", "โ Menghapus duplikat: BLAST5_038.jpg (Sama dengan BLAST1_038.jpg)\n", "โ Menghapus duplikat: BLAST5_039.JPG (Sama dengan BLAST1_039.JPG)\n", "โ Menghapus duplikat: BLAST5_040.jpg (Sama dengan BLAST1_040.jpg)\n", "โ Menghapus duplikat: BLAST5_041.JPG (Sama dengan BLAST1_041.JPG)\n", "โ Menghapus duplikat: BLAST5_042.jpg (Sama dengan BLAST1_042.jpg)\n", "โ Menghapus duplikat: BLAST5_043.JPG (Sama dengan BLAST1_043.JPG)\n", "โ Menghapus duplikat: BLAST5_044.jpg (Sama dengan BLAST1_044.jpg)\n", "โ Menghapus duplikat: BLAST5_045.JPG (Sama dengan BLAST1_045.JPG)\n", "โ Menghapus duplikat: BLAST5_046.jpg (Sama dengan BLAST1_046.jpg)\n", "โ Menghapus duplikat: BLAST5_047.jpg (Sama dengan BLAST1_047.jpg)\n", "โ Menghapus duplikat: BLAST5_048.JPG (Sama dengan BLAST1_048.JPG)\n", "โ Menghapus duplikat: BLAST5_049.JPG (Sama dengan BLAST1_049.JPG)\n", "โ Menghapus duplikat: BLAST5_050.JPG (Sama dengan BLAST1_050.JPG)\n", "โ Menghapus duplikat: BLAST5_051.JPG (Sama dengan BLAST1_051.JPG)\n", "โ Menghapus duplikat: BLAST5_052.jpg (Sama dengan BLAST1_052.jpg)\n", "โ Menghapus duplikat: BLAST5_053.JPG (Sama dengan BLAST1_053.JPG)\n", "โ Menghapus duplikat: BLAST5_054.JPG (Sama dengan BLAST1_054.JPG)\n", "โ Menghapus duplikat: BLAST5_055.jpg (Sama dengan BLAST1_055.jpg)\n", "โ Menghapus duplikat: BLAST5_056.JPG (Sama dengan BLAST1_056.JPG)\n", "โ Menghapus duplikat: BLAST5_057.JPG (Sama dengan BLAST1_057.JPG)\n", "โ Menghapus duplikat: BLAST5_058.JPG (Sama dengan BLAST1_058.JPG)\n", "โ Menghapus duplikat: BLAST5_059.JPG (Sama dengan BLAST1_059.JPG)\n", "โ Menghapus duplikat: BLAST5_060.JPG (Sama dengan BLAST1_060.JPG)\n", "โ Menghapus duplikat: BLAST5_061.JPG (Sama dengan BLAST1_061.JPG)\n", "โ Menghapus duplikat: BLAST5_062.jpg (Sama dengan BLAST1_062.jpg)\n", "โ Menghapus duplikat: BLAST5_063.JPG (Sama dengan BLAST1_063.JPG)\n", "โ Menghapus duplikat: BLAST5_064.JPG (Sama dengan BLAST1_064.JPG)\n", "โ Menghapus duplikat: BLAST5_065.JPG (Sama dengan BLAST1_065.JPG)\n", "โ Menghapus duplikat: BLAST5_066.JPG (Sama dengan BLAST1_066.JPG)\n", "โ Menghapus duplikat: BLAST5_067.JPG (Sama dengan BLAST1_067.JPG)\n", "โ Menghapus duplikat: BLAST5_068.JPG (Sama dengan BLAST1_068.JPG)\n", "โ Menghapus duplikat: BLAST5_069.JPG (Sama dengan BLAST1_069.JPG)\n", "โ Menghapus duplikat: BLAST5_070.JPG (Sama dengan BLAST1_070.JPG)\n", "โ Menghapus duplikat: BLAST5_071.JPG (Sama dengan BLAST1_071.JPG)\n", "โ Menghapus duplikat: BLAST5_072.jpg (Sama dengan BLAST1_072.jpg)\n", "โ Menghapus duplikat: BLAST5_073.jpg (Sama dengan BLAST1_073.jpg)\n", "โ Menghapus duplikat: BLAST5_074.jpg (Sama dengan BLAST1_074.jpg)\n", "โ Menghapus duplikat: BLAST5_075.jpg (Sama dengan BLAST1_075.jpg)\n", "โ Menghapus duplikat: BLAST5_076.jpg (Sama dengan BLAST1_076.jpg)\n", "โ Menghapus duplikat: BLAST5_077.jpg (Sama dengan BLAST1_077.jpg)\n", "โ Menghapus duplikat: BLAST5_078.jpg (Sama dengan BLAST1_078.jpg)\n", "โ Menghapus duplikat: BLAST5_079.jpg (Sama dengan BLAST1_079.jpg)\n", "โ Menghapus duplikat: BLAST5_080.jpg (Sama dengan BLAST1_080.jpg)\n", "โ Menghapus duplikat: BLAST5_081.jpg (Sama dengan BLAST1_081.jpg)\n", "โ Menghapus duplikat: BLAST5_082.jpg (Sama dengan BLAST1_082.jpg)\n", "โ Menghapus duplikat: BLAST5_083.jpg (Sama dengan BLAST1_083.jpg)\n", "โ Menghapus duplikat: BLAST5_084.jpg (Sama dengan BLAST1_084.jpg)\n", "โ Menghapus duplikat: BLAST5_085.jpg (Sama dengan BLAST1_085.jpg)\n", "โ Menghapus duplikat: BLAST5_086.jpg (Sama dengan BLAST1_086.jpg)\n", "โ Menghapus duplikat: BLAST5_087.jpg (Sama dengan BLAST1_087.jpg)\n", "โ Menghapus duplikat: BLAST5_088.jpg (Sama dengan BLAST1_088.jpg)\n", "โ Menghapus duplikat: BLAST5_089.jpg (Sama dengan BLAST1_089.jpg)\n", "โ Menghapus duplikat: BLAST5_090.jpg (Sama dengan BLAST1_090.jpg)\n", "โ Menghapus duplikat: BLAST5_091.jpg (Sama dengan BLAST1_091.jpg)\n", "โ Menghapus duplikat: BLAST5_092.jpg (Sama dengan BLAST1_092.jpg)\n", "โ Menghapus duplikat: BLAST5_093.jpg (Sama dengan BLAST1_093.jpg)\n", "โ Menghapus duplikat: BLAST5_094.jpg (Sama dengan BLAST1_094.jpg)\n", "โ Menghapus duplikat: BLAST5_095.jpg (Sama dengan BLAST1_095.jpg)\n", "โ Menghapus duplikat: BLAST5_096.jpg (Sama dengan BLAST1_096.jpg)\n", "โ Menghapus duplikat: BLAST5_097.jpg (Sama dengan BLAST1_097.jpg)\n", "โ Menghapus duplikat: BLAST5_098.jpg (Sama dengan BLAST1_098.jpg)\n", "โ Menghapus duplikat: BLAST5_099.jpg (Sama dengan BLAST1_099.jpg)\n", "โ Menghapus duplikat: BLAST5_100.jpg (Sama dengan BLAST1_100.jpg)\n", "โ Menghapus duplikat: BLAST5_101.jpg (Sama dengan BLAST1_101.jpg)\n", "โ Menghapus duplikat: BLAST5_102.jpg (Sama dengan BLAST1_102.jpg)\n", "โ Menghapus duplikat: BLAST5_103.jpg (Sama dengan BLAST1_103.jpg)\n", "โ Menghapus duplikat: BLAST5_104.jpg (Sama dengan BLAST1_104.jpg)\n", "โ Menghapus duplikat: BLAST5_105.jpg (Sama dengan BLAST1_105.jpg)\n", "โ Menghapus duplikat: BLAST5_106.jpg (Sama dengan BLAST1_106.jpg)\n", "โ Menghapus duplikat: BLAST5_107.jpg (Sama dengan BLAST1_107.jpg)\n", "โ Menghapus duplikat: BLAST5_108.jpg (Sama dengan BLAST1_108.jpg)\n", "โ Menghapus duplikat: BLAST5_109.JPG (Sama dengan BLAST1_109.JPG)\n", "โ Menghapus duplikat: BLAST5_110.jpg (Sama dengan BLAST1_110.jpg)\n", "โ Menghapus duplikat: BLAST5_111.JPG (Sama dengan BLAST1_111.JPG)\n", "โ Menghapus duplikat: BLAST5_112.jpg (Sama dengan BLAST1_112.jpg)\n", "โ Menghapus duplikat: BLAST5_113.JPG (Sama dengan BLAST1_113.JPG)\n", "โ Menghapus duplikat: BLAST5_114.jpg (Sama dengan BLAST1_114.jpg)\n", "โ Menghapus duplikat: BLAST5_115.JPG (Sama dengan BLAST1_115.JPG)\n", "โ Menghapus duplikat: BLAST5_116.jpg (Sama dengan BLAST1_116.jpg)\n", "โ Menghapus duplikat: BLAST5_117.JPG (Sama dengan BLAST1_117.JPG)\n", "โ Menghapus duplikat: BLAST5_118.jpg (Sama dengan BLAST1_118.jpg)\n", "โ Menghapus duplikat: BLAST5_119.JPG (Sama dengan BLAST1_119.JPG)\n", "โ Menghapus duplikat: BLAST5_120.jpg (Sama dengan BLAST1_120.jpg)\n", "โ Menghapus duplikat: BLAST5_121.JPG (Sama dengan BLAST1_121.JPG)\n", "โ Menghapus duplikat: BLAST5_122.jpg (Sama dengan BLAST1_122.jpg)\n", "โ Menghapus duplikat: BLAST5_123.JPG (Sama dengan BLAST1_123.JPG)\n", "โ Menghapus duplikat: BLAST5_124.jpg (Sama dengan BLAST1_124.jpg)\n", "โ Menghapus duplikat: BLAST5_125.jpg (Sama dengan BLAST1_125.jpg)\n", "โ Menghapus duplikat: BLAST5_126.jpg (Sama dengan BLAST1_126.jpg)\n", "โ Menghapus duplikat: BLAST5_127.JPG (Sama dengan BLAST1_127.JPG)\n", "โ Menghapus duplikat: BLAST5_128.JPG (Sama dengan BLAST1_128.JPG)\n", "โ Menghapus duplikat: BLAST5_129.JPG (Sama dengan BLAST1_129.JPG)\n", "โ Menghapus duplikat: BLAST5_130.JPG (Sama dengan BLAST1_130.JPG)\n", "โ Menghapus duplikat: BLAST5_131.jpg (Sama dengan BLAST1_131.jpg)\n", "โ Menghapus duplikat: BLAST5_132.JPG (Sama dengan BLAST1_132.JPG)\n", "โ Menghapus duplikat: BLAST5_133.JPG (Sama dengan BLAST1_133.JPG)\n", "โ Menghapus duplikat: BLAST5_134.jpg (Sama dengan BLAST1_134.jpg)\n", "โ Menghapus duplikat: BLAST5_135.JPG (Sama dengan BLAST1_135.JPG)\n", "โ Menghapus duplikat: BLAST5_136.JPG (Sama dengan BLAST1_136.JPG)\n", "โ Menghapus duplikat: BLAST5_137.JPG (Sama dengan BLAST1_137.JPG)\n", "โ Menghapus duplikat: BLAST5_138.JPG (Sama dengan BLAST1_138.JPG)\n", "โ Menghapus duplikat: BLAST5_139.JPG (Sama dengan BLAST1_139.JPG)\n", "โ Menghapus duplikat: BLAST5_140.JPG (Sama dengan BLAST1_140.JPG)\n", "โ Menghapus duplikat: BLAST5_141.jpg (Sama dengan BLAST1_141.jpg)\n", "โ Menghapus duplikat: BLAST5_142.JPG (Sama dengan BLAST1_142.JPG)\n", "โ Menghapus duplikat: BLAST5_143.JPG (Sama dengan BLAST1_143.JPG)\n", "โ Menghapus duplikat: BLAST5_144.JPG (Sama dengan BLAST1_144.JPG)\n", "โ Menghapus duplikat: BLAST5_145.JPG (Sama dengan BLAST1_145.JPG)\n", "โ Menghapus duplikat: BLAST5_146.JPG (Sama dengan BLAST1_146.JPG)\n", "โ Menghapus duplikat: BLAST5_147.JPG (Sama dengan BLAST1_147.JPG)\n", "โ Menghapus duplikat: BLAST5_148.JPG (Sama dengan BLAST1_148.JPG)\n", "โ Menghapus duplikat: BLAST5_149.JPG (Sama dengan BLAST1_149.JPG)\n", "โ Menghapus duplikat: BLAST5_150.JPG (Sama dengan BLAST1_150.JPG)\n", "โ Menghapus duplikat: BLAST5_151.jpg (Sama dengan BLAST1_151.jpg)\n", "โ Menghapus duplikat: BLAST5_152.jpg (Sama dengan BLAST1_152.jpg)\n", "โ Menghapus duplikat: BLAST5_153.jpg (Sama dengan BLAST1_153.jpg)\n", "โ Menghapus duplikat: BLAST5_154.jpg (Sama dengan BLAST1_154.jpg)\n", "โ Menghapus duplikat: BLAST5_155.jpg (Sama dengan BLAST1_155.jpg)\n", "โ Menghapus duplikat: BLAST5_156.jpg (Sama dengan BLAST1_156.jpg)\n", "โ Menghapus duplikat: BLAST5_157.jpg (Sama dengan BLAST1_157.jpg)\n", "โ Menghapus duplikat: BLAST5_158.jpg (Sama dengan BLAST1_158.jpg)\n", "โ Menghapus duplikat: BLAST5_159.jpg (Sama dengan BLAST1_159.jpg)\n", "โ Menghapus duplikat: BLAST5_160.jpg (Sama dengan BLAST1_160.jpg)\n", "โ Menghapus duplikat: BLAST6_001.jpg (Sama dengan BLAST4_001.jpg)\n", "โ Menghapus duplikat: BLAST6_002.jpg (Sama dengan BLAST4_002.jpg)\n", "โ Menghapus duplikat: BLAST6_003.jpg (Sama dengan BLAST4_003.jpg)\n", "โ Menghapus duplikat: BLAST6_004.jpg (Sama dengan BLAST4_004.jpg)\n", "โ Menghapus duplikat: BLAST6_005.jpg (Sama dengan BLAST4_005.jpg)\n", "โ Menghapus duplikat: BLAST6_006.jpg (Sama dengan BLAST4_006.jpg)\n", "โ Menghapus duplikat: BLAST6_007.jpg (Sama dengan BLAST4_007.jpg)\n", "โ Menghapus duplikat: BLAST6_008.jpg (Sama dengan BLAST4_008.jpg)\n", "โ Menghapus duplikat: BLAST6_009.jpg (Sama dengan BLAST4_009.jpg)\n", "โ Menghapus duplikat: BLAST6_010.jpg (Sama dengan BLAST4_010.jpg)\n", "โ Menghapus duplikat: BLAST6_011.jpg (Sama dengan BLAST4_011.jpg)\n", "โ Menghapus duplikat: BLAST6_012.jpg (Sama dengan BLAST4_012.jpg)\n", "โ Menghapus duplikat: BLAST6_013.jpg (Sama dengan BLAST4_013.jpg)\n", "โ Menghapus duplikat: BLAST6_014.jpg (Sama dengan BLAST4_014.jpg)\n", "โ Menghapus duplikat: BLAST6_015.jpg (Sama dengan BLAST4_015.jpg)\n", "โ Menghapus duplikat: BLAST6_016.jpg (Sama dengan BLAST4_016.jpg)\n", "โ Menghapus duplikat: BLAST6_017.jpg (Sama dengan BLAST4_017.jpg)\n", "โ Menghapus duplikat: BLAST6_018.jpg (Sama dengan BLAST4_018.jpg)\n", "โ Menghapus duplikat: BLAST6_019.jpg (Sama dengan BLAST4_019.jpg)\n", "โ Menghapus duplikat: BLAST6_020.jpg (Sama dengan BLAST4_020.jpg)\n", "โ Menghapus duplikat: BLAST6_021.jpg (Sama dengan BLAST4_021.jpg)\n", "โ Menghapus duplikat: BLAST6_022.jpg (Sama dengan BLAST4_022.jpg)\n", "โ Menghapus duplikat: BLAST6_023.jpg (Sama dengan BLAST4_023.jpg)\n", "โ Menghapus duplikat: BLAST6_024.jpg (Sama dengan BLAST4_024.jpg)\n", "โ Menghapus duplikat: BLAST6_025.jpg (Sama dengan BLAST4_025.jpg)\n", "โ Menghapus duplikat: BLAST6_026.jpg (Sama dengan BLAST4_026.jpg)\n", "โ Menghapus duplikat: BLAST6_027.jpg (Sama dengan BLAST4_027.jpg)\n", "โ Menghapus duplikat: BLAST6_028.jpg (Sama dengan BLAST4_028.jpg)\n", "โ Menghapus duplikat: BLAST6_029.jpg (Sama dengan BLAST4_029.jpg)\n", "โ Menghapus duplikat: BLAST6_030.jpg (Sama dengan BLAST4_030.jpg)\n", "โ Menghapus duplikat: BLAST6_031.JPG (Sama dengan BLAST4_031.JPG)\n", "โ Menghapus duplikat: BLAST6_032.jpg (Sama dengan BLAST4_032.jpg)\n", "โ Menghapus duplikat: BLAST6_033.JPG (Sama dengan BLAST4_033.JPG)\n", "โ Menghapus duplikat: BLAST6_034.jpg (Sama dengan BLAST4_034.jpg)\n", "โ Menghapus duplikat: BLAST6_035.JPG (Sama dengan BLAST4_035.JPG)\n", "โ Menghapus duplikat: BLAST6_036.jpg (Sama dengan BLAST4_036.jpg)\n", "โ Menghapus duplikat: BLAST6_037.JPG (Sama dengan BLAST4_037.JPG)\n", "โ Menghapus duplikat: BLAST6_038.jpg (Sama dengan BLAST4_038.jpg)\n", "โ Menghapus duplikat: BLAST6_039.JPG (Sama dengan BLAST4_039.JPG)\n", "โ Menghapus duplikat: BLAST6_040.jpg (Sama dengan BLAST4_040.jpg)\n", "โ Menghapus duplikat: BLAST6_041.JPG (Sama dengan BLAST4_041.JPG)\n", "โ Menghapus duplikat: BLAST6_042.jpg (Sama dengan BLAST4_042.jpg)\n", "โ Menghapus duplikat: BLAST6_043.JPG (Sama dengan BLAST4_043.JPG)\n", "โ Menghapus duplikat: BLAST6_044.jpg (Sama dengan BLAST4_044.jpg)\n", "โ Menghapus duplikat: BLAST6_045.JPG (Sama dengan BLAST4_045.JPG)\n", "โ Menghapus duplikat: BLAST6_046.jpg (Sama dengan BLAST4_046.jpg)\n", "โ Menghapus duplikat: BLAST6_047.jpg (Sama dengan BLAST4_047.jpg)\n", "โ Menghapus duplikat: BLAST6_048.JPG (Sama dengan BLAST4_048.JPG)\n", "โ Menghapus duplikat: BLAST6_049.JPG (Sama dengan BLAST4_049.JPG)\n", "โ Menghapus duplikat: BLAST6_050.JPG (Sama dengan BLAST4_050.JPG)\n", "โ Menghapus duplikat: BLAST6_051.JPG (Sama dengan BLAST4_051.JPG)\n", "โ Menghapus duplikat: BLAST6_052.jpg (Sama dengan BLAST4_052.jpg)\n", "โ Menghapus duplikat: BLAST6_053.JPG (Sama dengan BLAST4_053.JPG)\n", "โ Menghapus duplikat: BLAST6_054.JPG (Sama dengan BLAST4_054.JPG)\n", "โ Menghapus duplikat: BLAST6_055.jpg (Sama dengan BLAST4_055.jpg)\n", "โ Menghapus duplikat: BLAST6_056.JPG (Sama dengan BLAST4_056.JPG)\n", "โ Menghapus duplikat: BLAST6_057.JPG (Sama dengan BLAST4_057.JPG)\n", "โ Menghapus duplikat: BLAST6_058.JPG (Sama dengan BLAST4_058.JPG)\n", "โ Menghapus duplikat: BLAST6_059.JPG (Sama dengan BLAST4_059.JPG)\n", "โ Menghapus duplikat: BLAST6_060.JPG (Sama dengan BLAST4_060.JPG)\n", "โ Menghapus duplikat: BLAST6_061.JPG (Sama dengan BLAST4_061.JPG)\n", "โ Menghapus duplikat: BLAST6_062.jpg (Sama dengan BLAST4_062.jpg)\n", "โ Menghapus duplikat: BLAST6_063.JPG (Sama dengan BLAST4_063.JPG)\n", "โ Menghapus duplikat: BLAST6_064.JPG (Sama dengan BLAST4_064.JPG)\n", "โ Menghapus duplikat: BLAST6_065.JPG (Sama dengan BLAST4_065.JPG)\n", "โ Menghapus duplikat: BLAST6_066.JPG (Sama dengan BLAST4_066.JPG)\n", "โ Menghapus duplikat: BLAST6_067.JPG (Sama dengan BLAST4_067.JPG)\n", "โ Menghapus duplikat: BLAST6_068.JPG (Sama dengan BLAST4_068.JPG)\n", "โ Menghapus duplikat: BLAST6_069.JPG (Sama dengan BLAST4_069.JPG)\n", "โ Menghapus duplikat: BLAST6_070.JPG (Sama dengan BLAST4_070.JPG)\n", "โ Menghapus duplikat: BLAST6_071.JPG (Sama dengan BLAST4_071.JPG)\n", "โ Menghapus duplikat: BLAST6_072.jpg (Sama dengan BLAST4_072.jpg)\n", "โ Menghapus duplikat: BLAST6_073.jpg (Sama dengan BLAST4_073.jpg)\n", "โ Menghapus duplikat: BLAST6_074.jpg (Sama dengan BLAST4_074.jpg)\n", "โ Menghapus duplikat: BLAST6_075.jpg (Sama dengan BLAST4_075.jpg)\n", "โ Menghapus duplikat: BLAST6_076.jpg (Sama dengan BLAST4_076.jpg)\n", "โ Menghapus duplikat: BLAST6_077.jpg (Sama dengan BLAST4_077.jpg)\n", "โ Menghapus duplikat: BLAST6_078.jpg (Sama dengan BLAST4_078.jpg)\n", "โ Menghapus duplikat: BLAST6_079.jpg (Sama dengan BLAST4_079.jpg)\n", "โ Menghapus duplikat: BLAST6_080.jpg (Sama dengan BLAST4_080.jpg)\n", "โ Menghapus duplikat: BLAST6_081.jpg (Sama dengan BLAST4_081.jpg)\n", "โ Menghapus duplikat: BLAST6_082.jpg (Sama dengan BLAST4_082.jpg)\n", "โ Menghapus duplikat: BLAST6_083.jpg (Sama dengan BLAST4_083.jpg)\n", "โ Menghapus duplikat: BLAST6_084.jpg (Sama dengan BLAST4_084.jpg)\n", "โ Menghapus duplikat: BLAST6_085.jpg (Sama dengan BLAST4_085.jpg)\n", "โ Menghapus duplikat: BLAST6_086.jpg (Sama dengan BLAST4_086.jpg)\n", "โ Menghapus duplikat: BLAST6_087.jpg (Sama dengan BLAST4_087.jpg)\n", "โ Menghapus duplikat: BLAST6_088.jpg (Sama dengan BLAST4_088.jpg)\n", "โ Menghapus duplikat: BLAST6_089.jpg (Sama dengan BLAST4_089.jpg)\n", "โ Menghapus duplikat: BLAST6_090.jpg (Sama dengan BLAST4_090.jpg)\n", "โ Menghapus duplikat: BLAST6_091.jpg (Sama dengan BLAST4_091.jpg)\n", "โ Menghapus duplikat: BLAST6_092.jpg (Sama dengan BLAST4_092.jpg)\n", "โ Menghapus duplikat: BLAST6_093.jpg (Sama dengan BLAST4_093.jpg)\n", "โ Menghapus duplikat: BLAST6_094.jpg (Sama dengan BLAST4_094.jpg)\n", "โ Menghapus duplikat: BLAST6_095.jpg (Sama dengan BLAST4_095.jpg)\n", "โ Menghapus duplikat: BLAST6_096.jpg (Sama dengan BLAST4_096.jpg)\n", "โ Menghapus duplikat: BLAST6_097.jpg (Sama dengan BLAST4_097.jpg)\n", "โ Menghapus duplikat: BLAST6_098.jpg (Sama dengan BLAST4_098.jpg)\n", "โ Menghapus duplikat: BLAST6_099.jpg (Sama dengan BLAST4_099.jpg)\n", "โ Menghapus duplikat: BLAST6_100.jpg (Sama dengan BLAST4_100.jpg)\n", "โ Menghapus duplikat: BLAST6_101.jpg (Sama dengan BLAST4_101.jpg)\n", "โ Menghapus duplikat: BLAST6_102.jpg (Sama dengan BLAST4_102.jpg)\n", "โ Menghapus duplikat: BLAST6_103.jpg (Sama dengan BLAST4_103.jpg)\n", "โ Menghapus duplikat: BLAST6_104.jpg (Sama dengan BLAST4_104.jpg)\n", "โ Menghapus duplikat: BLAST6_105.jpg (Sama dengan BLAST4_105.jpg)\n", "โ Menghapus duplikat: BLAST6_106.jpg (Sama dengan BLAST4_106.jpg)\n", "โ Menghapus duplikat: BLAST6_107.jpg (Sama dengan BLAST4_107.jpg)\n", "โ Menghapus duplikat: BLAST6_108.jpg (Sama dengan BLAST4_108.jpg)\n", "โ Menghapus duplikat: BLAST6_109.JPG (Sama dengan BLAST4_109.JPG)\n", "โ Menghapus duplikat: BLAST6_110.jpg (Sama dengan BLAST4_110.jpg)\n", "โ Menghapus duplikat: BLAST6_111.JPG (Sama dengan BLAST4_111.JPG)\n", "โ Menghapus duplikat: BLAST6_112.jpg (Sama dengan BLAST4_112.jpg)\n", "โ Menghapus duplikat: BLAST6_113.JPG (Sama dengan BLAST4_113.JPG)\n", "โ Menghapus duplikat: BLAST6_114.jpg (Sama dengan BLAST4_114.jpg)\n", "โ Menghapus duplikat: BLAST6_115.JPG (Sama dengan BLAST4_115.JPG)\n", "โ Menghapus duplikat: BLAST6_116.jpg (Sama dengan BLAST4_116.jpg)\n", "โ Menghapus duplikat: BLAST6_117.JPG (Sama dengan BLAST4_117.JPG)\n", "โ Menghapus duplikat: BLAST6_118.jpg (Sama dengan BLAST4_118.jpg)\n", "โ Menghapus duplikat: BLAST6_119.JPG (Sama dengan BLAST4_119.JPG)\n", "โ Menghapus duplikat: BLAST6_120.jpg (Sama dengan BLAST4_120.jpg)\n", "โ Menghapus duplikat: BLAST6_121.JPG (Sama dengan BLAST4_121.JPG)\n", "โ Menghapus duplikat: BLAST6_122.jpg (Sama dengan BLAST4_122.jpg)\n", "โ Menghapus duplikat: BLAST6_123.JPG (Sama dengan BLAST4_123.JPG)\n", "โ Menghapus duplikat: BLAST6_124.jpg (Sama dengan BLAST4_124.jpg)\n", "โ Menghapus duplikat: BLAST6_125.jpg (Sama dengan BLAST4_125.jpg)\n", "โ Menghapus duplikat: BLAST6_126.jpg (Sama dengan BLAST4_126.jpg)\n", "โ Menghapus duplikat: BLAST6_127.JPG (Sama dengan BLAST4_127.JPG)\n", "โ Menghapus duplikat: BLAST6_128.JPG (Sama dengan BLAST4_128.JPG)\n", "โ Menghapus duplikat: BLAST6_129.JPG (Sama dengan BLAST4_129.JPG)\n", "โ Menghapus duplikat: BLAST6_130.JPG (Sama dengan BLAST4_130.JPG)\n", "โ Menghapus duplikat: BLAST6_131.jpg (Sama dengan BLAST4_131.jpg)\n", "โ Menghapus duplikat: BLAST6_132.JPG (Sama dengan BLAST4_132.JPG)\n", "โ Menghapus duplikat: BLAST6_133.JPG (Sama dengan BLAST4_133.JPG)\n", "โ Menghapus duplikat: BLAST6_134.jpg (Sama dengan BLAST4_134.jpg)\n", "โ Menghapus duplikat: BLAST6_135.JPG (Sama dengan BLAST4_135.JPG)\n", "โ Menghapus duplikat: BLAST6_136.JPG (Sama dengan BLAST4_136.JPG)\n", "โ Menghapus duplikat: BLAST6_137.JPG (Sama dengan BLAST4_137.JPG)\n", "โ Menghapus duplikat: BLAST6_138.JPG (Sama dengan BLAST4_138.JPG)\n", "โ Menghapus duplikat: BLAST6_139.JPG (Sama dengan BLAST4_139.JPG)\n", "โ Menghapus duplikat: BLAST6_140.JPG (Sama dengan BLAST4_140.JPG)\n", "โ Menghapus duplikat: BLAST6_141.jpg (Sama dengan BLAST4_141.jpg)\n", "โ Menghapus duplikat: BLAST6_142.JPG (Sama dengan BLAST4_142.JPG)\n", "โ Menghapus duplikat: BLAST6_143.JPG (Sama dengan BLAST4_143.JPG)\n", "โ Menghapus duplikat: BLAST6_144.JPG (Sama dengan BLAST4_144.JPG)\n", "โ Menghapus duplikat: BLAST6_145.JPG (Sama dengan BLAST4_145.JPG)\n", "โ Menghapus duplikat: BLAST6_146.JPG (Sama dengan BLAST4_146.JPG)\n", "โ Menghapus duplikat: BLAST6_147.JPG (Sama dengan BLAST4_147.JPG)\n", "โ Menghapus duplikat: BLAST6_148.JPG (Sama dengan BLAST4_148.JPG)\n", "โ Menghapus duplikat: BLAST6_149.JPG (Sama dengan BLAST4_149.JPG)\n", "โ Menghapus duplikat: BLAST6_150.JPG (Sama dengan BLAST4_150.JPG)\n", "โ Menghapus duplikat: BLAST6_151.jpg (Sama dengan BLAST4_151.jpg)\n", "โ Menghapus duplikat: BLAST6_152.jpg (Sama dengan BLAST4_152.jpg)\n", "โ Menghapus duplikat: BLAST6_153.jpg (Sama dengan BLAST4_153.jpg)\n", "โ Menghapus duplikat: BLAST6_154.jpg (Sama dengan BLAST4_154.jpg)\n", "โ Menghapus duplikat: BLAST6_155.jpg (Sama dengan BLAST4_155.jpg)\n", "โ Menghapus duplikat: BLAST6_156.jpg (Sama dengan BLAST4_156.jpg)\n", "โ Menghapus duplikat: BLAST6_157.jpg (Sama dengan BLAST4_157.jpg)\n", "โ Menghapus duplikat: BLAST6_158.jpg (Sama dengan BLAST4_158.jpg)\n", "โ Menghapus duplikat: BLAST6_159.jpg (Sama dengan BLAST4_159.jpg)\n", "โ Menghapus duplikat: BLAST6_160.jpg (Sama dengan BLAST4_160.jpg)\n", "โ Menghapus duplikat: BLAST7_001.jpg (Sama dengan BLAST3_001.jpg)\n", "โ Menghapus duplikat: BLAST7_002.jpg (Sama dengan BLAST3_002.jpg)\n", "โ Menghapus duplikat: BLAST7_003.jpg (Sama dengan BLAST3_003.jpg)\n", "โ Menghapus duplikat: BLAST7_004.jpg (Sama dengan BLAST3_004.jpg)\n", "โ Menghapus duplikat: BLAST7_005.jpg (Sama dengan BLAST3_005.jpg)\n", "โ Menghapus duplikat: BLAST7_006.jpg (Sama dengan BLAST3_006.jpg)\n", "โ Menghapus duplikat: BLAST7_007.jpg (Sama dengan BLAST3_007.jpg)\n", "โ Menghapus duplikat: BLAST7_008.jpg (Sama dengan BLAST3_008.jpg)\n", "โ Menghapus duplikat: BLAST7_009.jpg (Sama dengan BLAST3_009.jpg)\n", "โ Menghapus duplikat: BLAST7_010.jpg (Sama dengan BLAST3_010.jpg)\n", "โ Menghapus duplikat: BLAST7_011.jpg (Sama dengan BLAST3_011.jpg)\n", "โ Menghapus duplikat: BLAST7_012.jpg (Sama dengan BLAST3_012.jpg)\n", "โ Menghapus duplikat: BLAST7_013.jpg (Sama dengan BLAST3_013.jpg)\n", "โ Menghapus duplikat: BLAST7_014.jpg (Sama dengan BLAST3_014.jpg)\n", "โ Menghapus duplikat: BLAST7_015.jpg (Sama dengan BLAST3_015.jpg)\n", "โ Menghapus duplikat: BLAST7_016.jpg (Sama dengan BLAST3_016.jpg)\n", "โ Menghapus duplikat: BLAST7_017.jpg (Sama dengan BLAST3_017.jpg)\n", "โ Menghapus duplikat: BLAST7_018.jpg (Sama dengan BLAST3_018.jpg)\n", "โ Menghapus duplikat: BLAST7_019.jpg (Sama dengan BLAST3_019.jpg)\n", "โ Menghapus duplikat: BLAST7_020.jpg (Sama dengan BLAST3_020.jpg)\n", "โ Menghapus duplikat: BLAST7_021.jpg (Sama dengan BLAST3_021.jpg)\n", "โ Menghapus duplikat: BLAST7_022.jpg (Sama dengan BLAST3_022.jpg)\n", "โ Menghapus duplikat: BLAST7_023.jpg (Sama dengan BLAST3_023.jpg)\n", "โ Menghapus duplikat: BLAST7_024.jpg (Sama dengan BLAST3_024.jpg)\n", "โ Menghapus duplikat: BLAST7_025.jpg (Sama dengan BLAST3_025.jpg)\n", "โ Menghapus duplikat: BLAST7_026.jpg (Sama dengan BLAST3_026.jpg)\n", "โ Menghapus duplikat: BLAST7_027.jpg (Sama dengan BLAST3_027.jpg)\n", "โ Menghapus duplikat: BLAST7_028.jpg (Sama dengan BLAST3_028.jpg)\n", "โ Menghapus duplikat: BLAST7_029.jpg (Sama dengan BLAST3_029.jpg)\n", "โ Menghapus duplikat: BLAST7_030.jpg (Sama dengan BLAST3_030.jpg)\n", "โ Menghapus duplikat: BLAST7_031.JPG (Sama dengan BLAST3_031.JPG)\n", "โ Menghapus duplikat: BLAST7_032.jpg (Sama dengan BLAST3_032.jpg)\n", "โ Menghapus duplikat: BLAST7_033.JPG (Sama dengan BLAST3_033.JPG)\n", "โ Menghapus duplikat: BLAST7_034.jpg (Sama dengan BLAST3_034.jpg)\n", "โ Menghapus duplikat: BLAST7_035.JPG (Sama dengan BLAST3_035.JPG)\n", "โ Menghapus duplikat: BLAST7_036.jpg (Sama dengan BLAST3_036.jpg)\n", "โ Menghapus duplikat: BLAST7_037.JPG (Sama dengan BLAST3_037.JPG)\n", "โ Menghapus duplikat: BLAST7_038.jpg (Sama dengan BLAST3_038.jpg)\n", "โ Menghapus duplikat: BLAST7_039.JPG (Sama dengan BLAST3_039.JPG)\n", "โ Menghapus duplikat: BLAST7_040.jpg (Sama dengan BLAST3_040.jpg)\n", "โ Menghapus duplikat: BLAST7_041.JPG (Sama dengan BLAST3_041.JPG)\n", "โ Menghapus duplikat: BLAST7_042.jpg (Sama dengan BLAST3_042.jpg)\n", "โ Menghapus duplikat: BLAST7_043.JPG (Sama dengan BLAST3_043.JPG)\n", "โ Menghapus duplikat: BLAST7_044.jpg (Sama dengan BLAST3_044.jpg)\n", "โ Menghapus duplikat: BLAST7_045.JPG (Sama dengan BLAST3_045.JPG)\n", "โ Menghapus duplikat: BLAST7_046.jpg (Sama dengan BLAST3_046.jpg)\n", "โ Menghapus duplikat: BLAST7_047.jpg (Sama dengan BLAST3_047.jpg)\n", "โ Menghapus duplikat: BLAST7_048.JPG (Sama dengan BLAST3_048.JPG)\n", "โ Menghapus duplikat: BLAST7_049.JPG (Sama dengan BLAST3_049.JPG)\n", "โ Menghapus duplikat: BLAST7_050.JPG (Sama dengan BLAST3_050.JPG)\n", "โ Menghapus duplikat: BLAST7_051.JPG (Sama dengan BLAST3_051.JPG)\n", "โ Menghapus duplikat: BLAST7_052.jpg (Sama dengan BLAST3_052.jpg)\n", "โ Menghapus duplikat: BLAST7_053.JPG (Sama dengan BLAST3_053.JPG)\n", "โ Menghapus duplikat: BLAST7_054.JPG (Sama dengan BLAST3_054.JPG)\n", "โ Menghapus duplikat: BLAST7_055.jpg (Sama dengan BLAST3_055.jpg)\n", "โ Menghapus duplikat: BLAST7_056.JPG (Sama dengan BLAST3_056.JPG)\n", "โ Menghapus duplikat: BLAST7_057.JPG (Sama dengan BLAST3_057.JPG)\n", "โ Menghapus duplikat: BLAST7_058.JPG (Sama dengan BLAST3_058.JPG)\n", "โ Menghapus duplikat: BLAST7_059.JPG (Sama dengan BLAST3_059.JPG)\n", "โ Menghapus duplikat: BLAST7_060.JPG (Sama dengan BLAST3_060.JPG)\n", "โ Menghapus duplikat: BLAST7_061.JPG (Sama dengan BLAST3_061.JPG)\n", "โ Menghapus duplikat: BLAST7_062.jpg (Sama dengan BLAST3_062.jpg)\n", "โ Menghapus duplikat: BLAST7_063.JPG (Sama dengan BLAST3_063.JPG)\n", "โ Menghapus duplikat: BLAST7_064.JPG (Sama dengan BLAST3_064.JPG)\n", "โ Menghapus duplikat: BLAST7_065.JPG (Sama dengan BLAST3_065.JPG)\n", "โ Menghapus duplikat: BLAST7_066.JPG (Sama dengan BLAST3_066.JPG)\n", "โ Menghapus duplikat: BLAST7_067.JPG (Sama dengan BLAST3_067.JPG)\n", "โ Menghapus duplikat: BLAST7_068.JPG (Sama dengan BLAST3_068.JPG)\n", "โ Menghapus duplikat: BLAST7_069.JPG (Sama dengan BLAST3_069.JPG)\n", "โ Menghapus duplikat: BLAST7_070.JPG (Sama dengan BLAST3_070.JPG)\n", "โ Menghapus duplikat: BLAST7_071.JPG (Sama dengan BLAST3_071.JPG)\n", "โ Menghapus duplikat: BLAST7_072.jpg (Sama dengan BLAST3_072.jpg)\n", "โ Menghapus duplikat: BLAST7_073.jpg (Sama dengan BLAST3_073.jpg)\n", "โ Menghapus duplikat: BLAST7_074.jpg (Sama dengan BLAST3_074.jpg)\n", "โ Menghapus duplikat: BLAST7_075.jpg (Sama dengan BLAST3_075.jpg)\n", "โ Menghapus duplikat: BLAST7_076.jpg (Sama dengan BLAST3_076.jpg)\n", "โ Menghapus duplikat: BLAST7_077.jpg (Sama dengan BLAST3_077.jpg)\n", "โ Menghapus duplikat: BLAST7_078.jpg (Sama dengan BLAST3_078.jpg)\n", "โ Menghapus duplikat: BLAST7_079.jpg (Sama dengan BLAST3_079.jpg)\n", "โ Menghapus duplikat: BLAST7_080.jpg (Sama dengan BLAST3_080.jpg)\n", "โ Menghapus duplikat: BLAST7_081.jpg (Sama dengan BLAST3_081.jpg)\n", "โ Menghapus duplikat: BLAST7_082.jpg (Sama dengan BLAST3_082.jpg)\n", "โ Menghapus duplikat: BLAST7_083.jpg (Sama dengan BLAST3_083.jpg)\n", "โ Menghapus duplikat: BLAST7_084.jpg (Sama dengan BLAST3_084.jpg)\n", "โ Menghapus duplikat: BLAST7_085.jpg (Sama dengan BLAST3_085.jpg)\n", "โ Menghapus duplikat: BLAST7_086.jpg (Sama dengan BLAST3_086.jpg)\n", "โ Menghapus duplikat: BLAST7_087.jpg (Sama dengan BLAST3_087.jpg)\n", "โ Menghapus duplikat: BLAST7_088.jpg (Sama dengan BLAST3_088.jpg)\n", "โ Menghapus duplikat: BLAST7_089.jpg (Sama dengan BLAST3_089.jpg)\n", "โ Menghapus duplikat: BLAST7_090.jpg (Sama dengan BLAST3_090.jpg)\n", "โ Menghapus duplikat: BLAST7_091.jpg (Sama dengan BLAST3_091.jpg)\n", "โ Menghapus duplikat: BLAST7_092.jpg (Sama dengan BLAST3_092.jpg)\n", "โ Menghapus duplikat: BLAST7_093.jpg (Sama dengan BLAST3_093.jpg)\n", "โ Menghapus duplikat: BLAST7_094.jpg (Sama dengan BLAST3_094.jpg)\n", "โ Menghapus duplikat: BLAST7_095.jpg (Sama dengan BLAST3_095.jpg)\n", "โ Menghapus duplikat: BLAST7_096.jpg (Sama dengan BLAST3_096.jpg)\n", "โ Menghapus duplikat: BLAST7_097.jpg (Sama dengan BLAST3_097.jpg)\n", "โ Menghapus duplikat: BLAST7_098.jpg (Sama dengan BLAST3_098.jpg)\n", "โ Menghapus duplikat: BLAST7_099.jpg (Sama dengan BLAST3_099.jpg)\n", "โ Menghapus duplikat: BLAST7_100.jpg (Sama dengan BLAST3_100.jpg)\n", "โ Menghapus duplikat: BLAST7_101.jpg (Sama dengan BLAST3_101.jpg)\n", "โ Menghapus duplikat: BLAST7_102.jpg (Sama dengan BLAST3_102.jpg)\n", "โ Menghapus duplikat: BLAST7_103.jpg (Sama dengan BLAST3_103.jpg)\n", "โ Menghapus duplikat: BLAST7_104.jpg (Sama dengan BLAST3_104.jpg)\n", "โ Menghapus duplikat: BLAST7_105.jpg (Sama dengan BLAST3_105.jpg)\n", "โ Menghapus duplikat: BLAST7_106.jpg (Sama dengan BLAST3_106.jpg)\n", "โ Menghapus duplikat: BLAST7_107.jpg (Sama dengan BLAST3_107.jpg)\n", "โ Menghapus duplikat: BLAST7_108.jpg (Sama dengan BLAST3_108.jpg)\n", "โ Menghapus duplikat: BLAST7_109.JPG (Sama dengan BLAST3_109.JPG)\n", "โ Menghapus duplikat: BLAST7_110.jpg (Sama dengan BLAST3_110.jpg)\n", "โ Menghapus duplikat: BLAST7_111.JPG (Sama dengan BLAST3_111.JPG)\n", "โ Menghapus duplikat: BLAST7_112.jpg (Sama dengan BLAST3_112.jpg)\n", "โ Menghapus duplikat: BLAST7_113.JPG (Sama dengan BLAST3_113.JPG)\n", "โ Menghapus duplikat: BLAST7_114.jpg (Sama dengan BLAST3_114.jpg)\n", "โ Menghapus duplikat: BLAST7_115.JPG (Sama dengan BLAST3_115.JPG)\n", "โ Menghapus duplikat: BLAST7_116.jpg (Sama dengan BLAST3_116.jpg)\n", "โ Menghapus duplikat: BLAST7_117.JPG (Sama dengan BLAST3_117.JPG)\n", "โ Menghapus duplikat: BLAST7_118.jpg (Sama dengan BLAST3_118.jpg)\n", "โ Menghapus duplikat: BLAST7_119.JPG (Sama dengan BLAST3_119.JPG)\n", "โ Menghapus duplikat: BLAST7_120.jpg (Sama dengan BLAST3_120.jpg)\n", "โ Menghapus duplikat: BLAST7_121.JPG (Sama dengan BLAST3_121.JPG)\n", "โ Menghapus duplikat: BLAST7_122.jpg (Sama dengan BLAST3_122.jpg)\n", "โ Menghapus duplikat: BLAST7_123.JPG (Sama dengan BLAST3_123.JPG)\n", "โ Menghapus duplikat: BLAST7_124.jpg (Sama dengan BLAST3_124.jpg)\n", "โ Menghapus duplikat: BLAST7_125.jpg (Sama dengan BLAST3_125.jpg)\n", "โ Menghapus duplikat: BLAST7_126.jpg (Sama dengan BLAST3_126.jpg)\n", "โ Menghapus duplikat: BLAST7_127.JPG (Sama dengan BLAST3_127.JPG)\n", "โ Menghapus duplikat: BLAST7_128.JPG (Sama dengan BLAST3_128.JPG)\n", "โ Menghapus duplikat: BLAST7_129.JPG (Sama dengan BLAST3_129.JPG)\n", "โ Menghapus duplikat: BLAST7_130.JPG (Sama dengan BLAST3_130.JPG)\n", "โ Menghapus duplikat: BLAST7_131.jpg (Sama dengan BLAST3_131.jpg)\n", "โ Menghapus duplikat: BLAST7_132.JPG (Sama dengan BLAST3_132.JPG)\n", "โ Menghapus duplikat: BLAST7_133.JPG (Sama dengan BLAST3_133.JPG)\n", "โ Menghapus duplikat: BLAST7_134.jpg (Sama dengan BLAST3_134.jpg)\n", "โ Menghapus duplikat: BLAST7_135.JPG (Sama dengan BLAST3_135.JPG)\n", "โ Menghapus duplikat: BLAST7_136.JPG (Sama dengan BLAST3_136.JPG)\n", "โ Menghapus duplikat: BLAST7_137.JPG (Sama dengan BLAST3_137.JPG)\n", "โ Menghapus duplikat: BLAST7_138.JPG (Sama dengan BLAST3_138.JPG)\n", "โ Menghapus duplikat: BLAST7_139.JPG (Sama dengan BLAST3_139.JPG)\n", "โ Menghapus duplikat: BLAST7_140.JPG (Sama dengan BLAST3_140.JPG)\n", "โ Menghapus duplikat: BLAST7_141.jpg (Sama dengan BLAST3_141.jpg)\n", "โ Menghapus duplikat: BLAST7_142.JPG (Sama dengan BLAST3_142.JPG)\n", "โ Menghapus duplikat: BLAST7_143.JPG (Sama dengan BLAST3_143.JPG)\n", "โ Menghapus duplikat: BLAST7_144.JPG (Sama dengan BLAST3_144.JPG)\n", "โ Menghapus duplikat: BLAST7_145.JPG (Sama dengan BLAST3_145.JPG)\n", "โ Menghapus duplikat: BLAST7_146.JPG (Sama dengan BLAST3_146.JPG)\n", "โ Menghapus duplikat: BLAST7_147.JPG (Sama dengan BLAST3_147.JPG)\n", "โ Menghapus duplikat: BLAST7_148.JPG (Sama dengan BLAST3_148.JPG)\n", "โ Menghapus duplikat: BLAST7_149.JPG (Sama dengan BLAST3_149.JPG)\n", "โ Menghapus duplikat: BLAST7_150.JPG (Sama dengan BLAST3_150.JPG)\n", "โ Menghapus duplikat: BLAST7_151.jpg (Sama dengan BLAST3_151.jpg)\n", "โ Menghapus duplikat: BLAST7_152.jpg (Sama dengan BLAST3_152.jpg)\n", "โ Menghapus duplikat: BLAST7_153.jpg (Sama dengan BLAST3_153.jpg)\n", "โ Menghapus duplikat: BLAST7_154.jpg (Sama dengan BLAST3_154.jpg)\n", "โ Menghapus duplikat: BLAST7_155.jpg (Sama dengan BLAST3_155.jpg)\n", "โ Menghapus duplikat: BLAST7_156.jpg (Sama dengan BLAST3_156.jpg)\n", "โ Menghapus duplikat: BLAST7_157.jpg (Sama dengan BLAST3_157.jpg)\n", "โ Menghapus duplikat: BLAST7_158.jpg (Sama dengan BLAST3_158.jpg)\n", "โ Menghapus duplikat: BLAST7_159.jpg (Sama dengan BLAST3_159.jpg)\n", "โ Menghapus duplikat: BLAST7_160.jpg (Sama dengan BLAST3_160.jpg)\n", "--------------------------------------------------\n", "โจ Pembersihan selesai! Total gambar duplikat yang dihapus: 1198\n" ] } ], "source": [ "import os\n", "import hashlib\n", "from pathlib import Path\n", "\n", "def hapus_gambar_duplikat(dataset_path):\n", " hashes = {}\n", " jumlah_terhapus = 0\n", " \n", " # Ganti dengan path dataset Anda\n", " path = Path(dataset_path)\n", " \n", " print(\"๐ Memulai pemindaian gambar duplikat...\")\n", " \n", " # Scan semua file di dalam folder dan subfolder kelas\n", " for file_path in path.glob('**/*'):\n", " if file_path.is_file() and file_path.suffix.lower() in ['.jpg', '.jpeg', '.png']:\n", " \n", " # Hitung nilai hash MD5 berdasarkan isi file biner gambar\n", " with open(file_path, 'rb') as f:\n", " file_hash = hashlib.md5(f.read()).hexdigest()\n", " \n", " # Jika hash sudah ada di kamus, berarti file ini duplikat\n", " if file_hash in hashes:\n", " print(f\"โ Menghapus duplikat: {file_path.name} (Sama dengan {hashes[file_hash].name})\")\n", " os.remove(file_path)\n", " jumlah_terhapus += 1\n", " else:\n", " # Jika belum ada, simpan hash dan path aslinya\n", " hashes[file_hash] = file_path\n", " \n", " print(\"-\" * 50)\n", " print(f\"โจ Pembersihan selesai! Total gambar duplikat yang dihapus: {jumlah_terhapus}\")\n", "\n", "# JALANKAN FUNGSI (Sesuaikan dengan path folder dataset padi Anda)\n", "PATH_DATASET = r\"d:\\PROJECT TA\\rice leaf diseases dataset\"\n", "hapus_gambar_duplikat(PATH_DATASET)" ] }, { "cell_type": "markdown", "id": "f9ab6577-4cbb-480f-981b-19a8ec0cb90c", "metadata": {}, "source": [ "## 2. Load and Explore Dataset" ] }, { "cell_type": "code", "execution_count": 8, "id": "e13e9d04-667d-40fa-92ff-22e7f9702428", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Notebook working directory: D:\\PROJECT TA\\rice leaf diseases dataset\n", "\n", "โ Dataset found at: .\n", "\n", "Class folder check:\n", "- Bacterialblight: found\n", "- Brownspot: found\n", "- Healthy: found\n", "- Leafsmut: found\n", "\n", "Loading dataset...\n", "--------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Loading Bacterialblight: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 1326/1326 [00:01<00:00, 721.54it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " โ Bacterialblight: 1326 images loaded\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "Loading Brownspot: 0%| | 0/1200 [00:00, ?it/s]\u001b[A\n", "Loading Brownspot: 8%|โโโโโโโโโ | 95/1200 [00:00<00:01, 944.45it/s]\u001b[A\n", "Loading Brownspot: 16%|โโโโโโโโโโโโโโโโโโ | 190/1200 [00:00<00:01, 933.62it/s]\u001b[A\n", "Loading Brownspot: 24%|โโโโโโโโโโโโโโโโโโโโโโโโโโโ | 284/1200 [00:00<00:00, 931.08it/s]\u001b[A\n", "Loading Brownspot: 32%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 378/1200 [00:00<00:00, 929.14it/s]\u001b[A\n", "Loading Brownspot: 39%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 471/1200 [00:00<00:00, 921.97it/s]\u001b[A\n", "Loading Brownspot: 47%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 564/1200 [00:00<00:00, 923.60it/s]\u001b[A\n", "Loading Brownspot: 55%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 657/1200 [00:00<00:00, 919.26it/s]\u001b[A\n", "Loading Brownspot: 63%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 751/1200 [00:00<00:00, 922.95it/s]\u001b[A\n", "Loading Brownspot: 70%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 844/1200 [00:00<00:00, 918.48it/s]\u001b[A\n", "Loading Brownspot: 78%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 937/1200 [00:01<00:00, 920.72it/s]\u001b[A\n", "Loading Brownspot: 86%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 1030/1200 [00:01<00:00, 919.76it/s]\u001b[A\n", "Loading Brownspot: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 1200/1200 [00:01<00:00, 927.82it/s]\u001b[A\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " โ Brownspot: 1200 images loaded\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "\n", "Loading Healthy: 0%| | 0/400 [00:00, ?it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 1%|โโ | 4/400 [00:00<00:12, 30.90it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 2%|โโโ | 8/400 [00:00<00:16, 23.98it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 3%|โโโโ | 11/400 [00:00<00:19, 20.07it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 4%|โโโโโ | 14/400 [00:00<00:18, 20.75it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 4%|โโโโโ | 17/400 [00:00<00:18, 20.51it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 5%|โโโโโโ | 20/400 [00:01<00:21, 17.30it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 6%|โโโโโโโ | 22/400 [00:01<00:28, 13.16it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 6%|โโโโโโโ | 24/400 [00:01<00:30, 12.44it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 6%|โโโโโโโโ | 26/400 [00:01<00:29, 12.59it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 7%|โโโโโโโโโ | 28/400 [00:01<00:26, 13.88it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 8%|โโโโโโโโโโ | 31/400 [00:01<00:23, 15.84it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 8%|โโโโโโโโโโ | 34/400 [00:01<00:19, 18.60it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 9%|โโโโโโโโโโโ | 37/400 [00:02<00:19, 18.78it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 10%|โโโโโโโโโโโโ | 39/400 [00:02<00:19, 18.26it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 10%|โโโโโโโโโโโโ | 41/400 [00:02<00:21, 16.85it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 11%|โโโโโโโโโโโโโ | 43/400 [00:02<00:26, 13.56it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 11%|โโโโโโโโโโโโโโ | 45/400 [00:02<00:26, 13.64it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 12%|โโโโโโโโโโโโโโ | 47/400 [00:03<00:29, 11.98it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 12%|โโโโโโโโโโโโโโโ | 49/400 [00:03<00:30, 11.64it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 13%|โโโโโโโโโโโโโโโ | 51/400 [00:03<00:27, 12.85it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 13%|โโโโโโโโโโโโโโโโ | 53/400 [00:03<00:25, 13.52it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 14%|โโโโโโโโโโโโโโโโโ | 55/400 [00:03<00:23, 14.91it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 14%|โโโโโโโโโโโโโโโโโ | 58/400 [00:03<00:20, 16.47it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 15%|โโโโโโโโโโโโโโโโโโ | 61/400 [00:03<00:17, 19.37it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 16%|โโโโโโโโโโโโโโโโโโโ | 64/400 [00:03<00:18, 18.25it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 16%|โโโโโโโโโโโโโโโโโโโโ | 66/400 [00:04<00:19, 17.26it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 17%|โโโโโโโโโโโโโโโโโโโโโ | 69/400 [00:04<00:19, 16.79it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 18%|โโโโโโโโโโโโโโโโโโโโโ | 71/400 [00:04<00:22, 14.44it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 18%|โโโโโโโโโโโโโโโโโโโโโโ | 73/400 [00:04<00:26, 12.28it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 19%|โโโโโโโโโโโโโโโโโโโโโโโ | 75/400 [00:04<00:27, 11.88it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 19%|โโโโโโโโโโโโโโโโโโโโโโโ | 77/400 [00:05<00:27, 11.64it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 20%|โโโโโโโโโโโโโโโโโโโโโโโโ | 80/400 [00:05<00:26, 12.19it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 20%|โโโโโโโโโโโโโโโโโโโโโโโโโ | 82/400 [00:05<00:26, 12.03it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 21%|โโโโโโโโโโโโโโโโโโโโโโโโโ | 85/400 [00:05<00:21, 14.53it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 22%|โโโโโโโโโโโโโโโโโโโโโโโโโโ | 87/400 [00:05<00:22, 14.15it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 22%|โโโโโโโโโโโโโโโโโโโโโโโโโโโ | 89/400 [00:06<00:25, 12.17it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 23%|โโโโโโโโโโโโโโโโโโโโโโโโโโโ | 91/400 [00:06<00:24, 12.57it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 23%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 93/400 [00:06<00:28, 10.92it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 24%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 95/400 [00:06<00:30, 10.14it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 24%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 97/400 [00:06<00:29, 10.33it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 25%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 99/400 [00:07<00:29, 10.33it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 25%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 101/400 [00:07<00:27, 10.70it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 26%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 103/400 [00:07<00:25, 11.75it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 26%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 105/400 [00:07<00:23, 12.71it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 27%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 108/400 [00:07<00:19, 15.23it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 28%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 111/400 [00:07<00:16, 17.30it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 28%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 113/400 [00:07<00:17, 16.47it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 29%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 115/400 [00:07<00:17, 16.43it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 30%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 118/400 [00:08<00:14, 19.22it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 30%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 121/400 [00:08<00:12, 21.66it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 31%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 124/400 [00:08<00:12, 21.39it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 32%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 127/400 [00:08<00:13, 20.83it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 32%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 130/400 [00:08<00:13, 20.69it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 33%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 133/400 [00:08<00:15, 17.31it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 34%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 135/400 [00:09<00:17, 15.30it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 34%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 137/400 [00:09<00:17, 15.46it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 35%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 141/400 [00:09<00:14, 18.21it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 36%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 143/400 [00:09<00:15, 16.59it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 36%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 145/400 [00:09<00:15, 15.97it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 37%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 147/400 [00:09<00:17, 14.53it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 37%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 149/400 [00:10<00:20, 12.48it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 38%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 152/400 [00:10<00:17, 13.97it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 38%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 154/400 [00:10<00:16, 14.90it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 39%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 156/400 [00:10<00:17, 13.58it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 40%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 158/400 [00:10<00:18, 12.85it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 40%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 160/400 [00:10<00:18, 12.67it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 40%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 162/400 [00:10<00:18, 12.61it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 41%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 164/400 [00:11<00:16, 13.89it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 42%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 167/400 [00:11<00:14, 15.65it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 42%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 169/400 [00:11<00:16, 13.83it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 43%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 172/400 [00:11<00:13, 16.47it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 44%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 174/400 [00:11<00:14, 15.15it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 44%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 177/400 [00:11<00:14, 15.43it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 45%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 180/400 [00:12<00:13, 16.54it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 46%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 182/400 [00:12<00:13, 16.12it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 46%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 184/400 [00:12<00:14, 15.18it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 46%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 186/400 [00:12<00:14, 14.84it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 47%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 188/400 [00:12<00:15, 13.57it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 48%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 190/400 [00:12<00:14, 14.35it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 48%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 192/400 [00:13<00:16, 12.42it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 48%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 194/400 [00:13<00:18, 11.15it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 49%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 196/400 [00:13<00:19, 10.51it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 50%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 198/400 [00:13<00:16, 11.90it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 50%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 201/400 [00:13<00:15, 12.84it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 51%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 203/400 [00:13<00:13, 14.19it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 51%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 205/400 [00:14<00:14, 13.93it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 52%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 207/400 [00:14<00:13, 13.85it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 52%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 210/400 [00:14<00:11, 16.65it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 54%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 214/400 [00:14<00:08, 21.09it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 54%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 217/400 [00:14<00:08, 22.73it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 55%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 220/400 [00:14<00:08, 21.67it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 56%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 223/400 [00:14<00:09, 18.41it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 56%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 225/400 [00:14<00:09, 18.37it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 57%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 227/400 [00:15<00:09, 18.40it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 57%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 229/400 [00:15<00:10, 16.22it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 58%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 231/400 [00:15<00:10, 16.19it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 58%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 234/400 [00:15<00:09, 16.72it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 59%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 236/400 [00:15<00:09, 16.89it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 60%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 239/400 [00:15<00:08, 18.01it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 60%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 241/400 [00:15<00:08, 17.84it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 61%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 243/400 [00:16<00:08, 18.28it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 61%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 245/400 [00:16<00:08, 17.38it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 62%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 247/400 [00:16<00:09, 15.88it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 62%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 250/400 [00:16<00:08, 17.25it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 63%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 253/400 [00:16<00:07, 18.45it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 64%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 255/400 [00:16<00:08, 17.37it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 64%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 257/400 [00:16<00:09, 14.44it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 65%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 259/400 [00:17<00:11, 12.70it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 66%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 262/400 [00:17<00:09, 15.12it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 66%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 265/400 [00:17<00:07, 17.38it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 67%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 269/400 [00:17<00:06, 21.77it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 68%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 272/400 [00:17<00:06, 21.02it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 69%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 275/400 [00:17<00:06, 18.80it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 70%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 278/400 [00:18<00:07, 17.15it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 70%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 281/400 [00:18<00:07, 16.82it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 71%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 283/400 [00:18<00:07, 14.87it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 71%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 285/400 [00:18<00:07, 15.03it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 72%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 287/400 [00:18<00:08, 13.76it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 72%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 289/400 [00:18<00:08, 13.68it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 73%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 291/400 [00:19<00:07, 14.64it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 73%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 293/400 [00:19<00:07, 14.66it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 74%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 295/400 [00:19<00:07, 13.78it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 74%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 297/400 [00:19<00:06, 14.97it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 75%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 299/400 [00:19<00:06, 15.14it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 75%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 301/400 [00:19<00:07, 14.06it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 76%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 303/400 [00:19<00:06, 14.84it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 76%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 305/400 [00:19<00:06, 15.21it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 77%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 307/400 [00:20<00:06, 14.77it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 77%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 309/400 [00:20<00:06, 14.98it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 78%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 311/400 [00:20<00:05, 15.68it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 78%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 313/400 [00:20<00:05, 16.21it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 79%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 315/400 [00:20<00:05, 14.70it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 79%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 317/400 [00:20<00:06, 13.40it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 80%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 319/400 [00:20<00:06, 12.98it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 80%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 322/400 [00:21<00:05, 14.83it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 81%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 324/400 [00:21<00:05, 14.48it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 82%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 326/400 [00:21<00:04, 15.39it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 82%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 329/400 [00:21<00:04, 14.99it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 83%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 331/400 [00:21<00:05, 12.82it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 83%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 333/400 [00:22<00:05, 12.44it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 84%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 335/400 [00:22<00:04, 13.38it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 84%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 337/400 [00:22<00:05, 12.26it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 85%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 339/400 [00:22<00:05, 11.61it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 85%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 341/400 [00:22<00:05, 11.70it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 86%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 343/400 [00:22<00:04, 11.75it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 86%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 345/400 [00:22<00:04, 12.76it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 87%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 347/400 [00:23<00:04, 12.98it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 87%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 349/400 [00:23<00:04, 12.71it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 88%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 352/400 [00:23<00:03, 15.15it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 89%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 355/400 [00:23<00:02, 16.75it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 89%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 357/400 [00:23<00:02, 16.11it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 90%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 359/400 [00:23<00:02, 16.36it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 90%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 361/400 [00:23<00:02, 16.66it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 91%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 363/400 [00:24<00:02, 13.35it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 91%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 365/400 [00:24<00:02, 11.98it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 92%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 367/400 [00:24<00:03, 10.21it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 92%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 369/400 [00:24<00:02, 10.41it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 93%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 371/400 [00:24<00:02, 11.34it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 93%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 373/400 [00:25<00:02, 12.40it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 94%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 375/400 [00:25<00:01, 13.73it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 94%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 377/400 [00:25<00:01, 15.13it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 95%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 380/400 [00:25<00:01, 17.87it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 96%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 382/400 [00:25<00:00, 18.22it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 96%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 385/400 [00:25<00:00, 20.86it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 97%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 388/400 [00:25<00:00, 23.26it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 98%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 391/400 [00:25<00:00, 24.24it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 99%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 396/400 [00:25<00:00, 28.84it/s]\u001b[A\u001b[A\n", "\n", "Loading Healthy: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 400/400 [00:26<00:00, 15.32it/s]\u001b[A\u001b[A\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " โ Healthy: 400 images loaded\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "\n", "\n", "Loading Leafsmut: 0%| | 0/960 [00:00, ?it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 5%|โโโโโโ | 49/960 [00:00<00:01, 487.59it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 12%|โโโโโโโโโโโโโโ | 114/960 [00:00<00:01, 576.42it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 19%|โโโโโโโโโโโโโโโโโโโโโโ | 180/960 [00:00<00:01, 613.57it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 25%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 244/960 [00:00<00:01, 620.90it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 32%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 307/960 [00:00<00:01, 602.49it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 38%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 368/960 [00:00<00:01, 581.38it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 45%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 432/960 [00:00<00:00, 597.10it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 52%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 498/960 [00:00<00:00, 613.56it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 59%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 564/960 [00:00<00:00, 622.84it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 65%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 627/960 [00:01<00:00, 603.65it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 72%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 688/960 [00:01<00:00, 586.56it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 78%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 752/960 [00:01<00:00, 599.94it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 85%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 818/960 [00:01<00:00, 612.75it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 92%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | 883/960 [00:01<00:00, 622.32it/s]\u001b[A\u001b[A\u001b[A\n", "\n", "\n", "Loading Leafsmut: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 960/960 [00:01<00:00, 603.46it/s]\u001b[A\u001b[A\u001b[A\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " โ Leafsmut: 960 images loaded\n", "\n", "--------------------------------------------------\n", "Total images loaded: 3886\n", "\n", "Dataset shape: (3886, 128, 128, 3)\n", "Labels shape: (3886,)\n", "Class distribution: [1326 1200 400 960]\n" ] } ], "source": [ "# --- BAGIAN YANG DITAMBAHKAN: IMPORT LIBRARIES YANG DIBUTUHKAN ---\n", "import cv2\n", "import numpy as np\n", "from pathlib import Path\n", "from tqdm import tqdm # <--- WAJIB DITAMBAHKAN AGAR PROGRESS BAR BISA JALAN\n", "# ----------------------------------------------------------------\n", "\n", "# Set dataset path - handle both relative and absolute paths\n", "notebook_dir = Path('.').absolute()\n", "print(f\"Notebook working directory: {notebook_dir}\\n\")\n", "\n", "classes = ['Bacterialblight', 'Brownspot', 'Healthy', 'Leafsmut']\n", "\n", "# TENTUKAN UKURAN GAMBAR YANG SERAGAM DI SINI (Misal 128x128 atau 224x224)\n", "IMG_SIZE = 128 \n", "\n", "# Try different possible dataset base paths\n", "possible_base_paths = [\n", " Path('.'),\n", " notebook_dir,\n", " notebook_dir / 'rice leaf diseases dataset',\n", " Path('d:/PROJECT TA/rice leaf diseases dataset'),\n", "]\n", "\n", "dataset_base_path = None\n", "for base_path in possible_base_paths:\n", " if all((base_path / class_name).exists() for class_name in classes):\n", " dataset_base_path = base_path\n", " print(f\"โ Dataset found at: {dataset_base_path}\\n\")\n", " break\n", "\n", "if dataset_base_path is None:\n", " for base_path in possible_base_paths:\n", " if any((base_path / class_name).exists() for class_name in classes):\n", " dataset_base_path = base_path\n", " print(f\"โ Partial dataset found at: {dataset_base_path}\\n\")\n", " break\n", "\n", "if dataset_base_path is None:\n", " print(\"โ Warning: Could not find dataset folder. Will use current directory.\")\n", " dataset_base_path = Path('.')\n", "\n", "print(\"Class folder check:\")\n", "for class_name in classes:\n", " folder_exists = (dataset_base_path / class_name).exists()\n", " status = \"found\" if folder_exists else \"missing\"\n", " print(f\"- {class_name}: {status}\")\n", "\n", "# Load images and labels\n", "images = []\n", "labels = []\n", "class_to_idx = {class_name: idx for idx, class_name in enumerate(classes)}\n", "\n", "print(\"\\nLoading dataset...\")\n", "print(\"-\" * 50)\n", "\n", "total_images = 0\n", "for class_name in classes:\n", " class_path = dataset_base_path / class_name\n", " \n", " if class_path.exists():\n", " # Count images first for progress bar\n", " image_files = [f for f in class_path.glob('*') if f.suffix.lower() in ['.jpg', '.jpeg', '.png']]\n", " if not image_files:\n", " print(f\" โ {class_name}: no images found in folder\\n\")\n", " continue\n", " \n", " # Load images with progress bar\n", " image_count = 0\n", " with tqdm(image_files, desc=f\"Loading {class_name}\", position=classes.index(class_name), leave=True) as pbar:\n", " for img_file in pbar:\n", " img = cv2.imread(str(img_file))\n", " if img is not None:\n", " img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)\n", " \n", " # --- BAGIAN YANG DIUBAH: MENYAMAKAN UKURAN GAMBAR ---\n", " img_resized = cv2.resize(img_rgb, (IMG_SIZE, IMG_SIZE))\n", " images.append(img_resized)\n", " # ----------------------------------------------------\n", " \n", " labels.append(class_to_idx[class_name])\n", " image_count += 1\n", " \n", " print(f\" โ {class_name}: {image_count} images loaded\\n\")\n", " total_images += image_count\n", " else:\n", " print(f\" โ {class_name} folder not found!\\n\")\n", "\n", "print(\"-\" * 50)\n", "print(f\"Total images loaded: {total_images}\\n\")\n", "\n", "# Convert to numpy arrays with proper dtype\n", "X = np.array(images)\n", "y = np.array(labels, dtype=np.int32) # Convert to int32 for bincount\n", "\n", "print(f\"Dataset shape: {X.shape}\")\n", "print(f\"Labels shape: {y.shape}\")\n", "if len(y) > 0:\n", " print(f\"Class distribution: {np.bincount(y)}\")\n", "else:\n", " print(\"โ ERROR: No images loaded! Check the dataset path above.\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "5ca735e6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Building MobileNetV2 Transfer Learning model...\n", "--------------------------------------------------\n", "โ MobileNetV2 Model compiled successfully!\n" ] } ], "source": [ "# --- BAGIAN YANG DITAMBAHKAN: DEKLARASI UKURAN GAMBAR & IMPORTS ---\n", "IMG_SIZE = 128 # <--- WAJIB DITAMBAHKAN AGAR MODEL TAHU RESOLUSI INPUTNYA\n", "\n", "from tensorflow.keras.applications import MobileNetV2\n", "from tensorflow.keras import optimizers, models, layers\n", "# ----------------------------------------------------------------\n", "\n", "# MENGGUNAKAN TRANSFER LEARNING (MOBILENETV2)\n", "print(\"Building MobileNetV2 Transfer Learning model...\")\n", "print(\"-\" * 50)\n", "\n", "# 1. Ambil model yang sudah pintar (Pre-trained)\n", "base_model = MobileNetV2(input_shape=(IMG_SIZE, IMG_SIZE, 3), \n", " include_top=False, \n", " weights='imagenet')\n", "\n", "# 2. Bekukan model dasar agar tidak berubah saat training awal\n", "base_model.trainable = False \n", "\n", "# 3. Rakit arsitektur model baru\n", "model = models.Sequential([\n", " base_model,\n", " layers.GlobalAveragePooling2D(),\n", " layers.Dense(128, activation='relu'),\n", " layers.Dropout(0.3), # Mencegah overfitting (penting untuk TA!)\n", " layers.Dense(len(classes), activation='softmax')\n", "])\n", "\n", "# 4. Compile model dengan Learning Rate yang lebih kecil (0.0001) agar stabil\n", "model.compile(\n", " optimizer=optimizers.Adam(learning_rate=0.0001), \n", " loss='categorical_crossentropy',\n", " metrics=['accuracy']\n", ")\n", "\n", "print(\"โ MobileNetV2 Model compiled successfully!\")" ] }, { "cell_type": "markdown", "id": "1664d5d0", "metadata": {}, "source": [ "## 1. Import Required Libraries" ] }, { "cell_type": "markdown", "id": "4c0a9767", "metadata": {}, "source": [ "# CNN Classification for Rice Leaf Diseases\n", "\n", "This notebook implements a Convolutional Neural Network (CNN) to classify rice leaf diseases including Bacterial Blight, Brown Spot, Healthy, and Leaf Smut." ] }, { "cell_type": "code", "execution_count": 10, "id": "a9a6d821", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading dataset...\n", "--------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Loading Bacterialblight: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 1326/1326 [00:01<00:00, 750.26it/s]\n", "Loading Brownspot: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 1200/1200 [00:01<00:00, 949.80it/s]\n", "Loading Healthy: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 400/400 [00:25<00:00, 15.66it/s]\n", "Loading Leafsmut: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 960/960 [00:01<00:00, 627.83it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "--------------------------------------------------\n", "Total images loaded: 3886\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "import os\n", "import cv2\n", "from tqdm import tqdm\n", "import numpy as np\n", "\n", "images = []\n", "labels = []\n", "# TENTUKAN UKURAN SERAGAM DI SINI (Misal 128x128 piksel)\n", "IMG_SIZE = 128 \n", "\n", "print(\"Loading dataset...\")\n", "print(\"-\" * 50)\n", "\n", "for class_idx, class_name in enumerate(classes):\n", " class_path = notebook_dir / class_name\n", " \n", " # Ambil semua file gambar\n", " file_list = [f for f in os.listdir(class_path) if f.lower().endswith(('.png', '.jpg', '.jpeg'))]\n", " \n", " for file_name in tqdm(file_list, desc=f\"Loading {class_name}\"):\n", " img_path = str(class_path / file_name)\n", " \n", " # 1. Baca gambar\n", " img = cv2.imread(img_path)\n", " \n", " if img is not None:\n", " # 2. Convert dari BGR ke RGB\n", " img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)\n", " \n", " # 3. RESIZE WAJIB: Menyamakan ukuran seluruh gambar\n", " img = cv2.resize(img, (IMG_SIZE, IMG_SIZE))\n", " \n", " images.append(img)\n", " labels.append(class_idx)\n", "\n", "total_images = len(images)\n", "print(\"-\" * 50)\n", "print(f\"Total images loaded: {total_images}\\n\")" ] }, { "cell_type": "markdown", "id": "d027f07a", "metadata": {}, "source": [ "## 3. Preprocess Images" ] }, { "cell_type": "code", "execution_count": 12, "id": "f8de0b07", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Preprocessing images...\n", "--------------------------------------------------\n", "Resizing images to 224x224...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Resizing: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 3886/3886 [00:00<00:00, 6217.42it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Normalizing pixel values...\n", "\n", "Preprocessed image shape: (3886, 224, 224, 3)\n", "Pixel value range: [0.0, 1.0]\n", "\n", "Splitting dataset...\n", "--------------------------------------------------\n", "Training set: 2720 images\n", "Validation set: 583 images\n", "Test set: 583 images\n", "--------------------------------------------------\n" ] } ], "source": [ "# --- BAGIAN YANG DITAMBAHKAN: IMPORT TRAIN_TEST_SPLIT ---\n", "from sklearn.model_selection import train_test_split # <--- WAJIB ADA UNTUK SPLIT DATASET\n", "# --------------------------------------------------------\n", "\n", "# Resize images to a standard size\n", "IMG_SIZE = 224 # MobileNetV2 input size\n", "\n", "print(\"Preprocessing images...\")\n", "print(\"-\" * 50)\n", "\n", "X_resized = []\n", "print(\"Resizing images to 224x224...\")\n", "with tqdm(X, desc=\"Resizing\", total=len(X)) as pbar:\n", " for img in pbar:\n", " resized_img = cv2.resize(img, (IMG_SIZE, IMG_SIZE))\n", " X_resized.append(resized_img)\n", "\n", "X_resized = np.array(X_resized)\n", "\n", "# Normalize pixel values to [0, 1]\n", "print(\"Normalizing pixel values...\")\n", "X_normalized = X_resized.astype('float32') / 255.0\n", "\n", "print(f\"\\nPreprocessed image shape: {X_normalized.shape}\")\n", "print(f\"Pixel value range: [{X_normalized.min()}, {X_normalized.max()}]\")\n", "\n", "# Split dataset into train, validation, and test sets\n", "print(\"\\nSplitting dataset...\")\n", "X_train, X_temp, y_train, y_temp = train_test_split(\n", " X_normalized, y, test_size=0.3, random_state=42, stratify=y\n", ")\n", "\n", "X_val, X_test, y_val, y_test = train_test_split(\n", " X_temp, y_temp, test_size=0.5, random_state=42, stratify=y_temp\n", ")\n", "\n", "print(\"-\" * 50)\n", "print(f\"Training set: {X_train.shape[0]} images\")\n", "print(f\"Validation set: {X_val.shape[0]} images\")\n", "print(f\"Test set: {X_test.shape[0]} images\")\n", "print(\"-\" * 50)" ] }, { "cell_type": "code", "execution_count": null, "id": "eef67333-43df-44eb-a7e2-9d6bc9e74eeb", "metadata": {}, "outputs": [ifnZI7Vsa1YDAOmoFc0sG4, { "cell_type": "code", "execution_count": 13, "id": "eba217e2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Configuring data augmentation...\n", "--------------------------------------------------\n", "Converting labels to one-hot encoding...\n", " Training labels shape: (2720, 4)\n", " Validation labels shape: (583, 4)\n", " Test labels shape: (583, 4)\n", "--------------------------------------------------\n", "โ Data augmentation configured!\n", "\n" ] } ], "source": [ "# Data augmentation\n", "print(\"Configuring data augmentation...\")\n", "print(\"-\" * 50)\n", "\n", "# --- BAGIAN YANG DITAMBAHKAN: IMPORT IMAGEDATAGENERATOR ---\n", "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", "from tensorflow.keras.utils import to_categorical\n", "# ----------------------------------------------------------\n", "\n", "train_datagen = ImageDataGenerator(\n", " rotation_range=20,\n", " width_shift_range=0.2,\n", " height_shift_range=0.2,\n", " horizontal_flip=True,\n", " vertical_flip=True,\n", " zoom_range=0.2,\n", " shear_range=0.2,\n", " fill_mode='nearest'\n", ")\n", "\n", "val_datagen = ImageDataGenerator() # No augmentation for validation\n", "\n", "# Convert to one-hot encoding\n", "print(\"Converting labels to one-hot encoding...\")\n", "\n", "# Pastikan variabel y_train, y_val, dan y_test sudah didefinisikan di cell sebelumnya (proses train_test_split)\n", "y_train_cat = to_categorical(y_train, num_classes=len(classes))\n", "y_val_cat = to_categorical(y_val, num_classes=len(classes))\n", "y_test_cat = to_categorical(y_test, num_classes=len(classes))\n", "\n", "print(f\" Training labels shape: {y_train_cat.shape}\")\n", "print(f\" Validation labels shape: {y_val_cat.shape}\")\n", "print(f\" Test labels shape: {y_test_cat.shape}\")\n", "print(\"-\" * 50)\n", "print(\"โ Data augmentation configured!\\n\")" ] }, { "cell_type": "code", "execution_count": 2, "id": "0940e186-9b40-4ad3-b578-9b7012f50b99", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'train_generator' is not defined", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# Pastikan 'train_generator' adalah objek yang Anda buat dengan .flow_from_directory()\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m# Ambil satu batch gambar\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m images, labels = \u001b[38;5;28mnext\u001b[39m(\u001b[43mtrain_generator\u001b[49m)\n\u001b[32m 5\u001b[39m \u001b[38;5;66;03m# Tampilkan 5 gambar pertama dari batch tersebut\u001b[39;00m\n\u001b[32m 6\u001b[39m plt.figure(figsize=(\u001b[32m15\u001b[39m, \u001b[32m5\u001b[39m))\n", "\u001b[31mNameError\u001b[39m: name 'train_generator' is not defined" ] } ], "source": [ "# Pastikan 'train_generator' adalah objek yang Anda buat dengan .flow_from_directory()\n", "# Ambil satu batch gambar\n", "images, labels = next(train_generator)\n", "\n", "# Tampilkan 5 gambar pertama dari batch tersebut\n", "plt.figure(figsize=(15, 5))\n", "for i in range(5):\n", " plt.subplot(1, 5, i+1)\n", " # ImageDataGenerator biasanya menghasilkan data dalam rentang [0, 255] atau [0, 1]\n", " # Jika data sudah dinormalisasi (rescale 1./255), Anda mungkin perlu mengalikannya kembali agar terlihat normal\n", " plt.imshow(images[i]) \n", " plt.axis('off')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "99a5ed48", "metadata": {}, "source": [ "## 4. Build CNN Model" ] }, { "cell_type": "code", "execution_count": 14, "id": "146d5d58", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Building custom CNN model...\n", "--------------------------------------------------\n", "Architecture:\n", " - 4 Convolutional Blocks (32โ64โ128โ256 filters)\n", " - Batch Normalization & Dropout for regularization\n", " - Global Average Pooling + Dense layers\n", "\n", "Creating model...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "D:\\PROJECT TA\\.venv\\Lib\\site-packages\\keras\\src\\layers\\convolutional\\base_conv.py:113: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n", " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "โ Model created!\n", "\n", "Model Summary:\n", "--------------------------------------------------\n" ] }, { "data": { "text/html": [ "
Model: \"sequential_2\"\n",
"\n"
],
"text/plain": [
"\u001b[1mModel: \"sequential_2\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโ\n",
"โ Layer (type) โ Output Shape โ Param # โ\n",
"โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ\n",
"โ conv2d (Conv2D) โ (None, 224, 224, 32) โ 896 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization โ (None, 224, 224, 32) โ 128 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_1 (Conv2D) โ (None, 224, 224, 32) โ 9,248 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_1 โ (None, 224, 224, 32) โ 128 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d (MaxPooling2D) โ (None, 112, 112, 32) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_3 (Dropout) โ (None, 112, 112, 32) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_2 (Conv2D) โ (None, 112, 112, 64) โ 18,496 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_2 โ (None, 112, 112, 64) โ 256 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_3 (Conv2D) โ (None, 112, 112, 64) โ 36,928 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_3 โ (None, 112, 112, 64) โ 256 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d_1 (MaxPooling2D) โ (None, 56, 56, 64) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_4 (Dropout) โ (None, 56, 56, 64) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_4 (Conv2D) โ (None, 56, 56, 128) โ 73,856 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_4 โ (None, 56, 56, 128) โ 512 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_5 (Conv2D) โ (None, 56, 56, 128) โ 147,584 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_5 โ (None, 56, 56, 128) โ 512 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d_2 (MaxPooling2D) โ (None, 28, 28, 128) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_5 (Dropout) โ (None, 28, 28, 128) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_6 (Conv2D) โ (None, 28, 28, 256) โ 295,168 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_6 โ (None, 28, 28, 256) โ 1,024 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_7 (Conv2D) โ (None, 28, 28, 256) โ 590,080 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_7 โ (None, 28, 28, 256) โ 1,024 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d_3 (MaxPooling2D) โ (None, 14, 14, 256) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_6 (Dropout) โ (None, 14, 14, 256) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ global_average_pooling2d_3 โ (None, 256) โ 0 โ\n",
"โ (GlobalAveragePooling2D) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dense_5 (Dense) โ (None, 512) โ 131,584 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_8 โ (None, 512) โ 2,048 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_7 (Dropout) โ (None, 512) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dense_6 (Dense) โ (None, 256) โ 131,328 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_9 โ (None, 256) โ 1,024 โ\n",
"โ (BatchNormalization) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_8 (Dropout) โ (None, 256) โ 0 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dense_7 (Dense) โ (None, 4) โ 1,028 โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโ\n",
"\n"
],
"text/plain": [
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโ\n",
"โ\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0mโ\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0mโ\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0mโ\n",
"โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ\n",
"โ conv2d (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m32\u001b[0m) โ \u001b[38;5;34m896\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m32\u001b[0m) โ \u001b[38;5;34m128\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_1 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m32\u001b[0m) โ \u001b[38;5;34m9,248\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_1 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m32\u001b[0m) โ \u001b[38;5;34m128\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d (\u001b[38;5;33mMaxPooling2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m32\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_3 (\u001b[38;5;33mDropout\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m32\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_2 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m64\u001b[0m) โ \u001b[38;5;34m18,496\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_2 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m64\u001b[0m) โ \u001b[38;5;34m256\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_3 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m64\u001b[0m) โ \u001b[38;5;34m36,928\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_3 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m64\u001b[0m) โ \u001b[38;5;34m256\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d_1 (\u001b[38;5;33mMaxPooling2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m64\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_4 (\u001b[38;5;33mDropout\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m64\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_4 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m128\u001b[0m) โ \u001b[38;5;34m73,856\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_4 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m128\u001b[0m) โ \u001b[38;5;34m512\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_5 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m128\u001b[0m) โ \u001b[38;5;34m147,584\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_5 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m128\u001b[0m) โ \u001b[38;5;34m512\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d_2 (\u001b[38;5;33mMaxPooling2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m128\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_5 (\u001b[38;5;33mDropout\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m128\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_6 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m295,168\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_6 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m1,024\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ conv2d_7 (\u001b[38;5;33mConv2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m590,080\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_7 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m1,024\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ max_pooling2d_3 (\u001b[38;5;33mMaxPooling2D\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_6 (\u001b[38;5;33mDropout\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ global_average_pooling2d_3 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โ (\u001b[38;5;33mGlobalAveragePooling2D\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dense_5 (\u001b[38;5;33mDense\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m512\u001b[0m) โ \u001b[38;5;34m131,584\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_8 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m512\u001b[0m) โ \u001b[38;5;34m2,048\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_7 (\u001b[38;5;33mDropout\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m512\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dense_6 (\u001b[38;5;33mDense\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m131,328\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ batch_normalization_9 โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m1,024\u001b[0m โ\n",
"โ (\u001b[38;5;33mBatchNormalization\u001b[0m) โ โ โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dropout_8 (\u001b[38;5;33mDropout\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) โ \u001b[38;5;34m0\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค\n",
"โ dense_7 (\u001b[38;5;33mDense\u001b[0m) โ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m) โ \u001b[38;5;34m1,028\u001b[0m โ\n",
"โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโ\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"Total params: 1,443,108 (5.51 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m1,443,108\u001b[0m (5.51 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Trainable params: 1,439,652 (5.49 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m1,439,652\u001b[0m (5.49 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Non-trainable params: 3,456 (13.50 KB)\n", "\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m3,456\u001b[0m (13.50 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "--------------------------------------------------\n" ] } ], "source": [ "# --- BAGIAN YANG DITAMBAHKAN: IMPORT MODELS & LAYERS ---\n", "from tensorflow.keras import models, layers\n", "# --------------------------------------------------------\n", "\n", "# Option 1: Build custom CNN model from scratch\n", "print(\"Building custom CNN model...\")\n", "print(\"-\" * 50)\n", "print(\"Architecture:\")\n", "print(\" - 4 Convolutional Blocks (32โ64โ128โ256 filters)\")\n", "print(\" - Batch Normalization & Dropout for regularization\")\n", "print(\" - Global Average Pooling + Dense layers\")\n", "print()\n", "\n", "def build_custom_cnn():\n", " model = models.Sequential([\n", " # Block 1\n", " layers.Conv2D(32, (3, 3), activation='relu', padding='same', input_shape=(IMG_SIZE, IMG_SIZE, 3)),\n", " layers.BatchNormalization(),\n", " layers.Conv2D(32, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.MaxPooling2D((2, 2)),\n", " layers.Dropout(0.25),\n", " \n", " # Block 2\n", " layers.Conv2D(64, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.Conv2D(64, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.MaxPooling2D((2, 2)),\n", " layers.Dropout(0.25),\n", " \n", " # Block 3\n", " layers.Conv2D(128, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.Conv2D(128, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.MaxPooling2D((2, 2)),\n", " layers.Dropout(0.25),\n", " \n", " # Block 4\n", " layers.Conv2D(256, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.Conv2D(256, (3, 3), activation='relu', padding='same'),\n", " layers.BatchNormalization(),\n", " layers.MaxPooling2D((2, 2)),\n", " layers.Dropout(0.25),\n", " \n", " # Global Average Pooling\n", " layers.GlobalAveragePooling2D(),\n", " \n", " # Dense layers\n", " layers.Dense(512, activation='relu'),\n", " layers.BatchNormalization(),\n", " layers.Dropout(0.5),\n", " \n", " layers.Dense(256, activation='relu'),\n", " layers.BatchNormalization(),\n", " layers.Dropout(0.5),\n", " \n", " # Output layer\n", " layers.Dense(len(classes), activation='softmax')\n", " ])\n", " \n", " return model\n", "\n", "print(\"Creating model...\")\n", "model = build_custom_cnn()\n", "print(\"โ Model created!\\n\")\n", "print(\"Model Summary:\")\n", "print(\"-\" * 50)\n", "model.summary()\n", "print(\"-\" * 50)" ] }, { "cell_type": "code", "execution_count": 15, "id": "240316b9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Building MobileNetV2 Transfer Learning model...\n", "--------------------------------------------------\n", "โ MobileNetV2 Model compiled successfully!\n" ] } ], "source": [ "# MENGGUNAKAN TRANSFER LEARNING (MOBILENETV2)\n", "print(\"Building MobileNetV2 Transfer Learning model...\")\n", "print(\"-\" * 50)\n", "\n", "# 1. Ambil model yang sudah pintar (Pre-trained)\n", "base_model = MobileNetV2(input_shape=(IMG_SIZE, IMG_SIZE, 3), \n", " include_top=False, \n", " weights='imagenet')\n", "\n", "# 2. Bekukan model dasar agar tidak berubah saat training awal\n", "base_model.trainable = False \n", "\n", "# 3. Rakit arsitektur model baru\n", "model = models.Sequential([\n", " base_model,\n", " layers.GlobalAveragePooling2D(),\n", " layers.Dense(128, activation='relu'),\n", " layers.Dropout(0.3), # Mencegah overfitting (penting untuk TA!)\n", " layers.Dense(len(classes), activation='softmax')\n", "])\n", "\n", "# 4. Compile model dengan Learning Rate yang lebih kecil (0.0001) agar stabil\n", "model.compile(\n", " optimizer=optimizers.Adam(learning_rate=0.0001),\n", " loss='categorical_crossentropy',\n", " metrics=['accuracy']\n", ")\n", "\n", "print(\"โ MobileNetV2 Model compiled successfully!\")" ] }, { "cell_type": "markdown", "id": "674bf204", "metadata": {}, "source": [ "## 5. Train the Model" ] }, { "cell_type": "code", "execution_count": 16, "id": "26699eff", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "================================================================================\n", "๐ STARTING MODEL TRAINING\n", "================================================================================\n", "Epochs: 50 | Batch Size: 32\n", "Training samples: 2720 | Validation samples: 583\n", "Optimizer: Adam (lr=0.001)\n", "Loss Function: Categorical Crossentropy\n", "================================================================================\n", "\n", "๐ Training Progress:\n", "--------------------------------------------------------------------------------\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 1/50 | Loss: 0.9082 | Val Loss: 0.4927 | Acc: 0.6187 | Val Acc: 0.8370 | ETA: 2470s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 2/50 | Loss: 0.5531 | Val Loss: 0.3570 | Acc: 0.7904 | Val Acc: 0.8799 | ETA: 2253s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 3/50 | Loss: 0.4285 | Val Loss: 0.2865 | Acc: 0.8419 | Val Acc: 0.8988 | ETA: 2147s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 4/50 | Loss: 0.3833 | Val Loss: 0.2450 | Acc: 0.8577 | Val Acc: 0.9177 | ETA: 2068s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 5/50 | Loss: 0.3174 | Val Loss: 0.2081 | Acc: 0.8754 | Val Acc: 0.9348 | ETA: 1998s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 6/50 | Loss: 0.3024 | Val Loss: 0.1928 | Acc: 0.8838 | Val Acc: 0.9451 | ETA: 1936s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 7/50 | Loss: 0.2764 | Val Loss: 0.1748 | Acc: 0.8923 | Val Acc: 0.9468 | ETA: 1885s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 8/50 | Loss: 0.2413 | Val Loss: 0.1512 | Acc: 0.9099 | Val Acc: 0.9537 | ETA: 1838s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 9/50 | Loss: 0.2327 | Val Loss: 0.1423 | Acc: 0.9180 | Val Acc: 0.9571 | ETA: 1795s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 10/50 | Loss: 0.2195 | Val Loss: 0.1411 | Acc: 0.9199 | Val Acc: 0.9520 | ETA: 1755s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 11/50 | Loss: 0.2021 | Val Loss: 0.1280 | Acc: 0.9265 | Val Acc: 0.9640 | ETA: 1708s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 12/50 | Loss: 0.1901 | Val Loss: 0.1193 | Acc: 0.9346 | Val Acc: 0.9605 | ETA: 1664s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 13/50 | Loss: 0.1886 | Val Loss: 0.1129 | Acc: 0.9316 | Val Acc: 0.9657 | ETA: 1617s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 14/50 | Loss: 0.1796 | Val Loss: 0.1088 | Acc: 0.9393 | Val Acc: 0.9657 | ETA: 1571s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 15/50 | Loss: 0.1626 | Val Loss: 0.1007 | Acc: 0.9482 | Val Acc: 0.9674 | ETA: 1523s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 16/50 | Loss: 0.1575 | Val Loss: 0.0911 | Acc: 0.9511 | Val Acc: 0.9691 | ETA: 1477s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 17/50 | Loss: 0.1587 | Val Loss: 0.0844 | Acc: 0.9412 | Val Acc: 0.9726 | ETA: 1434s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 18/50 | Loss: 0.1478 | Val Loss: 0.0854 | Acc: 0.9518 | Val Acc: 0.9743 | ETA: 1388s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 19/50 | Loss: 0.1403 | Val Loss: 0.0816 | Acc: 0.9544 | Val Acc: 0.9708 | ETA: 1344s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 20/50 | Loss: 0.1280 | Val Loss: 0.0808 | Acc: 0.9570 | Val Acc: 0.9760 | ETA: 1298s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 21/50 | Loss: 0.1288 | Val Loss: 0.0746 | Acc: 0.9544 | Val Acc: 0.9760 | ETA: 1252s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 22/50 | Loss: 0.1275 | Val Loss: 0.0757 | Acc: 0.9529 | Val Acc: 0.9777 | ETA: 1207s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 23/50 | Loss: 0.1139 | Val Loss: 0.0651 | Acc: 0.9585 | Val Acc: 0.9777 | ETA: 1164s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 24/50 | Loss: 0.1205 | Val Loss: 0.0633 | Acc: 0.9563 | Val Acc: 0.9846 | ETA: 1120s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 25/50 | Loss: 0.1130 | Val Loss: 0.0610 | Acc: 0.9599 | Val Acc: 0.9811 | ETA: 1076s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 26/50 | Loss: 0.1201 | Val Loss: 0.0536 | Acc: 0.9610 | Val Acc: 0.9880 | ETA: 1033s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 27/50 | Loss: 0.1022 | Val Loss: 0.0514 | Acc: 0.9676 | Val Acc: 0.9880 | ETA: 989s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 28/50 | Loss: 0.1048 | Val Loss: 0.0480 | Acc: 0.9658 | Val Acc: 0.9863 | ETA: 946s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 29/50 | Loss: 0.0943 | Val Loss: 0.0455 | Acc: 0.9710 | Val Acc: 0.9914 | ETA: 902s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 30/50 | Loss: 0.0927 | Val Loss: 0.0450 | Acc: 0.9680 | Val Acc: 0.9931 | ETA: 859s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 31/50 | Loss: 0.0866 | Val Loss: 0.0450 | Acc: 0.9717 | Val Acc: 0.9880 | ETA: 816s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 32/50 | Loss: 0.0805 | Val Loss: 0.0426 | Acc: 0.9765 | Val Acc: 0.9880 | ETA: 775s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 33/50 | Loss: 0.0956 | Val Loss: 0.0399 | Acc: 0.9684 | Val Acc: 0.9931 | ETA: 731s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 34/50 | Loss: 0.0811 | Val Loss: 0.0388 | Acc: 0.9732 | Val Acc: 0.9966 | ETA: 688s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 35/50 | Loss: 0.0851 | Val Loss: 0.0411 | Acc: 0.9768 | Val Acc: 0.9897 | ETA: 644s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 36/50 | Loss: 0.0768 | Val Loss: 0.0379 | Acc: 0.9761 | Val Acc: 0.9966 | ETA: 601s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 37/50 | Loss: 0.0802 | Val Loss: 0.0356 | Acc: 0.9743 | Val Acc: 0.9966 | ETA: 558s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 38/50 | Loss: 0.0859 | Val Loss: 0.0369 | Acc: 0.9713 | Val Acc: 0.9931 | ETA: 515s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 39/50 | Loss: 0.0777 | Val Loss: 0.0354 | Acc: 0.9776 | Val Acc: 0.9931 | ETA: 472s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 40/50 | Loss: 0.0671 | Val Loss: 0.0313 | Acc: 0.9809 | Val Acc: 0.9966 | ETA: 429s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 41/50 | Loss: 0.0790 | Val Loss: 0.0305 | Acc: 0.9724 | Val Acc: 0.9983 | ETA: 386s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 42/50 | Loss: 0.0737 | Val Loss: 0.0294 | Acc: 0.9743 | Val Acc: 0.9949 | ETA: 343s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 43/50 | Loss: 0.0645 | Val Loss: 0.0293 | Acc: 0.9801 | Val Acc: 0.9949 | ETA: 300s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 44/50 | Loss: 0.0645 | Val Loss: 0.0284 | Acc: 0.9776 | Val Acc: 0.9966 | ETA: 257s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 45/50 | Loss: 0.0664 | Val Loss: 0.0266 | Acc: 0.9790 | Val Acc: 0.9983 | ETA: 214s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 46/50 | Loss: 0.0628 | Val Loss: 0.0251 | Acc: 0.9809 | Val Acc: 0.9966 | ETA: 171s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 47/50 | Loss: 0.0537 | Val Loss: 0.0232 | Acc: 0.9849 | Val Acc: 0.9966 | ETA: 128s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 48/50 | Loss: 0.0639 | Val Loss: 0.0269 | Acc: 0.9794 | Val Acc: 0.9966 | ETA: 85s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 49/50 | Loss: 0.0618 | Val Loss: 0.0246 | Acc: 0.9787 | Val Acc: 0.9966 | ETA: 42s\n", "[โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ] Epoch 50/50 | Loss: 0.0654 | Val Loss: 0.0237 | Acc: 0.9816 | Val Acc: 0.9966 | ETA: 0s\n", "--------------------------------------------------------------------------------\n", "โ Training completed in 2148s\n", "\n", "โ Model training and validation completed!\n" ] } ], "source": [ "# --- BAGIAN YANG DITAMBAHKAN: IMPORT TIME & KERAS CALLBACKS ---\n", "import time\n", "from tensorflow import keras\n", "# --------------------------------------------------------------\n", "\n", "# Define callbacks with custom callback for progress display\n", "class ProgressCallback(keras.callbacks.Callback):\n", " def __init__(self):\n", " self.start_time = None\n", " self.epoch_times = []\n", " \n", " def on_train_begin(self, logs=None):\n", " self.start_time = time.time()\n", " self.epoch_times = []\n", " print(\"\\n๐ Training Progress:\")\n", " print(\"-\" * 80)\n", " \n", " def on_epoch_end(self, epoch, logs=None):\n", " epoch_time = time.time() - self.start_time\n", " self.epoch_times.append(epoch_time)\n", " avg_epoch_time = epoch_time / (epoch + 1)\n", " remaining_epochs = EPOCHS - (epoch + 1)\n", " eta_seconds = avg_epoch_time * remaining_epochs\n", " \n", " if logs:\n", " loss = logs.get('loss', 0)\n", " val_loss = logs.get('val_loss', 0)\n", " acc = logs.get('accuracy', 0)\n", " val_acc = logs.get('val_accuracy', 0)\n", " \n", " progress = \"โ\" * (epoch + 1) + \"โ\" * (EPOCHS - epoch - 1)\n", " print(f\"[{progress}] Epoch {epoch + 1}/{EPOCHS} | \"\n", " f\"Loss: {loss:.4f} | Val Loss: {val_loss:.4f} | \"\n", " f\"Acc: {acc:.4f} | Val Acc: {val_acc:.4f} | \"\n", " f\"ETA: {int(eta_seconds)}s\")\n", " \n", " def on_train_end(self, logs=None):\n", " total_time = time.time() - self.start_time\n", " print(\"-\" * 80)\n", " print(f\"โ Training completed in {int(total_time)}s\\n\")\n", "\n", "\n", "early_stop = keras.callbacks.EarlyStopping(\n", " monitor='val_loss',\n", " patience=10,\n", " restore_best_weights=True\n", ")\n", "\n", "reduce_lr = keras.callbacks.ReduceLROnPlateau(\n", " monitor='val_loss',\n", " factor=0.5,\n", " patience=5,\n", " min_lr=1e-7\n", ")\n", "\n", "# Train the model\n", "EPOCHS = 50\n", "BATCH_SIZE = 32\n", "\n", "print(\"=\" * 80)\n", "print(\"๐ STARTING MODEL TRAINING\")\n", "print(\"=\" * 80)\n", "print(f\"Epochs: {EPOCHS} | Batch Size: {BATCH_SIZE}\")\n", "print(f\"Training samples: {len(X_train)} | Validation samples: {len(X_val)}\")\n", "print(f\"Optimizer: Adam (lr=0.001)\")\n", "print(f\"Loss Function: Categorical Crossentropy\")\n", "print(\"=\" * 80)\n", "\n", "history = model.fit(\n", " train_datagen.flow(X_train, y_train_cat, batch_size=BATCH_SIZE),\n", " epochs=EPOCHS,\n", " batch_size=BATCH_SIZE,\n", " validation_data=(X_val, y_val_cat),\n", " callbacks=[early_stop, reduce_lr, ProgressCallback()],\n", " verbose=0 # Suppress default verbose output\n", ")\n", "\n", "print(\"โ Model training and validation completed!\")" ] }, { "cell_type": "markdown", "id": "3c42180a", "metadata": {}, "source": [ "## 6. Evaluate Model Performance" ] }, { "cell_type": "code", "execution_count": 17, "id": "0c34bf89", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "๐ EVALUATING MODEL ON TEST SET\n", "================================================================================\n", "\n", "๐ Computing predictions...\n", "โ Predictions computed\n", "\n", "โฑ๏ธ Computing metrics...\n", "================================================================================\n", "Test Loss: 0.0221\n", "Test Accuracy: 0.9983 (99.83%)\n", "================================================================================\n", "\n", "๐ Generating detailed classification report...\n", "--------------------------------------------------------------------------------\n", " precision recall f1-score support\n", "\n", "Bacterialblight 0.99 1.00 1.00 199\n", " Brownspot 1.00 1.00 1.00 180\n", " Healthy 1.00 1.00 1.00 60\n", " Leafsmut 1.00 0.99 1.00 144\n", "\n", " accuracy 1.00 583\n", " macro avg 1.00 1.00 1.00 583\n", " weighted avg 1.00 1.00 1.00 583\n", "\n", "--------------------------------------------------------------------------------\n", "\n", "โ Overall Accuracy: 0.9983\n", "================================================================================\n", "\n" ] } ], "source": [ "# Evaluate on test set\n", "print(\"\\n\" + \"=\" * 80)\n", "print(\"๐ EVALUATING MODEL ON TEST SET\")\n", "print(\"=\" * 80)\n", "\n", "print(\"\\n๐ Computing predictions...\")\n", "from tqdm import tqdm\n", "\n", "# Create progress bar for test set evaluation\n", "test_batches = int(np.ceil(len(X_test) / 32))\n", "y_pred_probs = model.predict(X_test, batch_size=32, verbose=0)\n", "\n", "print(\"โ Predictions computed\")\n", "print(\"\\nโฑ๏ธ Computing metrics...\")\n", "\n", "y_pred = np.argmax(y_pred_probs, axis=1)\n", "y_test_actual = np.argmax(y_test_cat, axis=1)\n", "\n", "# Evaluate loss and accuracy\n", "test_loss, test_accuracy = model.evaluate(X_test, y_test_cat, verbose=0)\n", "\n", "print(\"=\" * 80)\n", "print(f\"Test Loss: {test_loss:.4f}\")\n", "print(f\"Test Accuracy: {test_accuracy:.4f} ({test_accuracy * 100:.2f}%)\")\n", "print(\"=\" * 80)\n", "\n", "# Classification metrics with progress\n", "print(\"\\n๐ Generating detailed classification report...\")\n", "print(\"-\" * 80)\n", "from sklearn.metrics import classification_report, accuracy_score\n", "\n", "class_report = classification_report(y_test_actual, y_pred, target_names=classes, output_dict=True)\n", "print(classification_report(y_test_actual, y_pred, target_names=classes))\n", "print(\"-\" * 80)\n", "\n", "overall_accuracy = accuracy_score(y_test_actual, y_pred)\n", "print(f\"\\nโ Overall Accuracy: {overall_accuracy:.4f}\")\n", "print(\"=\" * 80 + \"\\n\")" ] }, { "cell_type": "code", "execution_count": 19, "id": "586213e5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "๐ฎ Predicting test set...\n", "\u001b[1m19/19\u001b[0m \u001b[32mโโโโโโโโโโโโโโโโโโโโ\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 232ms/step\n", "\n", "๐ข Generating confusion matrix...\n", "--------------------------------------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Processing: 0%| | 0/2 [00:00, ?it/s]" ] }, { "data": { "image/png": "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3nTwDsTM365hdzNav62CucgODg4WAAAAAE6cjiCh2S6Y69SpkwQHB5v7OtJLjx49PJOG37x50+LWAQAAAIA92CqY69ixo8/jyDoIPvPMM4nYIgAAAADeqLKMm6VLl5rR+ffs2WMely5dWl588UVp0KBB0gjmZsyYYXUTAAAAACBeffzxx9K3b1959NFHza1at26dmTBcA7yePXs6P5gDAAAAgKTm7bffNkFbr169POv69OkjDzzwgNkW12Du3zH/AQAAAMCfACIgwBaLk1y4cEGaNGkSYX2jRo3k4sWLcX5dgjkAAAAASEA6j9y8efMirF+wYIG0aNEizq9LmSUAAAAAvzkrJ2YPZcqUkbfeektWrFghNWrU8PSZW716tbz00ksybtw4n/JLfwW4XC6XJHE37ljdAiBmWVp9yMcE2zv//b+dtgEAdye1g1MqT366VexgTsfK4hSFCxf2az+dY/vgwYN+v25Kf394bCfv1v0PHDgQq+cAAAAAQFJz6NChBHldv4K5OnXqxDqYAwAAAJD0EBfYh1/B3MyZMxO+JQAAAACQBLlcLvn2229l+fLlcvr0aQkLC/PZPnfu3Di9roOrdQEAAADA/l588UX55JNPpF69epIrV654y27GOZi7dOmSmcncHV1q4+6//345d+6cyeTp8JvFihWLl0YCAAAAsIdAel/F2qxZs0z2rVmzZhKf4hTMHTt2zPSjO3r0qBQvXlz27t0rV65cMduyZs1qArvDhw/Lhx8yOh8AAACA5C1TpkxSpEiReH/dOE0a/sorr8jly5clJCREVq5caWpAvbVu3VqWLFkSX20EAAAAYBNaImiHxUmGDRsmw4cPl+vXr1ufmVu0aJH069fPTH539uzZCNs16tSsHQAAAAAkd48//rh8+eWXkjNnTilUqJCkSpXKZ/uWLVsSL5jTiDJHjhxRbtesHQAAAABApGPHjrJ582Zp37699QOgaEZu1apV0r1790i3z58/XypXds6M7AAAAAD847AKR1v46aef5Ndff5VatWpZ32dOh9acM2eOvPvuu3Lx4kWzTudK2L9/v3To0EHWrl1ryjABAAAAILnLnz+/ZMyYMd5fN06ZOU0P6miVgwcPltdee82sa9KkiRkIJTAwUN5++20zCAoAAAAAJHejR4+WAQMGyKRJk0yfufgS53nmNIjTLNx3331nMnKa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", "text/plain": [ "