Category Archives: Pemrograman

Panduan Penggunaan Aplikasi Werewolf Admin Helper v2.0

Aplikasi Werewolf Admin Helper adalah sebuah tool berbasis Windows yang dapat digunakan untuk membantu Moderator agar permainan sosial Werewolf menjadi lebih mudah dimainkan.

Aplikasi ini tidak perlu diinstal, cukup disalin ke sembarang folder di mana Anda ingin menyimpan aplikasi ini (stand alone), tidak perlu DLL atau framework apapun.

File yang Dibutuhkan

Aplikasi EXE ini ditemani sebuah file yang bernama role.ini yang harus diletakkan dalam folder yang sama dengan aplikasinya. Anda bisa ubah isinya sesuai mahdzab atau aliran Werewolf yang Anda sukai yang banyak tersedia di Internet. Pastikan ada score untuk masing-masing role.

Berikut adalah contoh isi file role.ini yang ada:

[SIMPLICITY]
Apprentice Seer=4
Blood Wolf=-4
Bomber=3
Cupid=-3
Drunker=3
Fool=1
Framer=-2
Guardian Angel=3
Hunter=2
Little Girl=2
Lone Wolf=-5
Lycan=-1
Mason=2
Mayor=2
Seer=7
Spellcaster=2
Villager=1
Virgin=3
Voodoo Lady=-2
Wolf Cub=-8
Werewolf=-6

[ULTIMATE]
Apprentice Seer=4
Aura Seer=3
Beholder=2
Big Bad Wolf=-9
Bloody Mary=1
Bodyguard=3
Bogeyman=-6
Chupacabra=4
Count Dracula=-2
Cult leader=1
Cupid=-3
Cursed=-3
Dire Wolf=-4
Diseased=3
Doppelganger=-2
Dream Wolf=-5
Drunk=3
Fruit Brute=-3
Ghost=2
Hunter=3
Insomniac=3
Leprechaun=5
Little Girl=2
Lone Wolf=-5
Lycan=-1
Martyr=3
Mason=2
Mayor=2
Minion=-6
Nostradamus=1
Old Man=0
Pacifist=-1
Priest=3
Prince=3
Paranormal Investigator=3
Sasquatch=-2
Seer=7
Sorcerer=-3
Spellcaster=1
Tanner=1
The Count=5
Tough Guy=3
Troublemaker=2
Vampire=-7
Village Idiot=2
Villager=1
Werewolf=-6
Witch=4
Wolf Cub=-8
Wolf Man=-9

Pastikan section tidak anda ubah (harus SIMPLICITY dan ULTIMATE). Lainnya bisa diubah dengan format <role>=<nilai>.

Menyiapkan Permainan

Pastikan Anda memiliki setidaknya 5 orang yang akan bermain di luar Moderator.

Pergi ke Tab Sheet : SKENARIO

Default DECK yang digunakan adalah SIMPLICTY WEREWOLF, dan Anda dapat pindah ke ULTIMATE WEREWOLF dengan mengeklik pilihan yang Anda inginkan.

Img5

Masukkan Jumlah Pemain di combo box bagian Atas.

Jumlah Variasi menunjukkan banyaknya kombinasi skenario yang Anda ingin hasilkan.

Ada 5 kolom di gambar di atas.

Kolom paling kiri akan berisi skenario yang dihasilkan oleh tool ini. Anda bisa copy and paste ke tempat lain atau disimpan untuk future reference.

Kolom nomor dua dari kiri berisi semua role yang tersedia, kolom di sebelahnya berisi daftar role yang tidak ingin Anda inginkan berada di hasil skenario yang dihasilkan.

Kolom nomor lima merupakan kebalikannya, berisi role yang harus disertakan dalam setiap kombinasi skenario yang dihasilkan. Kolom nomor tiga dan nomor 5 tidak harus diisi.

