Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

ANALISIS DAN PERANCANGAN ALGORITMA Sarifuddin Madenda Universitas Gunadarma November 2013.

Presentasi serupa


Presentasi berjudul: "ANALISIS DAN PERANCANGAN ALGORITMA Sarifuddin Madenda Universitas Gunadarma November 2013."— Transcript presentasi:

1 ANALISIS DAN PERANCANGAN ALGORITMA Sarifuddin Madenda Universitas Gunadarma November 2013

2 Analisis : prosedur yang dilakukan untuk mengidentifikasi, merumuskan masalah dan menyusun metode serta langkah- langkah pemecahan masalah secara tepat   Identifikasi dan fahami masalah secara tepat   Definisikan masalah utama dan turunkan secara rinci,   Batasi masalah (bila dibutuhkan).

3 Contoh: Analisis Masalah Citra Medis

4 Analisis kebutuhan meliputi :   Siapa pemakai program   Pesan-pesan apa saja yang ingin ditampilkan   Apakah dibutuhkan password guna menjaga keamanan program   Bagaimana format menu, input, proses atau output yang diinginkan   Data apa saja yang akan diinputkan   Seberapa tinggi tigkat presisi => Berapa digit angka yang akan diproses

5   Rumus apa yang akan digunakan atau bagaimana proses pengolahan data harus dilakukan   Siapa saja yang membutuhkan informasi yang akan dihasilkan nanti   Informasi apa yang dibutuhkan oleh masing-masing pemakai   Apakah manfaat dari informasi yang dihasilkan tersebut   Kapan informasi tersebut dibutuhkan   Apa bentuk help yang diinginkan oleh para pemakai

6 Masalah Pendefinisian Masalah Deskripsi Masalah Perancangan Aloritma Pengkodean Algoritma Implementasi dan uji coba dengan komputer Program Siap pakai A A ALUR TAHAPAN ANALISIS DAN PERANCANGAN ALGORITMA Sesuai Tidak Ya

7 Perancangan (Metode Penelitian) : Pemodelan penggambaran, peren-canaan dan pembuatan skema atau bagan umum sebagai satu kesatuan proses dalam memecahkan masalah

8 Citra Input Cropping Citra Input Ekstraksi Area paru Deteksi nodul dalam paru Hitung luas area nodul Perancangan Algoritma Extraksi dan Penghitunga Luas Area Nodul Paru

9 Algoritma : Definisi :Langkah-langkah pemecahan suatu masalah atau pekerjaan, yang dinyatakan secara sistematis, rinci, dan jelas, sehingga bila dilaksanakan pada kondisi awal tertentu, akan berakhir dalam selang waktu terbatas dan menghasilkan keluaran seperti yang diharapkan.

10  Uraian langkah-langkah dalam pemecahan masalah yang ada  Permasalahan dibagi menjadi sub-masalah yang lebih mudah dikerjakan.  Sub-masalah dibagi lagi menjadi sejumlah sub-masalah yang lebih kecil sampai menjadi bagian yang mudah diselesaikan (pemrograman modular). Desain Algoritma :

11  Pengkajian berulang, sehingga akan diperoleh algoritma yang paling lengkap, tepat, benar dan relevan, dan siap untuk diimplementasikan dalam bentuk program.  Fase kajian akhir dilakukan untuk memastikan sudah tidak ada lagi permasalahan lain yang terlupakan. Desain Algoritma :

12 Karakteristik Algoritma   Terstruktur   Efisien   Rinci   Tidak bermakna ganda   Independen

13 Terstruktur :   Terdiri dari sejumlah langkah, blok, prosedur & fungsi   Satu pintu masuk dan satu pintu keluar   Aliran Kendali mengikuti pola tertentu   Mudah dikelola & dikembangkan

14 Efisien : Penggunaan memori dan waktu proses yang optimal   Processor : menjalankan setiap perintah secara cepat dan tepat  Variabel dibuat sesedikit mungkin sesuai kebutuhan kebutuhan

15 Rinci :   Mudah dinyatakan dengan satu atau beberapa perintah bahasa pemrograman   Tidak menimbulkan keraguan makna Independent : Tidak tergantung pada bahasa pemrog- raman tertentu

16 Algoritma :  Terdiri atas langkah-langkah yang terdefinisi dengan baik  Bisa dihitung (computable) atau bisa diukur (measurable)  Menerima input, menghasilkan output  Memungkinkan komputer melakukan proses penyelesaiain suatu masalah

