Feeds:
Posts
Comments

Pindah Alamat

Pengunjung yang budiman,


Bismillah, blog ini http://prihastomo.wordpress.com mulai 31 Januari 2011 pindah alamat ke http://blog.yogaprihastomo.com. Namun demikian, domain yang di wordpress ini akan tetap ada.  Semoga lebih dapat memacu saya untuk menulis dan terus menulis. Terima kasih telah berkunjung ke Blog saya.

Salam,
Jabat Erat


Yoga Prihastomo



Konversi Scan

… Grafika Komputer: Konversi Scan …

Konversi Scan (Scan Conversion) merupakan sebuah teknik untuk mengubah vertikal / horizontal frekuensi scan dari sinyal video untuk tujuan dan penerapan yang berbeda. Perangkat (alat) yang melakukan konversi ini disebut scan converter. Pengaplikasian dari konversi scan mencakup hal yang luas seperti: proyektor video, peralatan cinema, kartu TV dan video capture, televisi standar dan televisi high definition (HDTV), monitor LCD, dan berbagai aspek gambar serta pemrosesan video. Mekanisme dan metode dalam konversi scan melibatkan perubahan informasi gambar (data rate) dan pembungkus gambar baru pada sinyal sinkronisasi yang sesuai.

Ada dua metode yang digunakan dalam mengubah data rate gambar: Metode Analog, yakni metode yang bersifat non-retentive, memory-less atau real time. Dengan metode ini, konversi dilakukan dengan menggunakan sejumlah besar delay cell dan cocok digunakan untuk video analog. Metode yang kedua yakni: Metode Digital yang bersifat menyimpan (buffered). Dengan metode ini, gambar disimpan dalam buffer garis atau bingkai dengan kecepatan n1 (data rate) dan dibaca dengan kecepatan n2, beberapa teknik pengolahan gambar dapat diaplikasikan jika gambar disimpan dalam memori buffer termasuk jenis interpolasi dari perbandingan sederhana ke perbandingan cerdas, deteksi gerakan dan untuk meningkatkan kualitas gambar dan mencegah konversi artefak. Konversi Scan meliputi:

Konversi Scan Garis (line):

  • Algoritma DDA, adalah suatu algoritma (pendekatan) pengkonversian suatu himpunan pixel–pixel menjadi suatu garis yang didasari atas perhitungan delta(x) dan delta(y);
  • Algoritma Bresenham merupakan suatu algoritma (pendekatan) yang dikreasikan oleh Bresenham yang tidak kalah akurat dan efisien dengan algoritma primitif lainnya (seperti DDA), bagian pengkonversian (scan–konversi) garis akan melakukan kalkulasi untuk penambahan nilai–nilai integer (yang dibutuhkan untuk membentuk garis) yang disesuaikan dengan tipe grafik yang dipakai oleh layar komputer.

Konversi Scan Lingkaran (Circle):

  • Symmetry Algorithm;
  • Incremental Algorithm;
  • Midpoint Algorithm, di dalam algoritma penggambaran lingkaran pada koordinat raster, misalkan pada suatu unit interval, sebelumnya kita harus menentukan posisi pixel yang paling dekat untuk menspesifikasi beberapa langkah pembentukan lingkaran yang diharapkan. Kita berikan radius r dan posisi tengah pixel (xc ,y c), kita dapat mengatur atau menentukan sesuai kondisi tertentu suatu algoritma perhitungan yang bertitik pusat pada koordinat origin (0, 0).

Konversi Scan lainnya:

  • Pattern Primitive;
  • Alligned Ellipses.

Rekomendasi Situs Latihan (buka file *.html atau *.htm):

Referensi Bahan Bacaan:
- Wikipedia: Computer Graphic Algorithm
- Scan Conversion 2D Primitive Drawing Algorithms
- Scan Conversion
- Circle Notes
- Grafik Komputer Fadlisyah
- Konversi Scan
- Scan Conversion: Drawing a Straight Line
- Wikipedia: Scan Conversion
- Slide
- Wikipedia: Midpoint Circle Algorithm
- Wikipedia: Bresenham Line Algorithm
- Wikipedia: DDA Algorithm
Bitmap: Midpoint Circle Algorithm

Code Generator

…Database to Code…