Setelah Anda siap menghasilkan skenario, klik tombol Acak Skenario untuk menghasilkan semua skenario yang Anda inginkan. Caption tombol akan berubah menjadi Stop jika misalnya Anda mencoba menghasilkan 1000 variasi kemungkinan lalu berubah pikiran. Hal lain juga apabila Anda terlalu banyak memasukkan role mandatory sehingga total score sesuai slide bar (-2, -1, 0, 1, dan 2) tidak bisa terpenuhi. Ini bisa dilihat dari angka yang terus merangkak naik di samping tombol Acak/Stop namun aplikasi tidak bisa mencari kemungkinan lain agar total score sama dengan angka slide bar tersebut. Permainan ini harus dibuat seimbang mungkin. Sisi jahat (werewolf dan teman-temannya) selalu negatif sementara sisi Villager dan teman-temannya yang baik nilainya positif. Total kesemuanya sebaiknya 0. Nilai negatif jika Anda merasa sisi jahat harus dominan di awal, dan positif jika Villager dominan di awal permainan.

Img6

Dalam skenario di Atas ada 5 pemain dengan 3 variasi skenario di mana Lycan tidak ingin dimainkan dan role yang wajib adalah Guardian Angel dan Seer.

Setelah Anda cocok dengan suatu skenario, pilih nomor Skenario yang diinginkan, lalu klik Pilih Skenario. Anda akan dibawa ke Tab sheet Game.

Masukkan nama ke 5 orang pemain. Lalu klik Acak Peran ke Para Pemain.

Img7

Tombol Hitung Balance Score digunakan untuk menghitung nilai total permainan sesuai dengan banyaknya role yang akan dimainkan. Nilai totalnya muncul di sebelah tombol tersebut.

Pada setiap siang hari, nilai vote yang diterima setiap pemain diketikkan di kolom Lynch Vote. Jangan lupa simpan perubahan dengan mengeklik tombol navigasi checklist berwarna hijau di bawah grid.

Klik Tombol Statistik Vote untuk menampilkan di bagian bawah siapa yang harus dieliminasi siang itu.

Contohnya:

Hasil vote adalah sebagai berikut:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Joni -> 3
Broto -> 1
Sugeng -> 1
Yang akan mati berikutnya dibakar warga adalah Joni
Pemain Joni telah mati…
Game Balance Status : 3
Kekuatan didominasi oleh GOOD SIDE

Img8

Anda juga bisa menyalin tulisan di atas ke WhatsApp / Line / Telegram Group jika Anda bermain daring.

Jika ada warga yang akan dimakan warga, klik saja pemainnya, lalu klik tombol Dimakan Serigala. Jika dia Lycan, perannya akan otomatis berubah menjadi Werewolf. Jika seseorang mati karena dibunuh Hunter atau Bloody Mary atau karena pasangannya dibunuh, maka klik checkbox Hidup dan tekan tombol simpan (Checklist Hijau) untuk mengubah statusnya.

werewolf

Selamat Bermain! Kalau mau mengunduhnya silakan ambil di sini, gratis!

 

 

 

Iklan

Kumpulan Skenario Werewolf

Masih ingat social game Werewolf yang pernah saya posting sebelumnya di sini? Nah kali ini saya ingin berbagi ribuan skenario untuk permainan ini, khususnya buat yang mau jadi Moderator.

Ada dua jenis skenario yang saya bagikan, yaitu versi Werewolf Simplicities dan Ultimate Werewolf. Simplicity5 artinya role untuk Simplicity dengan pemain 5 orang. Ultimate8 artinya role untuk Ultimate Werewolf dengan 8 orang. Setiap file terdiri atas 300 kombinasi skenario yang total nilainya 0, artinya seimbang antara kekuatan sisi baik maupun sisi buruk.

Nilai skor yang digunakan menggunakan informasi dari Wikipedia Ultimate Werewolf dan sebagian saya sesuaikan terutama untuk Simplicities yang scoring-nya tidak begitu jelas di panduannya.

[SIMPLICITY]
Apprentice Seer=4
Blabbermouth=2
Blood Wolf=-4
Bomber=3
Cupid=-3
Drunker=3
Fool=1
Framer=-2
Guardian Angel=3
Hunter=2
Little Girl=2
Lone Wolf=-5
Lycan=-1
Mason=2
Mayor=2
Seer=7
Spellcaster=2
Villager=1
Virgin=3
Voodoo Lady=-2
Wolf Cub=-8
Werewolf=-6