17 Struktur Dasar Algoritma 1. 1.Runtunan (Sequence) 2. 2.Pemilihan (Selection) 3. 3.Pengulangan (Repetition)

18 Runtunan (Sequence) Algoritma merupakan runtunan (sequence) satu atau lebih instruksi/pernyataan, setiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma

19 Pemilihan (Selection) if kondisi then aksi endif if kondisi then aksi1 else aksi2 endif

20 Pengulangan (Repetition) for var  awal to akhir do aksi endfor repeat aksi until kondisi_stop while kondisi_ulang do aksi endwhile

21 Pengkodean : Membuat Kode-kode / perintah-perintah yang mirip dengan bahasa pemrograman. Tujuan yang harus dicapai dalam pengkodean adalah : EFISIENSI :  Efisiensi kode, merupakan satu kesatuan dengan efisiensi algoritma yang telah didefinisikan pada tahap perancangan  Efisiensi memori adalah keefisienan perintah dalam program dan dalam menggunakan memori baik untuk pelaksanaan perintah ataupun pada penyimpanan data

22  Efisiensi I/O : –I/O yang berpengaruh langsung terhadap pemakai, maksudnya input yang dimasukkan oleh pemakai cukup jelas dan mudah dimengerti begitu juga untuk output yang dihasilkan. –I/O yang berpengaruh secara langsung terhadap mesin.

23 Contoh masalah: Video conference - Volume data multimedia sangat besar - Bandwidth jaringan terbatas dan mahal - Delay waktu transmisi besar

24  Masalah “data yang sangat besar” –Membutuhkan bandwidth komunikasi besar –Membutuhkan memori yang besar –Delay waktu transmisi besar –Biaya tinggi   Solusi “Kompresi data” – –Memori menjadi lebih kecil – –Biaya dapat diperkecil

25   “Kompresi data” mengacu pada sifat redundancy (kerangkapan data) – –Bagaimana mentukan ada tidaknya kerangkapan data – –Bagaimana jenis kerangkapan datanya (berurutan, periodik, acak) – –Metode apa yang digunakan untuk memampatkan data yang rangkap/berulang

26 Contoh kerangkapan data: … (rangkap berurutan) (rangkap tidak berurutan) (periodik)

27   Mentukan ada tidaknya atau besar kecilnya kerangkapan data : – –Hitung histogram data (frekuensi munculnya setiap nilai data) – –Hitung entropy-nya Contoh kerangkapan data: … (rangkap berurutan) (rangkap tidak berurutan) (periodik)

28  Metode pemampatan data  Run Length Encoding (RLE) – –Hitung jumlah perulangan data yang berurutan – –Catat jumlah perulangannya Contoh :   (periodik) 

29  Pohon Biner (Huffman coding) Contoh : "this is an example of a huffman tree" - statistik munculnya karakter (histogram) : - statistik munculnya karakter (histogram) : “ “= 7, a=4, e=4, f=3, t=2, h=2, i=2, s=2, n=2, m=2, “ “= 7, a=4, e=4, f=3, t=2, h=2, i=2, s=2, n=2, m=2, x=1, p=1, l=1, u=1, 0=1, r=1. x=1, p=1, l=1, u=1, 0=1, r=1. - Probabilitas munculnya karakter : “ “= …, - Probabilitas munculnya karakter : “ “= …, a=e=0.1111…, f=0.0833…, t=h=i=s=n=m=0.0556, a=e=0.1111…, f=0.0833…, t=h=i=s=n=m=0.0556, x=p=l=u=o=r= x=p=l=u=o=r=

30  Pohon Biner (Huffman coding) Contoh : "this is an example of a huffman tree« Contoh : "this is an example of a huffman tree« “ “= 000 a = 010 e = 011 f = 0010 t = 0011 h = 1000 i = 1001 s = 1010 n = 1011 m = 1100 x = p = l = u = o = r = 11111

31  Pohon Biner (Huffman coding) “ “= 7 a=4e=4f=3t=2h=2i=2s=2n=2m=2x=1p=1l=1u=10=1r= “ “= 000 a = 010 e = 011 f = 0010 t = 0011 h = 1000 i = 1001 s = 1010 n = 1011 m = 1100 x = p = l = u = o = r = bit  135 bit 36

32 Representasi Citra Digital (data visual) Citra Berwarna (RGB) Citra Gray-level (Luminance) Citra Hitam-Putih (“0” & “1”)