Hidup ini indah, begitulah kalimat pertama dalam tulisan ini. Bagi seorang pemula (seperti saya), saat memulai mempelajari pemrograman web semisal ASP, ASP.NET, PHP, JSP, ColdFusion, maka kemungkinan akan menemui kesulitan dalam mengembangkan aplikasi. Beberapa hal yang dilakukan untuk mengatasi masalah tersebut seperti: membeli (membaca) buku atau e-book yang diunduh dari internet, mengikuti mailing list pemrograman yang diminati, mengunjungi situs-situs pemrograman semisal planet-source-code.com, bertanya pada google (how to), mempraktekkan apa yang telah didapat, dsb. Kemudian, adakah hal lain yang dapat dilakukan untuk mempercepat proses pembelajaran ???

Selain apa yang telah disampaikan di atas, maka pernahkah terpikir bahwa dari database yang telah dirancang, akan didapat kode program secara otomatis ??? Jawabannya bisa saja, yakni dengan Code Generated from Database. Kode program akan di generate secara otomatis berdasarkan database yang telah ada sehingga menjadi sebuah aplikasi “sederhana” yang lengkap, mulai dari User Interface yang konsisten, fasilitas search dan advanced search, menu pada record (tambah, hapus, ubah) data, dsb. Dengan produk software dari HKVstore, maka hal tersebut dapat dilakukan dengan mudah. Dengan ini kita dapat menerapkan “learning by example“, belajar dari contoh aplikasi standar hasil generate dari database.

Sebagai studi kasus,Saya menggunakan database di Microsoft SQL ServerNorthwind kemudian saya akan mengenerate menggunakan salah satu produk dari yakni PHPMaker. Berikut dokumentasinya:

  • Siapkan web server apache, php melalui bundle software seperti XAMPP atau APPServ;
  • Jalankan software PHPMaker, lakukan konfigurasi database seperti: jenis database, nama server, port, username, password, nama database. Klik Connect untuk membuat koneksi. Pada tahap ini tabel dan view di database akan di load ke PHPMaker;
  • Tentukan apa saja object yang akan digenerate;
  • Tentukan kustomasi pada option PHP sesuai kebutuhan;
  • Tentukan output user interface yang akan di digenerate, tema, termasuk mengedit CSS
  • Tentukan keamanan aplikasi, apakah memerlukan login atau tidak untuk mengakses aplikasi hasil generate;
  • Tentukan lokasi generate, termasuk virtual directory;
  • Pilih tombol Generate HKVstore untuk memulai proses generate aplikasi;
  • Sampai tahap ini kita telah membuat kode program hasil dari generate data. Selamat mengeksplorasi.

Referensi:
HKVstore

Japan Part3

…Reportase Training Ke Jepang Part 3…

Menyambung tulisan pertama dan kedua, maka tulisan berikut akan membahas mengenai XML (eXtensible Markup Language). Materi dari WIPO bertema “IP Data Exchange between WIPO and Member States”, namun inti pembicaraan adalah mengenai XML sebagai sebuah standar pertukaran data. WIPO menggunakan standar ST. 36 XML sebagai standar pertukaran data paten. XML sendiri pada dasarnya merupakan bahasa markup yang well formed yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti.

Dari beberapa literatur didapat bahwa XML bukan merupakan pengganti HTML. XML dan HTML yang dirancang dengan tujuan yang berbeda dimana XML dirancang untuk transportasi dan menyimpan data (mendeskripsikan dan menfokuskan diri pada data), sedangkan HTML dirancang untuk menampilkan data, dengan fokus pada bagaimana data ditampilkan. Beberapa manfaat dari penggunaan XML:

  • platform independent, artinya XML tidak bergantung pada jenis sistem software/hardware yang digunakan;
  • karena bersifat text, maka dokumen dalam format XML dapat dibaca dengan mudah oleh manusia;
  • dokumen XML didasarkan pada Unicode dan dengan demikian bersifat multibahasa;
  • XML memisahkan isi data dari presentasi data: stylesheet menentukan bagaimana elemen dokumen diformat untuk keluaran dan hal ini memungkinkan
  • personalisasi tampilan tanpa harus memodifikasi konten dokumen asli;
  • dokumen XML dapat ditukar/digabung dengan dokumen XML lain (ekstensibilitas);
  • pencarian data relatif cepat karena XML merupakan data dalam format yang terstruktur;
  • dalam perkembangannya, banyak konfigurasi aplikasi/sistem menggunakan format XML, sebagai contoh jika menggunakan ASP.NET pada bagian Web Config;
  • dan sebagainya.