[ULTIMATE]
Apprentice Seer=4
Aura Seer=3
Beholder=2
Big Bad Wolf=-9
Bloody Mary=1
Bodyguard=3
Bogeyman=-6
Chupacabra=4
Count Dracula=-2
Cult leader=1
Cupid=-3
Cursed=-3
Dire Wolf=-4
Diseased=3
Doppelganger=-2
Dream Wolf=-5
Drunk=3
Fruit Brute=-3
Ghost=2
Hunter=3
Insomniac=3
Leprechaun=5
Little Girl=2
Lone Wolf=-5
Lycan=-1
Martyr=3
Mason=2
Mayor=2
Minion=-6
Nostradamus=1
Old Man=0
Pacifist=-1
Priest=3
Prince=3
Private Investigator=3
Sasquatch=-2
Seer=7
Sorcerer=-3
Spellcaster=1
Tanner=1
The Count=5
Thing=3
Tough Guy=3
Troublemaker=2
Vampire=-7
Village Idiot=2
Villager=1
Werewolf=-6
Witch=4
Wolf Cub=-8
Wolf Man=-9

 

Silakan unduh skenarionya di sini.

Oh ya jika ada masukan role yang seharusnya berdampingan dengan role lain namun tidak ada di skenario, kasih tahu ya, agar program generatornya bisa saya update.

Img1

Tampilan Skenario Generator

Review Game: Human Resource Machine

TomorrowCorporation telah sukses meluncurkan game Human Resource Machine di iOS setelah sukses meluncurkannya di Linux dan Windows via Steam. 


Game ini ditujukan buat mereka yang suka teka-teki, tantangan berupa problem solving, cocok yang suka matematika atau pemrograman.

Ada tiga profile berbeda yang bisa digunakan dalam permainan ini, artinya ada tiga orang yang bisa bermain dalam device yang sama.


Ada 37 level yang disediakan dalam game ini. Inilah level-level yang ada:


Tujuan game ini sangat sederhana. Kita memiliki serangkaian paket dengan label atau angka yang datang melalui IN conveyor belt. Tugas kita adalah memproses paket yang datang sedemikian rupa sehingga kita bisa meletakkan paket yang telah diproses ke conveyor belt OUT. 

Setiap level kita diberikan instruksi untuk membaca paket, meletakkan paket, atau memanipulasinya.


Game ini sangat menantang karena meskipun secara programming tugasnya mudah, namun terbatasnya fungsi yang bisa digunakan dalam setiap levelnya membuat kening kita berkerut untuk mencari solusinya.

Nantinya program kita dikatakan baik apabila bisa menyelesaikan tugas dengan benar apalagi bila solusinya lebih sedikit dan lebih ringkas daripada versi yang umum dimasukkan oleh para pengguna lainnya.

Ayo, buruan dibeli selagi harganya masih goceng di Apple Store. Versi Steamnya sekitar 90 ribu rupiah.

Pembaca, tertarikkah? Jika tidak, game apa yang sedang Anda mainkan sekarang? Share ya siapa tahu saya bakal memainkannya juga.

Saksikan trailernya di https://m.youtube.com/watch?v=428R_oEjGGI&autoplay=1

Fenomena Mukidi dan Kecerdasan Buatan

Img6

Jika kalian pengguna Whatsapp mestinya sedang bolak-balik mendapat kiriman humor yang tokohnya Mukidi. Saya tidak tahu siapa yang awalnya mengirimkan cerita dengan tokoh Mukidi ini sehingga menjadi viral di dunia maya. Saya mencoba menyelami bagaimana Mukidi berpikir atau bagaimana kehidupan Mukidi sambil iseng bermain-main perangkat lunak yang biasa digunakan untuk memecahkan masalah kecerdasan buatan, yaitu Prolog (Programming in Logic).

Bahasa pemrograman Prolog berbeda dengan bahasa pemrograman lainnya yang procedural atau berorientasi objek yang ada di pasaran. Alih-alih membangun solusi di atas fungsi atau objek, prolog bermain dengan predikat. Setiap predikat bisa berisi satu atau lebih klausul.

