Rabu, 06 Februari 2013
Robot Line Tracer Sederhana dengan 2 Transistor
courtesy of : http://www.ermicro.com/blog/?p=1097
AYO KAWAN YANG LAINNYA, MAU DITAMPILKAN JUGA HASIL KARYANYA GAK ?
Sekitar setahun yang lalu penulis menerima request dari pembaca untuk menjelaskan tentang line tracer sederhana yang terdapat pada blog "ermicro". Prinsip sederhana dari line tracer ini adalah pendeteksian pantulan jalur gelap dan terang yang dideteksi melalui LDR. LDR merupakan komponen resistor yang nilai tahanannya berubah-ubah sesuai dengan intensitas cahaya yang masuk.
Terdapat dua sensor yang ditempatkan disebelah kanan dan kiri dari line/garis jalur yg akan dilalui , dengan menggunakan prinsip pemantulan sinar LED yang ditangkap LDR berbeda ketika melalui jalur berwarna terang atau gelap. Jika sensor kiri mendapatkan gelap, maka akan menyebabkan roda sebelah kiri lebih lambat dari roda kanan sehingga akan berbelok ke kiri seperti rangkaiannya berikut ini:
LDR melakukan drive ke basis transistor berdasarkan intensitas cahaya yg didapat dan selanjutnya mengatur putaran motor
Motor yang digunakan haruslah motor yang mempunyai gear, karena motor tamiya/mobil-mobilan tanpa gear memiliki torsi/daya tarik yg lemah.
Berikut ini rangkaian yg sudah diubah menjadi PCB, dapat juga dibuat diatas PCB lubang.
hasilnya di youtube seperti ini :
SELAMAT MENCOBA
Jumat, 25 Januari 2013
Laundry yuk ! software admin + kasir untuk laundry kiloan
Kini Versi 4 Lebih Keren Loooo
PERNAH MENGALAMI KEJADIAN SEPERTI INI ??
KEUNTUNGAN MEMAKAI SOFTWARE INI
- Mempermudah transaksi pada usaha laundry kiloan
- Mengurangi komplain karena kesalahan pegawai laundry dalam memasukkan data laundry
- Mempermudah pembukuan transaksi
- Mempercantik usaha laundry kiloan, dengan memanfaatkan screensaver sebagai media iklan saat tidak ada transaksi
KEBUTUHAN PERANGKAT
>> PC / LAPTOP standar dengan kemampuan dual
monitor/duplicate
Laptop yg dijual
secara umum sudah memiliki dual monitor, jadi lebih baik menggunakan Laptop
dikarenakan PC membutuhkan alat tambahan berupa monitor extender/splitter
>>
2 Buah layar monitor, 1 untuk pegawai/penjaga, 1
(diusahakan layar lebar) yg ditempatkan di etalase yg menuju pelanggan. Bisa
juga untuk layar monitor sentuh atau menggunakan 1 buah display saja.
>> Keyboard/numpad (USB) + Mouse(USB) tambahan di untuk di etalase pelanggan. Jika
kabel kurang panjang, dibutuhkan kabel extender USB
FASILITAS TERBARU VERSI 4 KEATAS :
- Login pengguna software yg bisa dibedakan berdasarkan kewenangannya
- Bisa untuk cucian kiloan, satuan, sistem deposit dan cuci express
- Sistem database sederhana tanpa perlu install mysql, dbase dll
- Print nota hanya menggunakan printer biasa (inkjet / deskjet) yang murah
- Ter-integrasi dengan pembukuan yg bisa diubah ke excel
- Fasilitas upload foto sebelum dan sesudah mencuci
KINI DENGAN REKAP BULANAN /HARIAN di EXCEL
SCREEN SHOOT
PRINT OUT
DEMO Ver. 4.0 DAPAT DOWNLOAD DISINI
HANYA 500rb SAJA !!
SELAMAT MENCOBA
Senin, 21 Januari 2013
KONTROL MOTOR SERVO JARAK JAUH via DTMF / HANDPHONE dengan IC 555
Untuk pembahasan kali ini adalah hasil bimbingan saya ke rekan pembaca blog yang bingung mengerjakan TA(skripsi) nya. Setelah rekan ini membaca pembahasan DTMF pada blog disini, dia kebingungan ketika ingin merubah rancangan tanpa micro di blog menjadi dengan micro karena dasar micronya lemah. Kenapa dipaksa pakai micro ? toh dengan 555 saja servo bisa jalan ...perhatikan skematik berikut :
dari rangkaian PWM sederhana diatas sudah dapat mengontrol pergerakan dari motor servo dengan merubah dutycycle nya yang dikontrol oleh potensio P1. Nahh bagaimana dengan rangkaian DTMF ? kembali ke blog dan perhatikan gambar rangkaian berikut:

