Program Ramal Jodoh
Also published in a newsletter of the Department of Information Systems, Bina Nusantara University, December 2004.
[Jika ingin diramal, kunjungilah Ramal Jodoh.]
Begitu diminta untuk menulis artikel pemrograman untuk terbitan ini, saya langsung mencari tahu topik apa yang kira-kira paling diminati oleh mahasiswa, yaitu dengan mengamati popular searches pada Friendster. Hasilnya ternyata bukan “e-business” ataupun “corporate information systems”, melainkan “ramal jodoh”. Maka pada tulisan ini akan diberikan suatu program ramal jodoh.
Ramal jodoh bisa berdasarkan antara lain nama dan shio. Untuk ramalan nama, jika hasil ramalan tidak sesuai dengan yang diinginkan, bisa jadi nanti yang disalahkan adalah orang tua yang telah memberi nama. Sedangkan untuk ramalan shio, yang disalahkan cukup matahari dan rembulan. Jadi di sini dipilih yang berdasarkan shio, menuruti gambar-gambar di bawah ini (http://www.chineseastrology.com/wu/charts.html):
Pada gambar di sebelah kiri, garis-garis menghubungkan shio-shio yang sangat berjodoh; pada gambar di tengah, menghubungkan yang sangat tidak berjodoh; pada gambar di sebelah kanan, yang hampir mendatar menghubungkan yang sangat berjodoh, sedangkan yang hampir tegak menghubungkan yang sangat tidak berjodoh. Sebetulnya saya berharap bahwa Kambing dan Naga sangat berjodoh, sebab saya penggemar Shrek. Apa boleh buat. Namun setidaknya mereka bukannya sangat tidak berjodoh.
Untuk menentukan shio seseorang, selain tanggal lahir, perlu juga diketahui tanggal jatuhnya Tahun Baru Imlek pada tahun lahir. Misalnya seseorang lahir pada tahun 1980. Jika ia lahir pada atau setelah Tahun Baru Imlek tanggal 16 Februari, ia bershio Monyet, sedangkan jika tidak, ia bershio Kambing. Daftar Tahun Baru Imlek bisa didapatkan antara lain di http://www.chineseastrologyonline.com/NewYears.htm
Kode program ditulis dalam Java dan tercantum di bagian akhir artikel ini. Dalam kode tersebut, perhitungan ramal jodoh dinyatakan sebagai static methods dalam suatu class—ini adalah trik yang berguna jika kita ingin mengelompokkan fungsi-fungsi pembantu dalam kode berorientasi objek yang kita buat. Meskipun tabel Tahun Baru Imlek dalam class hanya meliputi 1970-1990, sehingga berlakunya perhitungan juga terbatas pada tahun-tahun tersebut, dengan mudah tabel ini dapat diperluas. Class ini kemudian dicoba dengan menggunakan user interface berbasis teks, demi ringkasnya kode. Berikut contoh dialog program:
Tanggal lahir kamu (dd/mm/yy): 15/2/84
Tanggal lahir dia (dd/mm/yy): 15/2/80
Tikus dan Kambing
Berakhir di pengadilan
Saya merasa perlu mengatakan bahwa saya sendiri tidak percaya pada ramalan shio. Menurut ramalan shio, orang-orang yang bershio seperti saya memang tidak percaya pada hal-hal seperti itu.
/*
* Shio.java
* Copyright (c) 2004 Lucky E. Santoso. All Rights Reserved.
*/
import java.util.*;
import java.text.*;
public class Shio {
/*
* Tabel Tahun Baru Imlek dapat dengan mudah diperluas dengan
* memodifikasi dataImlek dan TAHUN_MIN
*/
private static String[] dataImlek = {
"2/6", "1/27", "2/15", "2/3", "1/23", "2/11", "1/31", "2/18",
"2/7", "1/28", "2/16", "2/5", "1/25", "2/13", "2/2", "2/20",
"2/9", "1/29", "2/17", "2/6", "1/27"
};
private static final int TAHUN_MIN = 1970;
private static final int TAHUN_MAX = TAHUN_MIN + dataImlek.length;
private static Calendar[] imlek = new Calendar[dataImlek.length];
private static String[] namaShio = {
"Tikus", "Kerbau", "Macan", "Kelinci", "Naga", "Ular",
"Kuda", "Kambing", "Monyet", "Ayam", "Anjing", "Babi"
};
public static final int SANGAT_TIDAK_BERJODOH = 0;
public static final int TIDAK_ADA_KOMENTAR = 1;
public static final int SANGAT_BERJODOH = 2;
static { /* static initialization */
SimpleDateFormat format = new SimpleDateFormat("MM/dd");
for (int i = 0; i < imlek.length; i++) try {
imlek[i] = new GregorianCalendar();
imlek[i].setTime(format.parse(dataImlek[i]));
imlek[i].set(Calendar.YEAR, TAHUN_MIN + i);
} catch (Exception e) {}
}
private Shio() {} /* mencegah pembentukan object */
public static int getShio(Date tanggalLahir) {
Calendar lahir = new GregorianCalendar();
lahir.setTime(tanggalLahir);
int tahunLahir = lahir.get(Calendar.YEAR);
if (tahunLahir < TAHUN_MIN || tahunLahir >= TAHUN_MAX) return -1;
if (lahir.before(imlek[tahunLahir - TAHUN_MIN])) tahunLahir--;
return (tahunLahir + 8) % 12;
}
public static String getNamaShio(int shio) {
if (shio < 0 || shio >= 12) return null;
return namaShio[shio];
}
public static int ramalJodoh(int shio1, int shio2) {
if (shio1 < 0 || shio1 >= 12) return -1;
if (shio2 < 0 || shio2 >= 12) return -1;
if (Math.abs(shio1 - shio2) == 4) return SANGAT_BERJODOH;
if (Math.abs(shio1 - shio2) == 8) return SANGAT_BERJODOH;
if (Math.abs(shio1 - shio2) == 6) return SANGAT_TIDAK_BERJODOH;
if ((shio1 + shio2) % 12 == 1) return SANGAT_BERJODOH;
if ((shio1 + shio2) % 12 == 7) return SANGAT_TIDAK_BERJODOH;
return TIDAK_ADA_KOMENTAR;
}
}
/*
* DemoShio.java
* Copyright (c) 2004 Lucky E. Santoso. All Rights Reserved.
*/
import java.text.*;
import java.io.*;
public class DemoShio {
public static void main(String[] args) throws Exception {
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(reader);
System.out.print("Tanggal lahir kamu (dd/mm/yy): ");
String tanggalLahirKamu = in.readLine();
System.out.print("Tanggal lahir dia (dd/mm/yy): ");
String tanggalLahirDia = in.readLine();
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yy");
int shioKamu = Shio.getShio(format.parse(tanggalLahirKamu));
int shioDia = Shio.getShio(format.parse(tanggalLahirDia));
System.out.println(Shio.getNamaShio(shioKamu) + " dan "
+ Shio.getNamaShio(shioDia));
int hasilRamalan = Shio.ramalJodoh(shioKamu, shioDia);
if (hasilRamalan == Shio.SANGAT_BERJODOH) {
System.out.println("Berakhir seperti dongeng anak-anak");
} else if (hasilRamalan == Shio.SANGAT_TIDAK_BERJODOH) {
System.out.println("Berakhir di pengadilan");
}
}
}


January 27, 2007 at 12:39 am
saya ingin bertanya, saya menyukai seorang gadis bernama Lamsari Simatupang dia kelahiran tanggal 13 November 198. sungguh saya sangat menyukai, manyayangi dan mencintainya. Tepat 2 minggu bulan puasa agama islam tahun 2006 saya mencoba untuk mengatakan cinta kepadanya.tapi ditolak dengan halus dan saya memaksanya dan akhirnya fatal akibat. tapi setelah itu dia sering mencari saya melalui teman2 saya tapi sewaktu saya ingin temui dia malah buang muka dan ketika saya dimelihatnya di malah memperhatikan saya.Jadi bantu saya apa saya berjodoh dengan dia MOHON DIBANTU
February 1, 2007 at 4:07 pm
TOLONG RAMAL PERUNTUNGAN SAYA BISNIS SAYA DAN LAINNYA
February 7, 2007 at 5:54 pm
Bung Hendry dan rekan-rekan lain, saya sudah buat alat ramal jodoh (berbasis-AJAX) berdasarkan artikel ini. Silakan kunjungi.
Bung Suherman, jika ada waktu, saya ingin juga membuat alat ramal untuk bisnis dan yang lainnya.
February 9, 2007 at 7:06 pm
hi mau nanya co shio kelinci, taurus dgn ce ular, cancer cocok dak,
dan bagaimana karir dan segala hal shio kelinci taurus tahun 2007
February 9, 2007 at 8:17 pm
Bung Hermanto dan rekan-rekan lain, silakan kunjungi dan pakai alat ramal jodoh yang sudah saya buat berdasarkan artikel ini. Maaf, untuk sementara ini baru layanan itu yang bisa saya berikan.
February 11, 2007 at 9:08 pm
saya lahir di tahun kambing 1967, bagaimana peruntungan saya
ditahun 2007 ini. terima kasih
February 12, 2007 at 5:38 pm
Zus Carolina dan rekan-rekan lain, banyak loh situs yang khusus membahas soal itu, misalnya situs ini.
February 17, 2007 at 6:55 pm
boleh di kasi tahu apa maksud dari fungsi static pada java
February 18, 2007 at 2:24 pm
Sepemahaman saya, fungsi static (static method) yang dinyatakan dalam suatu class adalah method yang dimiliki oleh class tersebut, bukan oleh objek-objek dari class tersebut. Satu implikasinya adalah bahwa tanpa pembentukan objek pun kita tetap dapat mengakses method tersebut (mis. Shio.getShio()). Static methods ini ibarat global functions pada pemrograman jaman dahulu kala: sebetulnya tidak terlalu sesuai dengan semangat berorientasi objek.
February 20, 2007 at 12:36 pm
hai mau nanya nie klo shio ayam ma shio tikus cocok berjodoh ga ?bagaimana di tahun 2007 ini ?
February 20, 2007 at 1:21 pm
sy suka ma co tp kita udah pisah kurang lebih setahun, masih ada kemungkinan untuk kembali lagi ga? oh ya aq ce taurus sementara dia capricorn, tolong diramal ya! thx
February 20, 2007 at 10:48 pm
Bung Trisna, Zus Deanne, dan rekan-rekan lain, banyak loh halaman Web yang membahas ramalan menurut zodiak Barat, misalnya http://astrology.about.com/od/sunsignlove/a/compatiblesigns.htm
Untuk ramalan menurut shio, salah satunya adalah http://www.lesantoso.com/tools/ramal-jodoh/ .
February 21, 2007 at 8:41 am
bos saya mau tau yg cocok dengan shio kelinji itu shio apa
saya lahir 13 maret 1975 ths bos
February 22, 2007 at 3:16 pm
Bung Albertus, kelinci/rabbit bisa dipertukarkan dengan kucing/cat (Bisa dicek misalnya di sini). Kebetulan dalam sumber yang dipakai di artikel ini, istilah kucing yang dipakai. Semoga membantu.
Bisa juga eksperimen dengan menggunakan http://www.lesantoso.com/tools/ramal-jodoh/ .
February 23, 2007 at 12:47 pm
saya lahir tgl 15 juli 1978 skrg ini sy sdg ada mslh dg pacar sy,apa kira2 thn ini kami akan menikah? tolong ramalin yah….
February 23, 2007 at 3:06 pm
sy baru 5 bln pisah ma pacar, awalnya sy pikir dia the last man. eh ditengah jalan malah bubar, kta dia nga cocok karna karakter qta yg beda bgt. sy bintangnya libra 16101975 sedangkan dia scorpio 27101975. ada kemungkinan balik lagi apa nga yach. please aku diramalin, jodoh ma rejeki sy di taon 2007 gimana?. thx ya
February 24, 2007 at 2:58 pm
nama saya liliana shio macan lahir 1 agustus 1986
bagaimana mengenai ramalan kehidupan, asmara, kuliah, keuangan di tahun babi ini
terima kasih
February 24, 2007 at 5:06 pm
kalo mau tau ramalan shio dimana, tp berbahasa indonesia
February 27, 2007 at 4:59 pm
Zus Ida, Zus Herti, Zus Ana, Zus Eka, dan rekan-rekan lain, banyak loh halaman Web yang membahas ramalan kompatibilitas menurut zodiak Barat, misalnya situs ini (berbahasa Inggris).
Untuk ramalan menurut shio, atau sekedar cari tahu Anda bershio apa, salah satunya adalah http://www.lesantoso.com/tools/ramal-jodoh/ (berbahasa Indonesia).
Halaman Web yang membahas ramalan peruntungan di tahun ini antara lain adalah situs ini (berbahasa Inggris).
March 9, 2007 at 11:09 am
ramal jodoh dan pekerjaan
March 9, 2007 at 9:04 pm
saya lahir tanggal 18 february 1979 yg ingin tanyakan adalah ttg jodoh dan peruntungan saya, terutama dalam bidang keuangan.
emang sih skr ini lg ada deket sama cowok,tp aku msh blm yakin dengan dia. berhubung baru aja kenalan jadi aku juga gak tau orangnya gimana…
please…kasi tau ya Boss….thanks ya…
March 10, 2007 at 2:19 am
Untuk ramalan kompatibilitas silakan coba:
http://www.lesantoso.com/tools/ramal-jodoh/
March 12, 2007 at 9:08 am
SAYA LAHIR 12 APRIL 1971 APAKAH DITAHUN INI SAYA BISA MENDAPATKAN JODOH SAYA
March 15, 2007 at 11:15 am
saya lahir tanggal 30 juni 1982,sekarang saya sudah memasuki umur 25tahun,dan bagi seorang wanita sudah sangat matang bila menginjak kejenjang pernikahan,dan itu ada dalam diri saya,saya sangat berharap ditahun ini atau paling lambat tahun depan saya segerah menikah.saat ini saya sedang dekat dengan seorang laki2 yang lahir tanggal 04 juli 1983,apakah dia cocok untuk dijadikan pendamping hidup saya?yang saya ingin tanyakan apakah jodah saya ditahun ini atau ditahun depan sudah ada?terus laki2 yang seperti apa yang cocok untuk mendampingi hidup saya?bagai mana pula karier dan keuangan saya?terimakasih atas jawaban nya.
March 15, 2007 at 11:47 am
Zus Riana dan Zus Fenni, untuk ramalan kompatibilitas silakan coba:
http://www.lesantoso.com/tools/ramal-jodoh/
Untuk ramalan peruntungan di tahun ini bisa dicek antara lain situs ini.
March 18, 2007 at 9:33 pm
saya lahir 24 April 1981, kekasih saya Widiyanti Rahayu lahir 19 Januari 1983. Bagaimanakah perjodohan kami???
March 18, 2007 at 9:34 pm
Saya lahir 24 April 1981 bagaimanakah peruntungan saya di tahun ini??? Terima kasih
March 26, 2007 at 4:06 pm
mau tanya saya lahir di tahun kerbau air. tahun ini kalau saya buka usaha bagus tidak?
March 28, 2007 at 8:50 pm
nama saya jannatul makwa umur saya 20 tahun. saya lahir 18 april 1986 saya punya cowok namanya rizal novarianto. dia lahir 19 november 1986. yang saya ingin tanyakan apakah saya berjodoh dan bisa sampai nikah dengan dia. soalnya dia itu orangnya genit dan gampang di goda cewek. dia juga susah untuk menjadi orang yang setia.
March 31, 2007 at 3:00 pm
Bung Ario, Zus Mercy, Zus Jannatul, dan rekan-rekan lain, untuk ramalan jodoh silakan coba:
http://www.lesantoso.com/tools/ramal-jodoh/
Untuk ramalan peruntungan di tahun ini bisa dicek antara lain di situs ini.
April 8, 2007 at 6:54 pm
4 tahun terakhir ini sy dekat dengan seorang pria. usia kita beda 5 tahun. sy cewek aries kelahiran 11 april 1984 sementara pacar saya cowok sagitarius kelhiran 05 desember 1979. apakah hubungan kita langgeng sampai ke perkawinan? apakah hubungan sy dengan dia untuk selama-lamanya sampai kakek nenek?trus gimana dengan rejeki? trima kasih sebelumnya
April 17, 2007 at 8:24 pm
saya lahir 2 april 1988 dan pacar saya 17 juli 1987.bagaimana dengan perjodohan kami?thx…
April 18, 2007 at 2:12 pm
minta tlg ramalin donk,aq 25 ajn 1986 n calonku 25 nov 1975.q tunggu yaaa
April 19, 2007 at 12:49 pm
saya lahir 27 decem 1986 dan pasangan saya 13 september 1978, apakah tahun ini kami bisa married ? apa saya serasi saya dia ? tolong di jawab yach ?
April 20, 2007 at 3:39 pm
Mohon untuk diramal tanggal yang cocok untuk pernikahan
Ary Kusumawati lahir tanggal 12 Februari 1981
Imam Muhtadin lahir tanggal 23 Juni 1980
April 21, 2007 at 1:19 am
Untuk ramalan jodoh silakan coba:
http://www.lesantoso.com/tools/ramal-jodoh/
Jika ada waktu, saya ingin juga membuat alat ramal untuk tanggal pernikahan dan occassions yang lain.
May 19, 2007 at 11:34 am
Maaf Pak, Saya Anak RPL sebuah Sekolah Menengah Kejuruan Negeri,,, Untuk Belajar saya ingin Membuat Program Shio dengan Visual C++, Tapi untuk mencari source Kode Programnya Susah? Jadi Mohon Bantuannya untuk Mengirimkan Source Kode Shio yang diprogram Visual C++ ke Email Saya. Sebelumny Terima Kasih Banyak
May 19, 2007 at 6:16 pm
Hi Surya, banyak kemiripan antara Java dengan C++ (karena Java dibuat berdasarkan C++), jadi saya percaya bahwa source code Java yang ada pada artikel ini bisa membantu you dalam membuat program itu.
July 6, 2007 at 8:13 pm
Cukup banyak pengunjung memberikan komentar untuk artikel “Program Ramal Jodoh” ini. Terima kasih, tapi sayang sekali kebanyakan komentar itu tidak relevan. Cape deh. Karena itu terpaksa fasilitas komentar untuk artikel ini saya tutup.