Kembali ke Mukidi. Kalau kita baca dari situs ini,  Mukidi ternyata punya istri bernama Markonah dan punya dua anak, Mukirin dan Mukiran.

Kita bisa tuliskan dengan bahasa Prolog untuk mendaftarkan fakta-fakta berikut ini:

ayah(mukidi, mukirin). //Mukidi ayah Mukirin
ayah(mukidi, mukiran).  //Mukidi ayah Mukiran
suami(mukidi, markonah). //Mukidi suami Markonah
istri(A, B) :- suami(B, A). //Jika A istri B, maka B suami A

Dengan asumsi mereka orang tua kandung, kita bisa katakan (secara nalar):

ibu(SIMBOK, ANAK) :- suami(BAPAK, SIMBOK), ayah(BAPAK, ANAK).

Predikat di atas dapat dibaca sebagai berikut :

SIMBOK adalah ibu dari ANAK jika ada seorang BAPAK yang merupakan suami dari sang SIMBOK dan sang BAPAK tersebut adalah ayah dari ANAK.

bersaudara(A, B) :- ibu(SIMBOK, A), ibu(SIMBOK, B).

A dikatakan bersaudara dengan B jika SIMBOK ibu si A dan juga ibu si B.

Hanya dengan predikat di atas, kita bisa bertanya kepada komputer

  • Siapa saja anak Markonah?
?- findall(ANAK, ibu(markonah, ANAK), JAWABAN).
JAWABAN = [mukirin, mukiran].
  • Siapakah ibu Mukirin?
?- ibu(SIMBOK, mukirin).
SIMBOK = markonah
  • Siapa saudara Mukiran?
?- bersaudara(SAUDARA, mukiran).
SAUDARA = mukirin
  • Apakah Markonah adalah ibu Mukiran?
 ?- ibu(markonah, mukiran).
true.

Mari kita nikmati humor tentang Mukidi berikut ini:

MUKIDI DAN GAJAH

Jarum jam sudah menunjukkan pukul 07.00. Bel sekolah berbunyi dan para siswa pun langsung berlarian memasuki kelasnya masing-masing. Termasuk Mukidi. Mukidi memang sangat dikenal oleh para guru di sekolah itu. Anaknya sih nggak bandel-bandel amat. Namun dia sangat populer sebagai anak yang nyebelin banget.

Siang itu Mukidi duduk di paling depan. Karena salah satu bangku teman yang ada di depan tidak masuk. Maka dari itu Mukidi berniat duduk di paling depan. Kebetulan pelajaran hari itu adalah pelajaran Bahasa Indonesia. Ini adalah mata pelajaran yang paling disukai oleh Mukidi. Nah pada kesempatan itu, Guru Mukidi berkeinginan untuk membuat teba-tebakan nama hewan. Berikut dialognya

Guru: “Anak-anak, apa nama binatang yang dimulai dengan huruf G ?”.

Mukidi berdiri dan menjawab : “Gajah, bu guru !”

Guru: “Bagus, pertanyaan berikutnya. Apa nama binatang yang dimulai dengan huruf ‘D’ ?”

Semua murid diam, tapi Mukidi kembali berdiri :”Dua gajah, Bu Guru…”

….gerrr sak kelas

Guru :”Mukidi, kamu berdiri di pojok sana !

Ayo anak-anak kita lanjutkan. Pertanyaan berikut, binatang apa yang dimulai dengan huruf “M”?

Semua murid diam.

Tapi lagi-lagi Mukidi menjawab dengan tenang “Mungkin Gajah…”

Guru:”Mukidi, kamu keluar dan berdiri di depan pintu !”

Mukidi keluar dengan suuedihhh. Guru melanjutkan.

Guru :”Pertanyaan terakhir. Anak-anak, binatang apa yang dimulai dengan huruf “J”?

semua diam.

Tak lama sayup-sayup terdengar suara Mukidi dari luar kelas

Mukidi : “Jangan-jangan Gajah

Saking kesalnya, Bu Guru menyuruh Mukidi pulang….