33 Secara fisik : Representasi informasi pada suatu media; Secara fisik : Representasi informasi pada suatu media; kertas, film, monitor dll. kertas, film, monitor dll. Definisi Citra Informasi dalam citra : - informasi dasar (warna, bentuk dan texture) - informasi abstrak (Cantik, senang, dst.) - informasi kejadian (pesta, perkawinan, dst.) Representasi Citra Digital (data visual)

34 Secara matematis : Fungsi dua dimensi I(x, y) yang menyatakan nilai intensitas atau warna I pada posisi x,y. Citra berwarna  I(m,n,w)  w = (R,G,B [0, 2 b -1]) Representasi Citra Digital

35 Citra gray level : Diperoleh dari citra berwarna, L = R G B Citra gray level  I(m,n) = L [0, 2 b -1] Representasi Citra Digital

36 Program Matlab : Im = imread(‘nama file citea’); [N,M] = size(Im); for i = 1 : N for j = 1 : M R = Im(i,j,1) ; G = Im(i,j,2) ; B = Im(i,j,3) ; Im(i,j) = R G B; end citra berwarna  gray level

37 Citra Biner : Diperoleh dari citra gray level, 1 jika L > Threshold B = 0 jika L < Threshold Citra biner  I(m,n) = B [0, 1] Representasi Citra Digital Threshold < 90

38 Program Matlab : Threshold = 90 Im = imread(‘nama file citea’); [N,M] = size(Im); for i = 1 : N for j = 1 : M if Im(i,j) >= Threshold Im(i,j) = 1; else Im(i,j) = 0; end citra gray level  Citra Biner

39 Algoritma pengitungan Histogram Citra,

40 Urutan proses algoritma Histogram Citra : -Baca citra (format citra : jpg, bmp, png, …) -Baca ukuran citra -Berapa level intensitas dalam citra (8 bit/pixel  maksimum 256) - Hitung histogram citra -Tampilkan kurva histogram citra

41 Algortimanya adalah sebagai berikut : Procedure HistCitra(Input Im : ArrayInt, Output H : LarikInt) { K. Awal: Elemen Array Im Telah terdefinisi K. Akhir: Elemen Larik H Histogram Proses: Menghitung banyaknya pixel citra yang memiliki nilai intensitas yang sama} Deklarasi k : integer {Pencacah untuk jumlah langkah} j : integer{Pencacah untuk penelusuran array} N : integer {Ukuran baris citra} M : integer {Ukuran kolom citra}

42 Program Matlab : H(1:Lmax) =0; for i = 1 : N for j = 1 : M H(Im(i,j)) = H(Im(i,j)) +1; end

43 Histogram dari hasil eksekusi algoritma Histogram tak ternormalisasi Histogram ternormalisasi

44 Analisis tekstur citra Algoritma pengitungan Histogram Citra, mean dan variance

45 1. 1.For i = 1 to N 2. 2.For j = 1 to M 3. 3.h(I(i,j)) = h(I(i,j)) End for 5. 5.End for 6. 6.htsum = For np = 0 to htsum = htsum+h(np) * np 9. 9.End for µ asli = htsum/(M*N) Vtot= For np = 0 to Vtot=Vtot+ (np - µ asli )^2) * h(np) End for σ asli = Vtot/M*N

46 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 46 -Metode Lempel-Ziv-Welch (LZW )merupakan metode kompresi data yang bersifat umum dan dapat digunakan pada semua jenis data. -LZW merupakan pengembangan dari metode LZ78 yang dikembangkan oleh Abraham Lempel, Jacob Ziv, and Terry Welch. Abraham LempelJacob ZivTerry WelchAbraham LempelJacob ZivTerry Welch -Algoritmanya sangat sederhana dan memungkinkan untuk diimplementasikan dalam bentu peragkat keras.

47 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 47 -Telah digunakan secara meluas dalam kompresi file yang berbasis perangkat lunak Unix dan juga digunakan dalam kompresi citra format GIF -Andaikan kita ingin mengkompres data teks berupa sebuah kalimat berikut: TOBEORNOTTOBEORTOBEORNOT

48 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 48 Char (C) Kata (W) W+C Keluaran (nilai) Kamus (kata dan nilai) T T OTTOT = 84TO = 256 BOOBO = 79OB = 257 EBBEB = 66BE = 258 OEEOE = 69EO = 259 ROORO = 79OR = 260 NRRNR = 82RN = 261 ONNON = 78NO = 262 TOOTO = 79OT = 263 TTTTT = 84TT = 264 OTTO B TOB256TOB = 265 EBBE O BEO258BEO =