(klik untuk memperbesar)
rangkaian decoder dtmf sederhana diatas menggunakan ic decoder 8870 yg umum dijual di toko komponen, dengan truth table seperti berikut :

(klik untuk memperbesar)
nahh...dengan memperhatikan truth table diatas, secara sederhana kita dapat menggunakan 4 buah output menjadi control dutycycle PWM 555, dengan merubah-rubah pembagian tegangan yg akan diberikan ke pin 7 dari 555 melalui kontrol DTMF. Caranya mudah dengan memparalel beberapa trimpot dan melakukan switching ke pin tengahnya yg menuju ke pin 7 dari 555, switch ini bisa dilakukan dengan transistor atau menggunakan relay seperti yg dilakukan rekan dengan email : fendrian1989@gmail.com , memang agak membingungkan tapi dia berhasil kok...kalo bingung hubungi dia saja..hehehe
(klik untuk memperbesar)
tiap posisi servo yg diinginkan dapat dicoba terlebih dahulu (dengan merubah puteran trimpot/potensio) sebelum di switch menggunakan teknik relay atau transistor..
hasilnya seperti berikut, agan ini menggunakan servo continous yg muter terus sesuai perubahan arah yg diinginkan, kalo pake yg non kontinyu maka PWM berkolerasi dengan posisi sudut dari servo. Posisi yg dapat diperoleh dengan rangkaian sederhana ini adalah 4 posisi, sedangkan jika menginginkan 10 posisi sesuai jumlah dial telepon maka menggunakan BCD to Decimal decoder seperti penjelasan disini
Selamat Mencoba
Kamis, 17 Januari 2013
BERMAIN DENGAN TV PART #3 - OSD (Composite Video Text Overlay) dengan Attiny2313
Text Overlay atau On Screen Display (OSD) merupakan fitur yang umum dijumpai pada televisi modern. Gambar composite (AV in) dapat ditumpuk dengan text seperti text berjalan (scroll text / crawler) , logo , jam dan berbagai macam sesuai keinginan. Bagaimana cara menimpa gambar video dengan text akan kita bahas disini, dan diharapkan membaca penjelasan mengenai dasar-dasar bermain televisi menggunakan microcontroller disini: PART#1 PART#2 JAM TV
Courtesy of VIENA WIRELESS SOCIETY
Gunakan rangkaian yg terhubung dengan AIN saja, yg di dekat TX RX diabaikan saja
Pada web aslinya yang digunakan ic microcontroller ATMega8 ,prinsip utamanya memanfaatkan analog komparator untuk mendeteksi sinkronisasi vertikal & horisontal dari sinyal input video composit (semisal dari kamera atau dvd).
Pada script di web asli dijelaskan bahwa yg digunakan video NTSC..karena di indonesia menggunakan PAL maka saya ubah script menjadi PAL dan menggunakan ATTINY
dari gambar ic attiny 2313 kita akan menggunakan pin AIN0 dan AIN1 serta pin MOSI, dan beberapa pin digunakan sebagai tombol seperlunya, rangkai sesuai gambar asli. gunakan nilai komponen sesuai catatan dan dengan bereksperimen maka akan didapat efek2 yg tidak diduga seperti warna text, warna latar dsb.
untuk itu kita bahas script satu persatu ...
>>> Header <<
#define F_CPU 20000000UL //xtal 20MHz #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/sleep.h> #define FONTHEIGHT 12 //panjang text //rumus dan variabel syncronisasi #define HSYNC PORTB=0; #define GREY PORTB=0x80; #define COL(r) textnya=word[r][fontline]; static uint8_t fontline = 0; static uint8_t fontzoom = 0; static uint16_t rasterline=0; // ARRAY untuk tulisan nomer 0,1,2 dst const unsigned char font[12][FONTHEIGHT] PROGMEM = { { 0b00000000, 0b01111100, 0b11000110, 0b11001110, 0b11011110, 0b11010110, 0b11110110, 0b11100110, 0b11000110, 0b01111100, 0b00000000, 0b00000000, }, { 0b00000000, 0b00010000, 0b00110000, 0b11110000, 0b00110000, 0b00110000, 0b00110000, 0b00110000, 0b00110000, 0b11111100, 0b00000000, 0b00000000, }, { 0b00000000, 0b01111000, 0b11001100, 0b11001100, 0b00001100, 0b00011000, 0b00110000, 0b01100000, 0b11001100, 0b11111100, 0b00000000, 0b00000000, }, { 0b00000000, 0b01111000, 0b11001100, 0b00001100, 0b00001100, 0b00111000, 0b00001100, 0b00001100, 0b11001100, 0b01111000, 0b00000000, 0b00000000, }, { 0b00000000, 0b00001100, 0b00011100, 0b00111100, 0b01101100, 0b11001100, 0b11111110, 0b00001100, 0b00001100, 0b00011110, 0b00000000, 0b00000000, }, { 0b00000000, 0b11111100, 0b11000000, 0b11000000, 0b11000000, 0b11111000, 0b00001100, 0b00001100, 0b11001100, 0b01111000, 0b00000000, 0b00000000, }, { 0b00000000, 0b00111000, 0b01100000, 0b11000000, 0b11000000, 0b11111000, 0b11001100, 0b11001100, 0b11001100, 0b01111000, 0b00000000, 0b00000000, }, { 0b00000000, 0b11111110, 0b11000110, 0b11000110, 0b00000110, 0b00001100, 0b00011000, 0b00110000, 0b00110000, 0b00110000, 0b00000000, 0b00000000, }, { 0b00000000, 0b01111000, 0b11001100, 0b11001100, 0b11101100, 0b01111000, 0b11011100, 0b11001100, 0b11001100, 0b01111000, 0b00000000, 0b00000000, }, { 0b00000000, 0b01111000, 0b11001100, 0b11001100, 0b11001100, 0b01111100, 0b00011000, 0b00011000, 0b00110000, 0b01110000, 0b00000000, 0b00000000, }, { 0b00000000, 0b00000000, 0b00000000, 0b00110000, 0b00110000, 0b00000000, 0b00000000, 0b00110000, 0b00110000, 0b00000000, 0b00000000, 0b00000000, }, { 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, }}; //variabel pelengkap uint8_t word[7][12]; int y; uint8_t jam,menit,detik,textnya,tick;
>>> timer untuk horisontal sync PAL (64us) <<
void timer_init(void){ TCCR1B |= (1<<WGM12); TIMSK |= (1<<OCIE1A); OCR1A = 1280; //64*16; TCCR1B |= (1<<CS10); }
>> geser2 bit untuk menampilkan angka dari Array <<
void geser(void) { PORTB = (textnya & 0x80) +0x8 ; textnya <<=1; PORTB = (textnya & 0x80) +0x8 ; textnya <<=1; PORTB = (textnya & 0x80) +0x8 ; textnya <<=1; PORTB = (textnya & 0x80) +0x8 ; textnya <<=1; PORTB = (textnya & 0x80) +0x8 ; textnya <<=1; PORTB = (textnya & 0x80) +0x8; textnya <<=1; PORTB = (textnya & 0x80) +0x8 ; textnya <<=1; PORTB = (textnya & 0x80) +0x8 ; }
>> proses tulis tiap 1us dari frame horisontal 64us <<
void tulis(void){ //31 & 43 adalah batas tinggi karakter 12 scan/rasterline/vsync //y adalah posisi rasterline(Vsync) yg sedang ditulis if( rasterline > (31+y) && rasterline <= (43+y) ) { _delay_us(8); COL(0); geser(); COL(1); geser(); COL(2); geser(); COL(3); geser(); COL(4); geser(); COL(2); geser(); COL(5); geser(); COL(6); geser(); PORTB=0; _delay_us(1); fontline++; //pindah ke array selanjutnya } //jika tidak menulis else { _delay_us(8); fontline = 0; fontzoom=0; } // yang ini batas scannline trus bisa sisipkan proses // memasukkan data ke memory // sesuaikan karena kaskus merubah text &word; (hilangkan ' ; ') if( rasterline > 311 ) { memcpy_P(&word;[0],&font;[jam/10],12); memcpy_P(&word;[1],&font;[jam],12); memcpy_P(&word;[2],&font;[10],12); memcpy_P(&word;[3],&font;[menit/10],12); memcpy_P(&word;[4],&font;[menit],12); memcpy_P(&word;[5],&font;[detik/10],12); memcpy_P(&word;[6],&font;[detik],12); } } // interupt 64us ISR (TIMER1_COMPA_vect) { rasterline = 0; }
>> comparator untuk mendeteksi awal Vsync dan Hsync <<
SIGNAL(SIG_COMPARATOR) { //trik mendeteksi hsync dan vsync dengan melihat lama blanking TCNT1=0; // reset timer while(TCNT1<70); // wait 5us to see if H or V sync if(!((ACSR>>ACO)&1)) { // its an H sync TCNT1=0; // reset timer rasterline++; tulis(); } else { // this a V sync rasterline=0; //sekalian aja ditambah timer untuk nambah detik tick++; if(tick >= 200){ tick=0; detik++; if(detik==60){ menit++; detik=0;} if(menit==60){ menit=0; jam++;} if (jam==24) jam=0; } } }
>> Tombol untuk ubah jam dan geser2 posisi jam <<
void tombol(void) { if(bit_is_clear(PIND, PIND3)) { jam++; if(jam == 24) jam=0; detik=0; _delay_ms(200); } else if(bit_is_clear(PIND, PIND4)) { menit++; if(menit == 60) menit =0; detik=0; _delay_ms(200); } else if(bit_is_clear(PIND, PIND5)) //naik { y-=3; if(y<1) y=1; _delay_ms(200); } else if(bit_is_clear(PIND, PIND6)) //turun { y+=3; if(y>300) y=300; _delay_ms(200); }
>> main program<<
int main() { tick=0; jam=22; menit=19; detik=44; rasterline=0; y=0; //variable posisi text ACSR = (1<<ACIE)|(1<<ACIS0)|(1<<ACIS1); //analog comparator DDRD &=~(1<<PD3) & ~(1<<PD4)&~(1<<PD5) & ~(1<<PD6) ; //tombol // data text dan MISO, PB0 pada web asli dirubah jadi PB3 attiny DDRB |= (1<<PB7)|(1<<PB3); timer_init(); //idupin timer set_sleep_mode(SLEEP_MODE_IDLE); //menghemat tenaga sei(); for( ;; )tombol(); }
rangkaian ini cocok buat nambahin text ke kamera CCTV murah yg ga ada textnya, jadi bisa ditambahin jam atau text penanda nomer kamera
SELAMAT MENCOBA
Jumat, 11 Januari 2013
PAPAN SKOR BADMINTON LAYAR LEBAR, CONTROL via WI-FI
Setelah berjualan papan score "E-scoreboard" di link ini

dengan bangga mempersembahkan kepada negara tercinta ...

SOFTWARE PAPAN SKOR BADMINTON
Cara Kerja bagaimana ?

1. Display scoreboard Layar Lebar dikontrol oleh PC yang dinamakan PC server
2. Kontrol penjurian menggunakan software remote, sebaiknya menggunakan tablet windows
3. Koneksi penjurian dari remote ke server menggunakan TCP/IP via LAN atau Wi-Fi
contoh seperti video berikut:
KABAR BAIK... DEMO DAPAT DIDOWNLOAD LHOO....
http://www.4shared.com/zip/HQ0t7Yz-/demo_scoreboard.html
MELAYANI JUGA UNTUK CABANG OLAH RAGA LAIN SESUAI KEINGINAN
berminat ?? silahkan PM atau hubungi via email : ahocool@gmail.com
ym : ahokleng
PIN BB:321477A8
HP: 085733889569 , 087882045949
dengan bangga mempersembahkan kepada negara tercinta ...
SOFTWARE PAPAN SKOR BADMINTON
Cara Kerja bagaimana ?
1. Display scoreboard Layar Lebar dikontrol oleh PC yang dinamakan PC server
2. Kontrol penjurian menggunakan software remote, sebaiknya menggunakan tablet windows
3. Koneksi penjurian dari remote ke server menggunakan TCP/IP via LAN atau Wi-Fi
contoh seperti video berikut:
KABAR BAIK... DEMO DAPAT DIDOWNLOAD LHOO....
http://www.4shared.com/zip/HQ0t7Yz-/demo_scoreboard.html
MELAYANI JUGA UNTUK CABANG OLAH RAGA LAIN SESUAI KEINGINAN
berminat ?? silahkan PM atau hubungi via email : ahocool@gmail.com
ym : ahokleng
PIN BB:321477A8
HP: 085733889569 , 087882045949
Senin, 07 Januari 2013
Tentang Penulis - Waktunya Untuk 'Narsis'
Setelah sekian lama menulis di blog ini tak ada salahnya untuk memposting "narcism moment" dari saya. Mungkin sedikit bikin eneq tapi apa daya inilah sang penulis yang 'terpakasa' narsis karena didorong oleh temen yg mengatakan " tulisan mu udah banyak, saatnya elo 'menjual' diri sekarang !" Apaaa ? menjual diri ?
Lahir dari keluarga kecil di kota kecil Singaraja Bali, menghabiskan masa kecil bermain solder & Avometer pinjeman dari mantan pacar kakak perempuan, sering utak-atik dan modifikasi hampir setiap barang elektronika yg ada dirumah. Suatu hari aku merusak radio-tape merek National kesayangan bapak karena membaca artikel di majalah tentang memperkuat tangkapan radio FM, Bapak pun marah-marah dan melarangku mengutak-atik barang-barang kelistrikan di rumah. Tapi namanya anak-anak ya tetap saja tangannya gatel dan kembali berhasil merusakkan radio FM saku yg diutak-atik agar dapat mendengarkan percakapan tower bandara dengan pesawat terbang. Begitu lah hari-hari di masa kecil kulalui dengan bermain semua hal elektronika yg bisa didapat di kota kecil itu.
hobby selaen nyolder , jadi gitaris band kelas di acara ultah smansa singaraja
Suatu hari ada kesempatan untuk melancong ke kota buaya bersama pacar sang kakak ( yg gagal jadi ipar ) dan diperkenalkanlah diriku pada surganya tukang solder, surga ini bernama "Pasar Genteng". Mimpi ku untuk menelusuri 'surga' ini lebih luas lagi menjadi kenyataan ketika pada tahun 1998 diterima di Jurusan Telknik Elektro ITS dan bertemulah dengan master-master sesepuh elektronika seperti bapak Heru, Alm. Ir. Sutikno, bapak Rahmat dan masih banyak lagi yg kepanjangan jika disebutkan.
Sebagai penghuni LAB - B202 tahun 2001-2003 membuat ku menjadi paham dengan prinsip elektronika yang sebenarnya, walau kadang otak tidak sampai karena memang lemah di bidang analisa, ya setidaknya dengan masuk LAB dan tidur disana membuatku mengirit pengeluaran dari uang saku yg dibuat super 'ngepress' untuk seukuran jaman itu. Hampir semua bahan-bahan untuk tugas (praktikum) didapatkan dari membongkar (istilah anak-anak 'leles-leles') peralatan elektronika yg sudah tidak terpakai atau dari 'lungsuran' alias warisan dari kakak kelas yg sudah selesai mengerjakan tugas.
Kampus elektro - ITS sekitar tahun 2000 ,saya paling depan
Waktu untuk mengerjakan skripsi pun datang, walau masih kepingin tetap di lab (setelah 5 tahun dikampus), tetapi pesan dari seorang paman menyarankan saya segera lulus agar meringankan beban orang tua, dan kemudian fokus 6 bulan di skripsi yang bertema rancang bangun automatic fish feeder berbasis FPGA. Ketika itu dosen kepala bidang studi melarang menggunakan microcontroller kecuali mereka yang sudah batas akhir. Dan tak lama kemudian namaku mendapat tambahan embel-embel gelar ST .
Masa kuliah berakhir dan saatnya melangkah ke dunia sebenarnya. Idealisme pun beradu dengan kenyataan. Apakah mesti tetap idealis dengan embel-embel sarjana teknik elektro atau menuju dunia lain yg tidak ada hubungannya dengan kuliah. Pertentangan ini sempat terjadi ketika mengikuti rangkaian test kerja di salah satu bank swasta ternama dan disela-sela proses yg tinggal 2 langkah muncul tawaran dari sebuah pabrik di wilayah brebek-sidoarjo dan pabrik ini bergerak di manufaturing komponen elektronika. Surga ? tidak ! Manufakturing elektronika di indonesia terpuruk dengan munculnya pesaing baru ...TIONGKOK! Akibatnya pabrik pun bersaing dengan pabrik yg disubsidi oleh pemerintah komunis-sosialis. Penekanan COST ! itu yang selalu dingiangkan ke telinga karyawan.
Kenyataan ini menggoyahkan idealisme, melihat buruh-buruh kontrak yang ku pecat tiap 3 bulan dan dipaksa melihat kenyataan gaji mereka habis untuk bayar hutang . Hanya satu hal yang meringankan 'kegundahan' dari dunia buruh ini adalah kepolosan dan kejujuran para pekerja-pekerja baru serta semangat mereka dari desa ingin merubah nasib ke kota. Mereka yang baru lulus sma dan melihat ku sebagai sarjana yg masih muda, banyak yg bermimpi untuk kuliah dan bertanya kepadaku "apakah saya bisa kuliah pak?" . Dan jawaban saya "BISA ! " Senang sekali ketika beberapa tahun setelah meninggalkan pabrik, saya mendapat telepon dari mantan buruh di bagian kerja saya bahwa dia sekarang kuliah di universitas negeri dengan biaya sendiri sebagai SPG toko.
sebagai telco engineer di samsung telecom indonesia
Keluar dari pabrik, meninggalkan dunia elektronika dan masuk ke dunia yang sebenernya masih berhubungan, Telekomunikasi ! Project-project telco di pertengahan 2000-an bermunculan dimana-mana, vendor dan operator telco berlomba-lomba menggelar layanan yang membuat dunia telco begitu kinclong. Sampai suatu saat mendapatkan gelar 'Best Engineer Award 2008' dan berkesempatan jalan-jalan ke korea. Bersama rekan-rekan dari wilayah kerja lain yg juga mendapatkan hadiah, berkeliling suwon-seoul menikmati pemandangan di korea yang mungkin tidak ditemui di negeri sendiri. Saat itu halyu (korean wave) dengan gangnam style -nya belum seterkenal sekarang akan tetapi sudah cukup sering kita lihat sinetron K-drama di tv lokal. A dream come true ? Maybe....kemudian dunia telco kembali dijajah oleh...TIONGKOK !! ARGHGGHHHH . Kinclongnya pun serasa lampu redup !
Di Suwon - Korea Selatan tahun2008
Kenyataan bahwa dunia telco tidak sekinclong dulu mengubah duniaku untuk kembali ke jalan hidup sesuai kata hati. Kembali ke pasar genteng dengan wajah-wajah yang masih sama, tetapi produk yang dijual berbeda. AVR dan minimum system berbasis arduino umum dijumpai. Arduino menawarkan jalan pintas dan aku tidak suka karena membuat tergantung pada shield atau perangkat tambahan untuk melakukan fungsi yg sederhana sekalipun. Dan kembalilah seperti masa kuliah dulu yaitu 'start from scratch' belajar dari menyusun di breadboard. Sampai suatu saat mendapatkan kembali kemampuan yg mungkin lebih jago dari jaman kuliah, mungkin karena sekarang sudah ada dana dari hasil kerja kantoran untuk bebas membeli komponen dan tools yang diinginkan
Dimulai dari tulisan di room hobby di kaskus, terus berusaha menularkan hobby dan ilmu elektronika , sempat berpikir untuk untuk membuat workshop, dan akhirnya kembali ke awal mula sebagai anak dari pasangan guru, menulis dan menularkan ilmu serasa lebih mudah daripada menjual project-project yg kadang-kadang kesulitan dalam menentukan harganya. Seperti kata seseorang di acara motivasi di TV...'Bekerjalah tanpa memikirkan hasil (gaji) , jika tekun dan serius duit akan mengalir dengan sendirinya'. Mari kita buktikan kawan !
Selamat Berkarya
NYOMAN YUDI KURNIAWAN, ST