Guru : “Sekarang anak-anak, binatang apa yang diawali dengan huruf P ?”

Sekali lagi semua murid terdiam.

Tiba-tiba HP bu Guru berdering.

Guru: “Ya hallo…”

HP : ‘Maaf bu, saya Mukidi. Jawabannya: Pasti Gajah

Apa yang bisa kita buat dengan Prolog untuk humor di atas?

Oke mari kita daftarkan semua fakta yang dianggap Mukidi hewan yang valid.

hewan("gajah").
hewan("dua gajah").
hewan("mungkin gajah").
hewan("jangan-jangan gajah").
hewan("pasti gajah").

Karena Bu Guru suka tebak-tebakan dengan huruf depan, maka kita bisa membuat predikat sebagai berikut:

huruf_depannya(HURUF, SUATU_KATA) :-  sub_string(SUATU_KATA, 0, 1, _, HURUF).

Inilah pertanyaan Ibu Guru jika disampaikan dalam bahasa Prolog:

?- hewan(Binatang), huruf_depannya("g", Binatang).
Binatang = "gajah"

Pertanyaan lainnya adalah sebagai berikut bisa kita lihat dari software SWI Prolog versi 7.2.3:

Img5

Pertanyaan dari Bu Guru

Gimana? Keren gak si Mukidi eh Prolog? Asyik ya?

Ok, humor terakhir:

MUKIDI PROFIL ANAK MUDA MASA DEPAN

Hari pertama waktu Mukidi dites baru masuk SD kelas 1 dia sudah protes sama Ibu Guru: “Bu, Saya seharusnya duduk di kelas 3.”

Bu Gurunya heran, “Kenapa kamu yakin begitu?”

Mukidi menjawab dengan mantap: ”Soalnya saya lebih pintar dari kakak saya yang sekarang kelas 3.”

Akhirnya Bu Guru membawa Mukidi ke ruang Kepala Sekolah. Setelah diceritakan oleh Bu Guru, Pak KepSek lansung mencoba menguji Mukidi dengan berbagai materi pelajaran murid kelas 3 SD.

Kepsek : “Berapa 16 dikali 26?”

Mukidi : “416.”

Kepsek : “Perang Diponegoro berlangsung tahun berapa?”

Mukidi : “1825-1830.”

Kepsek : “Siapa penemu lampu bohlam?”

Mukidi : “Thomas Alfa Edison ”

Kepsek : “Hewan yang memakan daging dan tumbuhan termasuk golongan apa?”

Mukidi : “Omnivora.”

Setelah beberapa pertanyaan, Pak Kepsek bilang ke Ibu Guru: “Kelihatannya Mukidi memang cerdas, saya rasa bisa masuk di kelas 3.”

Tapi Ibu Guru masih belum yakin. “Coba saya tes lagi Pak”, kata Bu Guru.

Ibu Guru : “Benda apakah yg huruf pertamanya K huruf terakhirnya L, yg bila dipakai menjadi tegang, dan setelah dipakai lemas?” (mendengar pertanyaan seperti itu Pak KepSek melongo kaget)

Mukidi : K…………L (jawab Mukidi mantab)

Ibu Guru : “OK, sekarang apakah yg huruf pertamanya M huruf terakhir K, di tengah benda itu ada kacangnya?” (Pak KepSek makin melongo sambil melap keringat di jidatnya)

Mukidi : M……….K!

Ibu Guru : “OK, berikutnya. Kegiatan apakah yang biasa dilakukan anak remaja di kamar mandi dengan gerakan yang berulang ulang? Huruf pertamanya M huruf terakhir I.” (Pak KepSek makin salah tingkah denger pertanyaan Bu Guru)

Mukidi : M…………….I

Ibu Guru : “Kegiatan apakah yg biasa dilakukan pria dan wanita yang lagi pacaran di malam hari, huruf pertamanya N huruf terakhir T.” (Pak kepSek nyaris pingsan ?? denger pertanyaan terakhir)

Mukidi : N………………T

Sebelum Bu Guru melanjutkan pertanyaan berikutnya, pak kepsek memotong,,,,     “Ibu Guru, Mukidi masukin ke Universitas aja. Saya yang lulusan S-2 aja salah terus nebaknya”