Beberapa perangkat lunak yang dapat digunakan untuk mengelola file XML seperti Stylus Studio XML dan Liquid XML Studio. Selamat mengeksplorasi.

Referensi:
- WIPO ST 36
- XML, Wikipedia
- XML, W3
- XML, W3School

Japan Part2

…Reportase Training Ke Jepang Part 2…

Menyambung tulisan pertama, maka hal tulisan berikut akan membahas sedikit mengenai Phonetic Search yang merupakan sebuah metode pengenalan suara dimana sinyal audio pembicaraan akan dipecah menjadi rangkaian fonem yang dapat digunakan untuk mengidentifikasi kata-kata. Fungsi pencarian fonetik ditujukan untuk membantu dalam mengidentifikasi kata yang tepat di mana ejaan kata tersebut tidak diketahui dan hanya pengucapan yang tersedia. Dalam implementasinya pada database, pencarian tepat akan menampilkan hasil yang sesuai dengan query yang dimasukkan. Namun, jika melakukan Phonetic Search, maka akan mengembalikan dua nilai, yakni menampilkan hasil yang sesuai (tidak ada catatan), dan sebagai catatan pencocokan menggunakan pencarian fonetik, dan selanjutnya sebagai saran ditentukan maksimum sesuai dengan kesamaan (Similarity) nama kolom, dimana aturannya adalah – lebih tinggi nilai kesamaan, lebih dekat hasilnya yang merupakan kata kunci pencarian.

Contoh penerapan pada database Northwind

	CREATE PROCEDURE PhonicSearch
	@TableName varchar (80)		-- Table name
	, @ColumnList varchar(800)	-- List of comma seperated column list to return
	, @MatchColumn varchar(80)	-- Compare column with
	, @SearchFor varchar(150)	-- Search string to compare with @MatchColumn
	, @MaxSuggest varchar(3)	-- In case no exact match found the maximum number
								-- of suggested value in @MatchColumn column
	AS
	Declare @strSQL varchar(1500)
	-- Build and execute SQL query to find exact match
	Set @strSQL = 'SELECT ' + @ColumnList + ' FROM ' + @TableName +
				  ' WHERE ' + @MatchColumn + ' = ''' + @SearchFor + ''''
	-- Print @strSQL
	exec (@strSQL)

	-- If no exact match found build query with phonic search
	IF @@ROWCOUNT=0
	Begin
		-- Phonic Search query
		Set @strSQL = 'SELECT ' + @ColumnList + ' FROM ' + @TableName +
					  ' WHERE SOUNDEX(' + @MatchColumn +
					  ') = SOUNDEX(''' + @SearchFor + ''')'

		exec(@strSQL)
		-- Print @strSQL
		-- Suggetested words for refin search
		Set @strSQL = 'SELECT TOP ' + @MaxSuggest + ' ' + @MatchColumn + ', DIFFERENCE('+
					  @MatchColumn+ ', ''' + @SearchFor +
					  ''') as Similarity FROM ' + @TableName + ' WHERE SOUNDEX(' +
					  @MatchColumn + ') = SOUNDEX(''' + @SearchFor +
					  ''') ORDER BY Similarity'
		exec(@strSQL)
		-- Print @strSQL
	END
	-- Try it
	Exec PhonicSearch 'Customers', 'customerid, CompanyName, ContactName, ContactTitle' , 'ContactName', 'MAR',5

Contoh penerapan lain terdapat pada situs PatenScope. Pada situs ini kita dapat melakukan Phonetic Search (Cross Lingual Expansion) dari menu Search. Sebagai contoh, saya mencari kata kola, maka dengan mode Automatic Expansion akan dihasilkan ekspresi ((EN_TI:(“kola”) OR EN_AB:(“kola”)) OR (ES_TI:(“cola”) OR ES_AB:(“cola”))) sehingga hasil pencarian akan lebih variatif. Dan yang menarik, pada situs Drugs.Com, menyediakan fasilitas phonetic search guna menentukan obat yang tepat dari kemungkinan kesalahan pengucapan.

Referensi Phonetic Search:
- Understanding Classic SoundEx Algorithms
- Drugs.Com – Phonetic Search
- Soundex Phonetic vs. String-Matching
- Dictionary Software
- Phonetic Search on SQL Server
- Word Spotting vs. Phonetic Search vs Speech Recognition
- WIPO – Cross Lingual Expansion on PatenScope

Older Posts »

Follow

Get every new post delivered to your Inbox.