49 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 49 Char (C) Kata (W) W+C Keluaran (nilai) Kamus (kata dan nilai) OBEBEO258BEO = 266 ROOR T ORT260ORT = 267 OTTO B TOB E TOBE265TOBE = 268 OEEO R EOR259EOR = 269 NRRN O RNO261RNO = 270 TOOT EOFOT263

50 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 50 - Hasil encoding atau kompresi : Setiap nilai dari deretan tersebut dapat dikodekan dengan jumlah bit maksimum adalah 9 bit. -Total bit hasil kompresi adalah sebesar 16x9 bit = 144 bit, sedang jumlah bit data aslinya sebanyak 24x8 bit = 192 bit. -Rasio kompresi sebesar 192/144 = 1,333 kali lebih kecil

51 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 51 InputCWW+C 1 OutputKamus 84TTT 79OTTOOTO = BOOBBOB = EBBEEBE = OEEOOEO = ROORROR = NRRNNRN = ONNOONO = TOOTTOT = TOTTTTOTT = BETOTOBBETOB = ORBEBEOORBEO = TOBORORTTOBORT = EOTOBTOBEEOTOBE = RNEOEORRNEOR = OTRNRNOOTRNO = 270

52 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 52 -Teori kompresi dikembangkan mengacu pada kerangkapan data/informasi. -Dua informasi auditif atau informasi visual yang mengandung makna yang sama dan terbentuk oleh data dengan nilai numerik yang sama, dinyatakan memiliki kerangkapan informasi dan kerangkapan data. -Dua informasi auditif atau informasi visual yang mengandung makna yang sama tetapi terbentuk oleh data dengan nilai numerik yang berbeda, dinyatakan memiliki kerangkapan informasi tanpa kerangkapan data.

53 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 53 -Tiga buah objek pertama berwarna biru (segi tiga, R=0, G=51, B=204), (segi empat, R=1, G=52, B=205) dan (lingkaran, R=2, G=49, B=202). -Tiga buah objek kedua berwarna ungu : (segi tiga, R=255, G=0, B=255), (segi empat, R=255, G=0, B=255) dan (lingkaran, R=255, G=0, B=255).

54 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 54 -Secara visual, tiga buah objek pertama memberi informasi warna biru yang sama (walau datanya berbeda), sehingga data warna biru ketiga objek dapat diwakilkan oleh salah satunya: (segi tiga, segi empat, lingkaran, R=1, G=52, B=205). -Terkompresi dengan rasio kompresi 9/3 = 3 -Secara visual, tiga objek kedua memberi informasi warna ungu yang sama dan datanya sama: (segi tiga, segi empat, lingkaran, R=255, G=0, B=255). -Terkompresi dengan rasio kompresi 9/3 = 3

55 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 55 -Semakin banyak data rangkap, semakin tinggi rasio kompresi. -Kerangkapan data dapat diperbanyak melalui proses deferensial dan quantisasi -Deferensial merupakan selisih antara dua data pixel yang saling berurutan:

56 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 56 -Data citra I heterogen  data  I homogen bernilai “1”.. -Metode diferensial digunakan sebagai algoritma DPCM (Differential Pulse Code Modulation) biasa digunakan untuk kompresi citra lossless. -Proses rekonstruksi:

57 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 57 -Metode kuantisasi digunakan pada teknik kompresi data yang bersifat lossy: I Q =round( I/Q) I Q =round( I/Q) -Data citra I = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), jika nilai kuantiasi Q=5 -I Q = (0, 0, 1, 1, 1, 1, 1, 2, 2, 2) -Proses rekonstruksi: I =round(I Q *Q) I =round(I Q *Q) -Hasil rekonstruksi: I = (0, 0, 5, 5, 5, 5, 5, 10, 10, 10). -Hampir semua nilai data berubah, secara visual perubahan ini tidak begitu tampak

58 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 58 -Susuan data dapat mempengaruhi rasio kmpresi z = Model zig-zag coding Hasil DCT dan kuantisasi Pada kompresi JPEG data =

59 Pengolahan Citra dan Video Digital: Teori, Algoritma dan Pemrograman Matlab Oleh: Sarifuddin Madenda 59 Program Matlab zig-zag coding: Udata(1:64)=0; for i = 1 : N for j = 1 : M Udata(z(i,j)) = data(i,j); end

60


Download ppt "ANALISIS DAN PERANCANGAN ALGORITMA Sarifuddin Madenda Universitas Gunadarma November 2013."

Presentasi serupa


Iklan oleh Google