Berfikir Positif dan jadilah seperti Mukidi!

Ayo… apa jawaban keempat pertanyaan Mukidi di atas.. tulis di komentar yaaaa!

Mari berpaling sejenak dari demam Mukidi.
6 Prinsip Menjalani Hidup:

– Menerima rejeki apa adanya.

– Usaha sendiri untuk  memenuhi kebutuhan hidup.

– Kesempatan yang datang jangan pernah disia-siakan.

– Inginkan kebahagiaan hidup di atas harta.

– Demi keluarga sisihkan pekerjaan kita.

– Impian harus diraih dengan jalan yg baik.

Untuk mempermudah mengingat keenam prinsip hidup di atas, kita bisa buat singkatannya menjadi:
“MUKIDI” …

Transferring Address Book from Blackberry or Other Phone to Windows Phone (Lumia)

I just purchased a new phone since my Blackberry Torch 2 has problem with its internal (built in storage). This problem caused the phone  cannot be used since when it is restarted, it stopped when reaching 85% progress. iPhone 5 was first came to my mind (7 years ago I didn’t like iPhone but since I had iPad, I changed my mind), but because of it’s ridiculous price in Indonesian market, I need to look other alternative. Android is just like iPhone, cheaper but not better. I have 2 iPads and iPod Touch gGen #1. iPad 1 (my children has claimed it as theirs at home) and iPad 3 (for my daily business activity). If I took Android gadget (my wife has Galaxy Note), I will have a gadget with similar user interface like iPad. But definitely not better. No, I am not a fan boy. I am a gadget freak, and I believe I can judge quite objectively. iDevice is still the best gadget in the market in term of  the completeness of applications, simplicity, and responsive user interface. Until now, I can say I have no chemistry with Android as a user. As a developer, I would probably create an application in that platform. Blackberry Z10 has arrived. I went to Blackberry store and I found that RIM is trying to combine Windows 8 and iOS. But the GUI for me is pretty clumsy. No Whatsapp at the moment, we still need couple of months until it’s ready. So basically RIM hasn’t cooked its product well done yet. Ok, now time to compare with Lumia 920. I used to be a Nokia fans. Lumia 920 is claimed has a good camera with a responsive user interface. When I was at the Nokia store they sold it with a free wireless charger.  Since I have Acer Iconia and Lenovo Twist, both with Windows 8, I would like to try the new Nokia Win 8. It has offline map for driving (doesn’t has to connect to Internet).

Ok, now it’s time to transfer all of my contacts (thousands) from long time ago since I used Nokia and now it has merged in Blackberry contact. Actually it’s pretty easy to transfer the contacts. Basically I just sync your contacts to Microsoft Outlook, and export all contacts to CSV, and upload it to Microsoft People at http://people.live.com. Ensure that we have a microsoft account (hotmail, outlook, etc) and use the same account in Lumia. When I uploaded the file, it didn’t say error, it just return to Import screen. There must be something wrong with the file. So I discussed it with a fellow in Microsoft, and he suggested me to code a small tool to detect which line may causing the problem. In less than half of an hour I successfully made the tool and spot which line that causing the error. The problem is with all contacts that have notes. Since notes usually stored as memo, it has several lines. When using CSV, those lines will be treated just like a new record. That’s the problem. Microsoft actually should ignore all bad records and store the valid ones. This tool doesn’t correct the CSV but it will spot suspicious lines that may cause a problem when we try to import it.

Problem found

Problem found

After deleting unwanted records:

Looks Good

Looks Good

 

The algorithm is pretty straight forward. Iterate all records in the CSV file, if you spot suspicious character, show it in the memo result.

currentChar := UpperCase(Copy(list[i], j, 1))[1];
if Not (CharInSet(currentChar, ['0'..'9']) or CharInSet(currentChar, ['A'..'Z']) or
 CharInSet(currentChar, ['(', ')', '/', ',', '"', '-', '.', ' ', '@', '+', '_', '<', '>', ''''])) then
 begin
  mmResult.Lines.Add('Line : ' + VarToStr(i+1) + ' containing ' + QuotedStr(VarToStr(currentChar)) + ' : ' + list[i]);
 end;

You may download the tool here, with your own risk.

My Lumia look and feel:

Update #1 Aplikasi Siyandu (Sistem Informasi Posyandu)

Perbaikan #1 ini berisi :

  1. Perbaikan Tab Order (urutan fokus pada text edit pada penggunaan tab untuk berpindah dari satu isian ke isian berikutnya) pada form Data Individu tab Detail Individu
  2. Perbaikan query pada form Daftar Hadir Kegiatan. Query yang lama hanya akan menampilkan peserta posyandu apabila dia mengambil imunisasi dan suplemen. Jika ia tidak diimunisasi atau mendapatkan suplemen dia tidak akan muncul di Grid. Pada perbaikan ini peserta yang tidak diimunisasi atau tidak diberi suplemen akan tetap muncul
  3. Pada resolusi layar 1024 x 768 beberapa caption / teks pada tombol berdesakan. Diputuskan hanya menampilkan tombol penting saja untuk menu Imunisasi dan menu Suplemen

Ada dua cara untuk mengupdate aplikasi Posyandu ini:

  1. Install dari awal termasuk databasenya (download lebih besar) di sini
  2. Timpa / override file Posyandu.exe dengan versi yang terbaru (biasanya aplikasi secara default terinstal di C:\Program Files\Sistem Informasi Posyandu). Unduh exenya saja di sini

Beberapa tips dalam menggunakan aplikasi ini:

  1. Isi terlebih dahulu semua data individu / data anak terlebih dahulu
  2. Lengkapi data imunisasi dan data suplemen yang tersedia di posyandu
  3. Buat kegiatan posyandu baik yang sudah terjadi maupun akan dilaksanakan
  4. Lengkapi data hadir untuk setiap kegiatan dan update berita acara kegiatan posyandu
  5. Nama posyandu yang tercetak di footer pencetakan laporan bisa diganti di menu Konfigurasi

Terima kasih kepada para donatur yang sudah memberikan donasinya ya.

Aplikasi Sistem Informasi Posyandu ver 1.0

Alhamdulillah, akhirnya aplikasi Sistem Informasi Posyandu ver 1.0 selesai juga. Aplikasi ini sudah lama direncanakan namun baru selesai dikembangkan untuk versi pertamanya. Sempat dirombak di tengah jalan karena merasa ada yang “missed”, akhirnya ditulis ulang agar lebih sederhana dan harapannya mudah untuk dipergunakan dan ada manfaatnya untuk menunjang kesehatan masyarakat, khususnya bayi dan balita.

Aplikasi ini tercetus setelah melihat kesungguhan ibu-ibu kader Posyandu di kompleks perumahan saya tinggal dalam memberikan layanan kesehatan, yang dikomandoi Ibu RW, Ibu Rosilawati, istri dari Pak Andi Kristanto. Saya niatkan untuk membuatkan aplikasi untuk mendata semua bayi yang datang, dan mencatat kondisi anak serta imunisasi atau suplemen yang didapatkan pada saat kunjungan. Berat dan tinggi anak kemudian dibandingkan dengan standar berat dan tinggi yang informasinya saya dapatkan dari situs ini. Splash image dari aplikasi saya unduh dari sini.

Untuk mencobanya, Anda dapat mengunduh aplikasinya di sini. Double click aplikasinya, lalu pada saat diminta memasukkan password, masukkan password instalasinya.
Untuk mendapatkan password silakan bergabung ke milis Posyandu di sini. Password akan otomatis dikirimkan setelah Anda mengisi kuesioner untuk membantu pengembangan aplikasi gratis.

Berikut ini adalah tampilan aplikasinya:

Slideshow ini membutuhkan JavaScript.

Silakan diunduh dan dicoba. Anda bisa menggunakannya untuk mengontrol perkembangan anak Anda, atau bisa Anda berikan kepada kader posyandu terdekat Anda.

Hampir semua informasi dalam aplikasi ini bisa dicetak dan dapat digunakan untuk laporan ke dinas kesehatan terkait.

Selamat menggunakan, selamat menyehatkan masyarakat Indonesia!

Letterpress for iOS, a Brand New Word Game with Adrenalin

A new app, Letterpress,  just came from Apple Store, created by Loren Brichter who created the best Twitter App, called Twetie which is bought by Twitter. The game is totally addictive, you may need a few games for learning curve, and you know exactly how to win.

The rule is simple. You are given 5×5 letters without background color. Meaning, nobody owns them. You will play with exactly one opponent, you may invite him/her from Game Center, or the servers will pick one randomly for you. Once the letters being played to form a valid word based on their dictionary, the background of the letter will turn to either your or your opponents, depends who plays them. The game is over when all letters are used at least once. The winner is the one who owns more letters than his/her opponents. You may protect your own letter by surrounding it with your own other letters. All protected letters cannot be turned to the opponent when they are protected.

Tips for the game:

  1. Try not only form a long word (use as many as possible letters), but also think how to protect your own letters
  2. When there are few letters left being used, try to form a word long enough using those unclaimed letters with final amount of your letters more than your opponent has

As usual, after creating a helper application for Draw Something phenomenon in my earlier blog here, I updated the application so it can be used for Letterpress as well. Well, don’t use it if you don’t want to lose the excitement of playing the game! But if you insist, you can download the ‘helper’ here.

Letter Press in Action!

The pink letters are belong to my opponent but still can be turned when I use them. The red one cannot. It is protected.

Word Cruncher for Letterpress and Draw Something

This helper application comes with a dictionary.txt that contains words from internet. Since the Letterpress dictionary is different with this app’s, this helper sometimes cannot help you 🙂

You may group all words with the same length by dragging the header of the column (length) to upper area of the grid. Or you may filter it by clicking the pick column / combobox for length header.

Filtering the result by its length

Or you may filter all results with 8 in length and contains S and K, like this.

All words with S and K and 8 in length

Once again, don’t over use this helper app since it will ruin the excitement. Use your own brain, not the CPU 🙂

Euler 38 and Euler 41

Pandigital is easy with Python

We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once. For example, 2143 is a 4-digit pandigital and is also prime.

What is the largest n-digit pandigital prime that exists?

 

 

First puzzle solved using Python

Take the number 192 and multiply it by each of 1, 2, and 3:

192 × 1 = 192
192 × 2 = 384
192 × 3 = 576

By concatenating each product we get the 1 to 9 pandigital, 192384576. We will call 192384576 the concatenated product of 192 and (1,2,3)

The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4, and 5, giving the pandigital, 918273645, which is the concatenated product of 9 and (1,2,3,4,5).

What is the largest 1 to 9 pandigital 9-digit number that can be formed as the concatenated product of an integer with (1,2, … , n) where n > 1?

Misteri TObjectList

Kalau kebetulan menggunakan collection TObjectList, pastikan waktu create objectnya memperhatikan parameternya dengan baik. Kalau ingin memusnahkan masing-masing object di array sendiri, pastikan parameter Createnya diisi False. Jangan dibiarkan saja, karena defaultnya True. Kalau True maka asumsinya si TObjectList yang akan memusnahkan masing-masing objectnya. Sehingga kalau kita hanya panggil constructor Create tanpa parameter (which is dianggap kita tidak akan memusnahkan elemen di array secara manual) lalu kita panggil Free untuk TObjectListnya, dia akan upset. Sepertinya banyak programmer yang terjebak di sini. Mungkin desain TObjectList kurang benar. Seharusnya defaultnya bukan True, tetapi False.

Mau lihat contoh kodenya? Coba tengok di sini.

Untuk constructornya sendiri di Help bisa dilihat:

constructor Create(Collection; AOwnsObjects: Boolean = True);

 The AOwnsObjects parameter is a boolean that indicates whether object entries are owned by the list. If the object is owned, when the entry is removed from the list, the object is freed. The OwnsObjects property is set from the value of this parameter. The default is true.

Tulisan ini dibuat sebagai pengingat diri sendiri yang sudah 
dua kali terjatuh dalam jebakan yang sama, 
walau rentang waktunya memang sangat berjauhan. :D