SlideShare a Scribd company logo
1 of 14
{Program ini ditulis oleh Tri R.A Wibowo dengan data dari buku quot;Misteri Namaquot;
 karya Abdul Hadi Sudiro. Source code bisa dipublikasikan dengan bebas tanpa
 izin tertulis dari penulis, tapi nama penulis harus disebutkan dalam setiap
 publikasi kode}

Program Misteri_Nama;
uses wincrt,strings,windos,wintypes,winprocs;
type
           TPoint = record {Tpoint masuk ke dalam wintypes}
           x: Integer;
           y: Integer;
           end;
var
           nama,jml,tot,tots : string;
   resp,lagi: char;
   ii,jj,kk,total,a,b,tot1,tot2,sum: integer;
   ni: array[1..50] of integer;
           poin:array[1..4] of integer;
const
           text = 'Tidak bernilai';
   nilh:array[1..26] of integer=(1,2,3,4,5,6,7,8,9,600,10,20,30,40,50,60,70,80,90,100,200,700,1400,300,400,500);
           teks:array[1..78]                of           string=('Kegemaran;bernafsu;nafsu                  mengejar
kehormatan','Kerusakan;kebinasaan;mati',
                                                                   'Agama;kepercayaan;tujuan                     pada
roh','Keteguhan;kebijaksanaan;pengaruh;kekuasaan;tetap',
                                                                   'Kebahagiaan;kehormatan;pernikahan','Pekerjaa
n;sempurna',
                                                                   'Jalannya
penghidupan;ketentraman;kemerdekaan;kebahagiaan;kesempurnaan',
                                                                   'Perasaan                                  kepada
perikeadilan','Kesedihan;kekurangsempurnaan',
                                                                   'Berhasil;kepandaian;keberuntungan                di
kemudian hari',
                                                                   'Cacat;keributan;hukuman;melupakan
kewajiban;sakit;pengharapan',
                                                                   'Alamat       baik','Durjana       dan        tidak
beribadat','Pengorbanan','Ibadah;kebaikan;kesopanan',
                                                                   'Kecintaan dan kebahagiaan','Kecelakaan dan
tabiat pelupa','Kekejaman','Kebodohan',
                                                                   'Bengis;ketus;kedukaan','Kebijaksanaan;pencipt
aan;kegaiban','Hukuman;pembalasan tuhan',
                                                                   'Tidak berpengetahuan tentang agama','Satu
perjalanan melancong',
                                                                   'Kecerdasan;pikiran;satu      kelahiran','Pertanda
baik dan berfaidah','Gagah dan tabah',
                                                                   'Semboyan                   dan                sifat
kecintaan','Surat','Kemasyhuran dan pernikahan',
                                                                   'Nafsu       gemar         kemasyhuran          dan
kebajikan','Pernikahan','Ketelitian yang melewati batas',
                                                                   'Sengsara;sakit;penyakit otak miring','Kesehatan
dan rukun',
                                                                   'Kepandaian              luar           biasa;otak
cemerlang;pengetahuan luas','Hidup manis dalam rumah tangga',
                                                                   'Cacat;tidak sempurna;pelit;pecemburu','Gemar
pujian',
                                                                   'Pesta;keramaian;sukacita;pernikahan','Kenistaa
n umum','Umur pendek;hidup tak bahagia',
                                                                   'Upacara;agama;pendeta','Pengaruh;kekuasaan
;kebagusan','Isi negeri','Kemakmuran',
'Hidup                   lama          dan
bahagia','Pengadilan;hakim;vonis','Serakah akan uang',
                                                                     'Pengampunan;pelepasan;kemerdekaan','Tercer
ai dari pasangan',
                                                              'Semangat
bergerak;pengetahuan;keindahan','Dunia','Pengampunan;penyesalan;pertobatan',
                                                              'Kesembuhan','Ahli           dalam       ilmu
seni','Silau;kesesatan;kedukaan','Berkah dari yang maha agung',
                                                              'Semangat           patriot;gemar       akan
kebagusan','Ragu-ragu','Kesengsaraan',
                                                              'Sentosa;kepercayaan;menyukai            ilmu
pengetahuan','Titah utusan tuhan',
                                                              'Pengharapan                              dan
keadilan','Rumah;rombongan;berkawan','Menyukai ilmu perbintangan',
                                                              'Perjalanan        yang         lama      dan
melelahkan','Pendeta dan agama','Kesucian','Sempurna dan baik',
                                                              'Kejahatan;persekutuan;permusuhan','Tenaga
dan kekuatan',
                                                              'Keangkeran;pengaruh;pemerintahan;kekuasaa
n','Peperangan;pertempuran;pergulatan',
                                                              'Sifat              pengasih              dan
pengampun','Pendiam','Gangguan','Pengejaran dan pendakwaan');

function kapital(nama:string):string;
begin
        if (nama[1] >= 'a') and (nama[1] <= 'z') then {Ini mengapitalkan huruf kecil}
                  dec(nama[1],32);
        for ii:=2 to length(nama) do
        begin
                  if (nama[ii] >= 'A') and (nama[ii] <= 'Z') then {Ini mengecilkan huruf kapital}
                           inc(nama[ii],32);
        end;
        for ii:=2 to (length(nama) - 1) do
        begin
                  if (nama[ii] = ' ') then
                  begin
                           jj:=ii;
                           if (nama[jj + 1] >= 'a') and (nama[jj + 1] >= 'z') then
                                      dec(nama[jj + 1],32);
                  end;
        end;
        kapital:=nama;
end;

procedure reckoner(var total:integer);
begin
       if total > 1390 then
       begin
                 str(total,jml); {total:integer; jml:string}
                 kk:=length(jml);
                 tot:=copy(jml,kk-2,3);
                 val(tot,total,a);
                 writeln(' => ',total);
       end;
end;

procedure list(total:integer);
begin
       clrscr;
str(total,jml);
kk:=length(jml);
val(jml,total,a);
writeln('Hasil dari nama ',kapital(nama),' adalah sebagai berikut:');
writeln;
if kk = 1 then
begin
          case total of
          1: writeln('1 = ',teks[1]);
          2: writeln('2 = ',teks[2]);
          3: writeln('3 = ',teks[3]);
          4: writeln('4 = ',teks[4]);
          5: writeln('5 = ',teks[5]);
          6: writeln('6 = ',teks[6]);
          7: writeln('7 = ',teks[7]);
          8: writeln('8 = ',teks[8]);
          9: writeln('9 = ',teks[9]);
          end;
end
else if kk = 2 then
begin
          tot:=copy(jml,2,1);
          val(tot,sum,a);
          case sum of
          1:       begin
                             writeln('1 = ',teks[1]);
                             poin[2]:=1; {digit sebelah kanan. Contoh: 5[1]}
                   end;
          2:       begin
                             writeln('2 = ',teks[2]);
                             poin[2]:=2;
                   end;
          3:       begin
                             writeln('3 = ',teks[3]);
                             poin[2]:=3;
                   end;
          4:       begin
                             writeln('4 = ',teks[4]);
                             poin[2]:=4;
                   end;
          5:       begin
                             writeln('5 = ',teks[5]);
                             poin[2]:=5;
                   end;
          6:       begin
                             writeln('6 = ',teks[6]);
                             poin[2]:=6;
                   end;
          7:       begin
                             writeln('7 = ',teks[7]);
                             poin[2]:=7;
                   end;
          8:       begin
                             writeln('8 = ',teks[8]);
                             poin[2]:=8;
                   end;
          9:       begin
                             writeln('9 = ',teks[9]);
                             poin[2]:=9;
end;
0:      begin
                 writeln('0 = ',text);
                 poin[2]:=0;
          end;
end;
for ii:=1 to 2 do
begin
          tot:=copy(jml,1,ii);
          val(tot,sum,a);
          case sum of
          1:       begin
                           writeln('10 = ',teks[10]);
                           poin[ii]:=1; {digit sebelah kiri. Contoh: [5]1}
                   end;
          2:       begin
                           writeln('20 = ',teks[20]);
                           poin[ii]:=2;
                   end;
          3:       begin
                           writeln('30 = ',teks[30]);
                           poin[ii]:=3;
                   end;
          4:       begin
                           writeln('40 = ',teks[40]);
                           poin[ii]:=4;
                   end;
          5:       begin
                           writeln('50 = ',teks[50]);
                           poin[ii]:=5;
                   end;
          6:       begin
                           writeln('60 = ',teks[51]);
                           poin[ii]:=6;
                   end;
          7:       begin
                           writeln('70 = ',teks[52]);
                           poin[ii]:=7;
                   end;
          8:       begin
                           writeln('80 = ',teks[55]);
                           poin[ii]:=8;
                   end;
          9:       begin
                           writeln('90 = ',teks[57]);
                           poin[ii]:=9;
                   end;
          11: writeln('11 = ',teks[11]);
          12: writeln('12 = ',teks[12]);
          13: writeln('13 = ',teks[13]);
          14: writeln('14 = ',teks[14]);
          15: writeln('15 = ',teks[15]);
          16: writeln('16 = ',teks[16]);
          17: writeln('17 = ',teks[17]);
          18: writeln('18 = ',teks[18]);
          19: writeln('19 = ',teks[19]);
          21: writeln('21 = ',teks[21]);
          22: writeln('22 = ',teks[22]);
          23: writeln('23 = ',teks[23]);
24: writeln('24 = ',teks[24]);
                       25: writeln('25 = ',teks[25]);
                       26: writeln('26 = ',teks[26]);
                       27: writeln('27 = ',teks[27]);
                       28: writeln('28 = ',teks[28]);
                       29: writeln('29 = ',teks[29]);
                       31: writeln('31 = ',teks[31]);
                       32: writeln('32 = ',teks[32]);
                       33: writeln('33 = ',teks[33]);
                       34: writeln('34 = ',teks[34]);
                       35: writeln('35 = ',teks[35]);
                       36: writeln('36 = ',teks[36]);
                       37: writeln('37 = ',teks[37]);
                       38: writeln('38 = ',teks[38]);
                       39: writeln('39 = ',teks[39]);
                       41: writeln('41 = ',teks[41]);
                       42: writeln('42 = ',teks[42]);
                       43: writeln('43 = ',teks[43]);
                       44: writeln('44 = ',teks[44]);
                       45: writeln('45 = ',teks[45]);
                       46: writeln('46 = ',teks[46]);
                       47: writeln('47 = ',teks[47]);
                       48: writeln('48 = ',teks[48]);
                       49: writeln('49 = ',teks[49]);
                       75: writeln('75 = ',teks[53]);
                       77: writeln('77 = ',teks[54]);
                       81: writeln('81 = ',teks[56]);
                       end;
                 end;
                 writeln;
                 writeln(poin[1],' + ',poin[2],' = ',poin[1] + poin[2],' => ',teks[poin[1] + poin[2]]);
                 str(poin[1] + poin[2],jml);
                 if length(jml) = 2 then {misalkan jml = '14'}
                 begin
                          tot:=copy(jml,1,1); {berarti tot = '1'}
                          tots:=copy(jml,2,1); {dan tots = '4'}
                          val(tot,tot1,a); {Fungsi val mengubah tot & tots yang merupakan string menjadi tot1 &
tot2 yang merupakan integer}
                          val(tots,tot2,a);
                          writeln(tot1,' + ',tot2,' = ',tot1 + tot2,' => ',teks[tot1 + tot2]);
                 end;
        end
        else if kk = 3 then
        begin
                 tot:=copy(jml,3,1);
                 val(tot,sum,a);
                 case sum of
                 1:       begin
                                   writeln('1 = ',teks[1]);
                                   poin[3]:=1; {digit sebelah kanan. Contoh: 39[1]}
                          end;
                 2:       begin
                                   writeln('2 = ',teks[2]);
                                   poin[3]:=2;
                          end;
                 3:       begin
                                   writeln('3 = ',teks[3]);
                                   poin[3]:=3;
                          end;
4:      begin
                writeln('4 = ',teks[4]);
                poin[3]:=4;
        end;
5:      begin
                writeln('5 = ',teks[5]);
                poin[3]:=5;
        end;
6:      begin
                writeln('6 = ',teks[6]);
                poin[3]:=6;
        end;
7:      begin
                writeln('7 = ',teks[7]);
                poin[3]:=7;
        end;
8:      begin
                writeln('8 = ',teks[8]);
                poin[3]:=8;
        end;
9:      begin
                writeln('9 = ',teks[9]);
                poin[3]:=9;
        end;
0:      begin
                writeln('0 = ',text);
                poin[3]:=0;
         end;
end;
tot:=copy(jml,2,1);
val(tot,sum,a);
case sum of
1:       begin
                writeln('10 = ',teks[10]);
                poin[2]:=1; {digit di tengah. Contoh: 3[9]1}
         end;
2:       begin
                writeln('20 = ',teks[20]);
                poin[2]:=2;
         end;
3:       begin
                writeln('30 = ',teks[30]);
                poin[2]:=3;
         end;
4:       begin
                writeln('40 = ',teks[40]);
                poin[2]:=4;
         end;
5:       begin
                writeln('50 = ',teks[50]);
                poin[2]:=5;
         end;
6:       begin
                writeln('60 = ',teks[51]);
                poin[2]:=6;
         end;
7:       begin
                writeln('70 = ',teks[52]);
                poin[2]:=7;
end;
8:      begin
                writeln('80 = ',teks[55]);
                poin[2]:=8;
        end;
9:      begin
                writeln('90 = ',teks[57]);
                poin[2]:=9;
        end;
0:      begin
                writeln('0 = ',text);
                poin[2]:=0;
         end;
end;
tot:=copy(jml,1,1);
val(tot,sum,a);
case sum of
1:       begin
                writeln('100 = ',teks[58]);
                poin[1]:=1; {digit sebelah kiri. Contoh: [3]91}
         end;
2:       begin
                writeln('200 = ',teks[60]);
                poin[1]:=2;
         end;
3:       begin
                writeln('300 = ',teks[62]);
                poin[1]:=3;
         end;
4:       begin
                writeln('400 = ',teks[67]);
                poin[1]:=4;
         end;
5:       begin
                writeln('500 = ',teks[69]);
                poin[1]:=5;
         end;
6:       begin
                writeln('600 = ',teks[70]);
                poin[1]:=6;
         end;
7:       begin
                writeln('700 = ',teks[72]);
                poin[1]:=7;
         end;
8:       begin
                writeln('800 = ',teks[73]);
                poin[1]:=8;
         end;
9:       begin
                writeln('900 = ',teks[74]);
                poin[1]:=9;
         end;
end;
case total of
100:writeln('100 = ',teks[58]);
120:writeln('120 = ',teks[59]);
200:writeln('200 = ',teks[60]);
215:writeln('215 = ',teks[61]);
300:writeln('300 = ',teks[62]);
               318:writeln('318 = ',teks[63]);
               350:writeln('350 = ',teks[64]);
               360:writeln('360 = ',teks[65]);
               365:writeln('365 = ',teks[66]);
               400:writeln('400 = ',teks[67]);
               490:writeln('490 = ',teks[68]);
               500:writeln('500 = ',teks[69]);
               600:writeln('600 = ',teks[70]);
               666:writeln('666 = ',teks[71]);
               700:writeln('700 = ',teks[72]);
               800:writeln('800 = ',teks[73]);
               900:writeln('900 = ',teks[74]);
               end;
               writeln;
               writeln(poin[1],' + ',poin[2],' + ',poin[3],' = ',poin[1] + poin[2] + poin[3],' => ',teks[poin[1] + poin[2] +
poin[3]]);
                 str(poin[1] + poin[2] + poin[3],jml);
                 if length(jml) = 2 then {misalkan jml = '27'}
                 begin
                          tot:=copy(jml,1,1); {berarti tot = '2'}
                          tots:=copy(jml,2,1); {dan tots = '7'}
                          val(tot,tot1,a); {Fungsi val mengubah tot & tots yang merupakan string menjadi tot1 &
tot2 yang merupakan integer}
                          val(tots,tot2,a);
                          writeln(tot1,' + ',tot2,' = ',tot1 + tot2,' => ',teks[tot1 + tot2]);
                 end;
        end
        else {Jika kk bukan 1, 2, ataupun 3}
        begin
                 tot:=copy(jml,4,1); {Digit sebelah kanan. Contoh: 139[0]}
                 val(tot,sum,a);
                 case sum of
                 1:       begin
                                   writeln('1 = ',teks[1]);
                                   poin[4]:=1;
                          end;
                 2:       begin
                                   writeln('2 = ',teks[2]);
                                   poin[4]:=2;
                          end;
                 3:       begin
                                   writeln('3 = ',teks[3]);
                                   poin[4]:=3;
                          end;
                 4:       begin
                                   writeln('4 = ',teks[4]);
                                   poin[4]:=4;
                          end;
                 5:       begin
                                   writeln('5 = ',teks[5]);
                                   poin[4]:=5;
                          end;
                 6:       begin
                                   writeln('6 = ',teks[6]);
                                   poin[4]:=6;
                          end;
                 7:       begin
                                   writeln('7 = ',teks[7]);
poin[4]:=7;
        end;
8:      begin
                writeln('8 = ',teks[8]);
                poin[4]:=8;
        end;
9:      begin
                writeln('9 = ',teks[9]);
                poin[4]:=9;
        end;
0:      begin
                writeln('0 = ',text);
                poin[4]:=0;
         end;
end;
tot:=copy(jml,3,1); {digit kedua dari kanan. Contoh: 13[9]0}
val(tot,sum,a);
case sum of
1:       begin
                writeln('10 = ',teks[10]);
                poin[3]:=1;
         end;
2:       begin
                writeln('20 = ',teks[20]);
                poin[3]:=2;
         end;
3:       begin
                writeln('30 = ',teks[30]);
                poin[3]:=3;
         end;
4:       begin
                writeln('40 = ',teks[40]);
                poin[3]:=4;
         end;
5:       begin
                writeln('50 = ',teks[50]);
                poin[3]:=5;
         end;
6:       begin
                writeln('60 = ',teks[51]);
                poin[3]:=6;
         end;
7:       begin
                writeln('70 = ',teks[52]);
                poin[3]:=7;
         end;
8:       begin
                writeln('80 = ',teks[55]);
                poin[3]:=8;
         end;
9:       begin
                writeln('90 = ',teks[57]);
                poin[3]:=9;
         end;
0:       begin
                writeln('0 = ',text);
                poin[3]:=0;
         end;
end;
tot:=copy(jml,2,1); {digit kedua dari kiri. Contoh: 1[3]90}
val(tot,sum,a);
case sum of
1:       begin
                  writeln('100 = ',teks[58]);
                  poin[2]:=1;
         end;
2:       begin
                  writeln('200 = ',teks[60]);
                  poin[2]:=2;
         end;
3:       begin
                  writeln('300 = ',teks[62]);
                  poin[2]:=3;
         end;
4:       begin
                  writeln('400 = ',teks[67]);
                  poin[2]:=4;
         end;
5:       begin
                  writeln('500 = ',teks[69]);
                  poin[2]:=5;
         end;
6:       begin
                  writeln('600 = ',teks[70]);
                  poin[2]:=6;
         end;
7:       begin
                  writeln('700 = ',teks[72]);
                  poin[2]:=7;
         end;
8:       begin
                  writeln('800 = ',teks[73]);
                  poin[2]:=8;
         end;
9:       begin
                  writeln('900 = ',teks[74]);
                  poin[2]:=9;
         end;
0:       begin
                  writeln('0 = ',text);
                  poin[2]:=0;
         end;
end;
writeln('1000 = ',teks[75]); {digit sebelah kiri. Contoh: [1]390}
poin[1]:=1;
case total of
1095:writeln('1095 = ',teks[76]);
1260:writeln('1260 = ',teks[77]);
1390:writeln('1390 = ',teks[78]);
end;
writeln;
b:=poin[1] + poin[2] + poin[3] + poin[4];
writeln(poin[1],' + ',poin[2],' + ',poin[3],' + ',poin[4],' = ',b,' => ',teks[b]);
str(b,jml);
if length(jml) = 2 then {misalkan jml = '27'}
begin
         tot:=copy(jml,1,1); {berarti tot = '2'}
         tots:=copy(jml,2,1); {dan tots = '7'}
val(tot,tot1,a); {Fungsi val mengubah tot & tots yang merupakan string menjadi tot1 &
tot2 yang merupakan integer}
                       val(tots,tot2,a);
                       writeln(tot1,' + ',tot2,' = ',tot1 + tot2,' => ',teks[tot1 + tot2]);
               end;
        end;
end;

procedure seleksi;
begin
       jj:=length(nama);
       for ii:=1 to jj do
       begin
                 case upcase(nama[ii]) of
                 'A':begin
                                writeln('A:         ',nilh[1]);
                                ni[ii]:=nilh[1];
                           end;
                 'B':begin
                                writeln('B:         ',nilh[2]);
                                ni[ii]:=nilh[2];
                           end;
                 'C':begin
                                writeln('C:          ',nilh[3]);
                                ni[ii]:=nilh[3];
                           end;
                 'D':begin
                                writeln('D:          ',nilh[4]);
                                ni[ii]:=nilh[4];
                           end;
                 'E':begin
                                writeln('E:         ',nilh[5]);
                                ni[ii]:=nilh[5];
                           end;
                 'F':begin
                                writeln('F:         ',nilh[6]);
                                ni[ii]:=nilh[6];
                           end;
                 'G':begin
                                writeln('G:          ',nilh[7]);
                                ni[ii]:=nilh[7];
                           end;
                 'H':begin
                                writeln('H:          ',nilh[8]);
                                ni[ii]:=nilh[8];
                           end;
                 'I':begin
                                writeln('I:       ',nilh[9]);
                                ni[ii]:=nilh[9];
                           end;
                 'J':begin
                                writeln('J:        ',nilh[10]);
                                ni[ii]:=nilh[10];
                           end;
                 'K':begin
                                writeln('K:         ',nilh[11]);
                                ni[ii]:=nilh[11];
                           end;
                 'L':begin
writeln('L:       ',nilh[12]);
                ni[ii]:=nilh[12];
        end;
'M':begin
                writeln('M:       ',nilh[13]);
                ni[ii]:=nilh[13];
         end;
'N':begin
                writeln('N:       ',nilh[14]);
                ni[ii]:=nilh[14];
        end;
'O':begin
                writeln('O:       ',nilh[15]);
                ni[ii]:=nilh[15];
         end;
'P':begin
                writeln('P:       ',nilh[16]);
                ni[ii]:=nilh[16];
        end;
'Q':begin
                writeln('Q:       ',nilh[17]);
                ni[ii]:=nilh[17];
         end;
'R':begin
                writeln('R:       ',nilh[18]);
                ni[ii]:=nilh[18];
         end;
'S':begin
                writeln('S:       ',nilh[19]);
                ni[ii]:=nilh[19];
         end;
'T':begin
                writeln('T:       ',nilh[20]);
                ni[ii]:=nilh[20];
         end;
'U':begin
                writeln('U:       ',nilh[21]);
                ni[ii]:=nilh[21];
         end;
'V':begin
                writeln('V:       ',nilh[22]);
                ni[ii]:=nilh[22];
        end;
'W':begin
                writeln('W:       ',nilh[23]);
                ni[ii]:=nilh[23];
         end;
'X':begin
                writeln('X:       ',nilh[24]);
                ni[ii]:=nilh[24];
         end;
'Y':begin
                writeln('Y:       ',nilh[25]);
                ni[ii]:=nilh[25];
         end;
'Z':begin
                writeln('Z:       ',nilh[26]);
                ni[ii]:=nilh[26];
        end;
' ':writeln;
                  else
                             begin
                                        sum := messagebox(0,'Nama Anda mengandung karakter selain huruf',nil,
                                        mb_iconexclamation);
                                        ii:=jj;
                            end;
                 end;
        total:=total + ni[ii];
        end;
        writeln('--------------- +');
        write('Total: ',total);
end;

procedure tanggal;
const
   hari: array [0..6] of string = ('Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu');
         bulan:array [1..12] of string = ('Januari','Februari','Maret','April','Mei','Juni','Juli',
                                                                                 'Agustus','September','Oktober','Novemb
er','Desember');
var
         y,m,d,dow:word;
         tgl,bln,thn:string;
begin
   getdate(y,m,d,dow);
         str(d:0,tgl);
         str(y:0,thn);
         case m of
         1:        bln:=bulan[1];
         2:        bln:=bulan[2];
         3:        bln:=bulan[3];
         4:        bln:=bulan[4];
         5:        bln:=bulan[5];
         6:        bln:=bulan[6];
         7:        bln:=bulan[7];
         8:        bln:=bulan[8];
         9:        bln:=bulan[9];
         10:       bln:=bulan[10];
         11:       bln:=bulan[11];
         12:       bln:=bulan[12];
         end;
         writeln('Hari        : ',hari[dow]);
         writeln('Tanggal: ',tgl,' ',bln,' ',thn);
end;

procedure jam;
var
 h, m, s, hund : Word;
function LeadingZero(w : Word) : String;
var
 s : String;
begin
         Str(w:0,s);
         if Length(s) = 1 then
                 s := '0' + s;
         LeadingZero := s;
end;
begin
         GetTime(h,m,s,hund);
Writeln('Pukul : ',LeadingZero(h),':',LeadingZero(m),':',LeadingZero(s),'.',LeadingZero(hund));
end;

                                                                                 {PROGRAM UTAMA}

begin
         strcopy(windowtitle,'Misteri Nama');
         screensize.x:=90; {kolom/vertikal}
         screensize.y:=55; {baris/horisontal}
         initwincrt;
         messagebox(0,'Program ini dibuat berdasarkan buku quot;Misteri Namaquot;                    karya   Abdul   Hadi
Sudiro','Informasi',
         mb_iconinformation);
         lagi:='Y';
         while upcase(lagi)='Y' do
         begin
                  clrscr;
                  total:=0; sum:=0;
                  writeln('Misteri Nama (c) 2009 Tri R.A Wibowo. All Rights Reserved.');
                  writeln;
                  tanggal; jam;
                  writeln;
                  writeln('Silakan ketikkan nama lengkap Anda.');
                  readln(nama);
                  writeln;
                  clrscr;
                  writeln('*Perhitungan Nilai*'); writeln;
                  seleksi;
                  if sum = 0 then
                  begin
                           reckoner(total);
                           resp:=readkey;
                           list(total);
                           for ii:=1 to 50 do ni[ii]:=0;
                           write('Lagi? (Y/T)');
                           lagi:=readkey;
                  end
                  else
                           lagi := 'Y';
         end;
         messagebox(0,'Email: im3_aja56@yahoo.co.id','Contacting The Author',
         mb_iconinformation);
         donewincrt;
end.

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn
 

Featured (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Misteri Nama

  • 1. {Program ini ditulis oleh Tri R.A Wibowo dengan data dari buku quot;Misteri Namaquot; karya Abdul Hadi Sudiro. Source code bisa dipublikasikan dengan bebas tanpa izin tertulis dari penulis, tapi nama penulis harus disebutkan dalam setiap publikasi kode} Program Misteri_Nama; uses wincrt,strings,windos,wintypes,winprocs; type TPoint = record {Tpoint masuk ke dalam wintypes} x: Integer; y: Integer; end; var nama,jml,tot,tots : string; resp,lagi: char; ii,jj,kk,total,a,b,tot1,tot2,sum: integer; ni: array[1..50] of integer; poin:array[1..4] of integer; const text = 'Tidak bernilai'; nilh:array[1..26] of integer=(1,2,3,4,5,6,7,8,9,600,10,20,30,40,50,60,70,80,90,100,200,700,1400,300,400,500); teks:array[1..78] of string=('Kegemaran;bernafsu;nafsu mengejar kehormatan','Kerusakan;kebinasaan;mati', 'Agama;kepercayaan;tujuan pada roh','Keteguhan;kebijaksanaan;pengaruh;kekuasaan;tetap', 'Kebahagiaan;kehormatan;pernikahan','Pekerjaa n;sempurna', 'Jalannya penghidupan;ketentraman;kemerdekaan;kebahagiaan;kesempurnaan', 'Perasaan kepada perikeadilan','Kesedihan;kekurangsempurnaan', 'Berhasil;kepandaian;keberuntungan di kemudian hari', 'Cacat;keributan;hukuman;melupakan kewajiban;sakit;pengharapan', 'Alamat baik','Durjana dan tidak beribadat','Pengorbanan','Ibadah;kebaikan;kesopanan', 'Kecintaan dan kebahagiaan','Kecelakaan dan tabiat pelupa','Kekejaman','Kebodohan', 'Bengis;ketus;kedukaan','Kebijaksanaan;pencipt aan;kegaiban','Hukuman;pembalasan tuhan', 'Tidak berpengetahuan tentang agama','Satu perjalanan melancong', 'Kecerdasan;pikiran;satu kelahiran','Pertanda baik dan berfaidah','Gagah dan tabah', 'Semboyan dan sifat kecintaan','Surat','Kemasyhuran dan pernikahan', 'Nafsu gemar kemasyhuran dan kebajikan','Pernikahan','Ketelitian yang melewati batas', 'Sengsara;sakit;penyakit otak miring','Kesehatan dan rukun', 'Kepandaian luar biasa;otak cemerlang;pengetahuan luas','Hidup manis dalam rumah tangga', 'Cacat;tidak sempurna;pelit;pecemburu','Gemar pujian', 'Pesta;keramaian;sukacita;pernikahan','Kenistaa n umum','Umur pendek;hidup tak bahagia', 'Upacara;agama;pendeta','Pengaruh;kekuasaan ;kebagusan','Isi negeri','Kemakmuran',
  • 2. 'Hidup lama dan bahagia','Pengadilan;hakim;vonis','Serakah akan uang', 'Pengampunan;pelepasan;kemerdekaan','Tercer ai dari pasangan', 'Semangat bergerak;pengetahuan;keindahan','Dunia','Pengampunan;penyesalan;pertobatan', 'Kesembuhan','Ahli dalam ilmu seni','Silau;kesesatan;kedukaan','Berkah dari yang maha agung', 'Semangat patriot;gemar akan kebagusan','Ragu-ragu','Kesengsaraan', 'Sentosa;kepercayaan;menyukai ilmu pengetahuan','Titah utusan tuhan', 'Pengharapan dan keadilan','Rumah;rombongan;berkawan','Menyukai ilmu perbintangan', 'Perjalanan yang lama dan melelahkan','Pendeta dan agama','Kesucian','Sempurna dan baik', 'Kejahatan;persekutuan;permusuhan','Tenaga dan kekuatan', 'Keangkeran;pengaruh;pemerintahan;kekuasaa n','Peperangan;pertempuran;pergulatan', 'Sifat pengasih dan pengampun','Pendiam','Gangguan','Pengejaran dan pendakwaan'); function kapital(nama:string):string; begin if (nama[1] >= 'a') and (nama[1] <= 'z') then {Ini mengapitalkan huruf kecil} dec(nama[1],32); for ii:=2 to length(nama) do begin if (nama[ii] >= 'A') and (nama[ii] <= 'Z') then {Ini mengecilkan huruf kapital} inc(nama[ii],32); end; for ii:=2 to (length(nama) - 1) do begin if (nama[ii] = ' ') then begin jj:=ii; if (nama[jj + 1] >= 'a') and (nama[jj + 1] >= 'z') then dec(nama[jj + 1],32); end; end; kapital:=nama; end; procedure reckoner(var total:integer); begin if total > 1390 then begin str(total,jml); {total:integer; jml:string} kk:=length(jml); tot:=copy(jml,kk-2,3); val(tot,total,a); writeln(' => ',total); end; end; procedure list(total:integer); begin clrscr;
  • 3. str(total,jml); kk:=length(jml); val(jml,total,a); writeln('Hasil dari nama ',kapital(nama),' adalah sebagai berikut:'); writeln; if kk = 1 then begin case total of 1: writeln('1 = ',teks[1]); 2: writeln('2 = ',teks[2]); 3: writeln('3 = ',teks[3]); 4: writeln('4 = ',teks[4]); 5: writeln('5 = ',teks[5]); 6: writeln('6 = ',teks[6]); 7: writeln('7 = ',teks[7]); 8: writeln('8 = ',teks[8]); 9: writeln('9 = ',teks[9]); end; end else if kk = 2 then begin tot:=copy(jml,2,1); val(tot,sum,a); case sum of 1: begin writeln('1 = ',teks[1]); poin[2]:=1; {digit sebelah kanan. Contoh: 5[1]} end; 2: begin writeln('2 = ',teks[2]); poin[2]:=2; end; 3: begin writeln('3 = ',teks[3]); poin[2]:=3; end; 4: begin writeln('4 = ',teks[4]); poin[2]:=4; end; 5: begin writeln('5 = ',teks[5]); poin[2]:=5; end; 6: begin writeln('6 = ',teks[6]); poin[2]:=6; end; 7: begin writeln('7 = ',teks[7]); poin[2]:=7; end; 8: begin writeln('8 = ',teks[8]); poin[2]:=8; end; 9: begin writeln('9 = ',teks[9]); poin[2]:=9;
  • 4. end; 0: begin writeln('0 = ',text); poin[2]:=0; end; end; for ii:=1 to 2 do begin tot:=copy(jml,1,ii); val(tot,sum,a); case sum of 1: begin writeln('10 = ',teks[10]); poin[ii]:=1; {digit sebelah kiri. Contoh: [5]1} end; 2: begin writeln('20 = ',teks[20]); poin[ii]:=2; end; 3: begin writeln('30 = ',teks[30]); poin[ii]:=3; end; 4: begin writeln('40 = ',teks[40]); poin[ii]:=4; end; 5: begin writeln('50 = ',teks[50]); poin[ii]:=5; end; 6: begin writeln('60 = ',teks[51]); poin[ii]:=6; end; 7: begin writeln('70 = ',teks[52]); poin[ii]:=7; end; 8: begin writeln('80 = ',teks[55]); poin[ii]:=8; end; 9: begin writeln('90 = ',teks[57]); poin[ii]:=9; end; 11: writeln('11 = ',teks[11]); 12: writeln('12 = ',teks[12]); 13: writeln('13 = ',teks[13]); 14: writeln('14 = ',teks[14]); 15: writeln('15 = ',teks[15]); 16: writeln('16 = ',teks[16]); 17: writeln('17 = ',teks[17]); 18: writeln('18 = ',teks[18]); 19: writeln('19 = ',teks[19]); 21: writeln('21 = ',teks[21]); 22: writeln('22 = ',teks[22]); 23: writeln('23 = ',teks[23]);
  • 5. 24: writeln('24 = ',teks[24]); 25: writeln('25 = ',teks[25]); 26: writeln('26 = ',teks[26]); 27: writeln('27 = ',teks[27]); 28: writeln('28 = ',teks[28]); 29: writeln('29 = ',teks[29]); 31: writeln('31 = ',teks[31]); 32: writeln('32 = ',teks[32]); 33: writeln('33 = ',teks[33]); 34: writeln('34 = ',teks[34]); 35: writeln('35 = ',teks[35]); 36: writeln('36 = ',teks[36]); 37: writeln('37 = ',teks[37]); 38: writeln('38 = ',teks[38]); 39: writeln('39 = ',teks[39]); 41: writeln('41 = ',teks[41]); 42: writeln('42 = ',teks[42]); 43: writeln('43 = ',teks[43]); 44: writeln('44 = ',teks[44]); 45: writeln('45 = ',teks[45]); 46: writeln('46 = ',teks[46]); 47: writeln('47 = ',teks[47]); 48: writeln('48 = ',teks[48]); 49: writeln('49 = ',teks[49]); 75: writeln('75 = ',teks[53]); 77: writeln('77 = ',teks[54]); 81: writeln('81 = ',teks[56]); end; end; writeln; writeln(poin[1],' + ',poin[2],' = ',poin[1] + poin[2],' => ',teks[poin[1] + poin[2]]); str(poin[1] + poin[2],jml); if length(jml) = 2 then {misalkan jml = '14'} begin tot:=copy(jml,1,1); {berarti tot = '1'} tots:=copy(jml,2,1); {dan tots = '4'} val(tot,tot1,a); {Fungsi val mengubah tot & tots yang merupakan string menjadi tot1 & tot2 yang merupakan integer} val(tots,tot2,a); writeln(tot1,' + ',tot2,' = ',tot1 + tot2,' => ',teks[tot1 + tot2]); end; end else if kk = 3 then begin tot:=copy(jml,3,1); val(tot,sum,a); case sum of 1: begin writeln('1 = ',teks[1]); poin[3]:=1; {digit sebelah kanan. Contoh: 39[1]} end; 2: begin writeln('2 = ',teks[2]); poin[3]:=2; end; 3: begin writeln('3 = ',teks[3]); poin[3]:=3; end;
  • 6. 4: begin writeln('4 = ',teks[4]); poin[3]:=4; end; 5: begin writeln('5 = ',teks[5]); poin[3]:=5; end; 6: begin writeln('6 = ',teks[6]); poin[3]:=6; end; 7: begin writeln('7 = ',teks[7]); poin[3]:=7; end; 8: begin writeln('8 = ',teks[8]); poin[3]:=8; end; 9: begin writeln('9 = ',teks[9]); poin[3]:=9; end; 0: begin writeln('0 = ',text); poin[3]:=0; end; end; tot:=copy(jml,2,1); val(tot,sum,a); case sum of 1: begin writeln('10 = ',teks[10]); poin[2]:=1; {digit di tengah. Contoh: 3[9]1} end; 2: begin writeln('20 = ',teks[20]); poin[2]:=2; end; 3: begin writeln('30 = ',teks[30]); poin[2]:=3; end; 4: begin writeln('40 = ',teks[40]); poin[2]:=4; end; 5: begin writeln('50 = ',teks[50]); poin[2]:=5; end; 6: begin writeln('60 = ',teks[51]); poin[2]:=6; end; 7: begin writeln('70 = ',teks[52]); poin[2]:=7;
  • 7. end; 8: begin writeln('80 = ',teks[55]); poin[2]:=8; end; 9: begin writeln('90 = ',teks[57]); poin[2]:=9; end; 0: begin writeln('0 = ',text); poin[2]:=0; end; end; tot:=copy(jml,1,1); val(tot,sum,a); case sum of 1: begin writeln('100 = ',teks[58]); poin[1]:=1; {digit sebelah kiri. Contoh: [3]91} end; 2: begin writeln('200 = ',teks[60]); poin[1]:=2; end; 3: begin writeln('300 = ',teks[62]); poin[1]:=3; end; 4: begin writeln('400 = ',teks[67]); poin[1]:=4; end; 5: begin writeln('500 = ',teks[69]); poin[1]:=5; end; 6: begin writeln('600 = ',teks[70]); poin[1]:=6; end; 7: begin writeln('700 = ',teks[72]); poin[1]:=7; end; 8: begin writeln('800 = ',teks[73]); poin[1]:=8; end; 9: begin writeln('900 = ',teks[74]); poin[1]:=9; end; end; case total of 100:writeln('100 = ',teks[58]); 120:writeln('120 = ',teks[59]); 200:writeln('200 = ',teks[60]); 215:writeln('215 = ',teks[61]);
  • 8. 300:writeln('300 = ',teks[62]); 318:writeln('318 = ',teks[63]); 350:writeln('350 = ',teks[64]); 360:writeln('360 = ',teks[65]); 365:writeln('365 = ',teks[66]); 400:writeln('400 = ',teks[67]); 490:writeln('490 = ',teks[68]); 500:writeln('500 = ',teks[69]); 600:writeln('600 = ',teks[70]); 666:writeln('666 = ',teks[71]); 700:writeln('700 = ',teks[72]); 800:writeln('800 = ',teks[73]); 900:writeln('900 = ',teks[74]); end; writeln; writeln(poin[1],' + ',poin[2],' + ',poin[3],' = ',poin[1] + poin[2] + poin[3],' => ',teks[poin[1] + poin[2] + poin[3]]); str(poin[1] + poin[2] + poin[3],jml); if length(jml) = 2 then {misalkan jml = '27'} begin tot:=copy(jml,1,1); {berarti tot = '2'} tots:=copy(jml,2,1); {dan tots = '7'} val(tot,tot1,a); {Fungsi val mengubah tot & tots yang merupakan string menjadi tot1 & tot2 yang merupakan integer} val(tots,tot2,a); writeln(tot1,' + ',tot2,' = ',tot1 + tot2,' => ',teks[tot1 + tot2]); end; end else {Jika kk bukan 1, 2, ataupun 3} begin tot:=copy(jml,4,1); {Digit sebelah kanan. Contoh: 139[0]} val(tot,sum,a); case sum of 1: begin writeln('1 = ',teks[1]); poin[4]:=1; end; 2: begin writeln('2 = ',teks[2]); poin[4]:=2; end; 3: begin writeln('3 = ',teks[3]); poin[4]:=3; end; 4: begin writeln('4 = ',teks[4]); poin[4]:=4; end; 5: begin writeln('5 = ',teks[5]); poin[4]:=5; end; 6: begin writeln('6 = ',teks[6]); poin[4]:=6; end; 7: begin writeln('7 = ',teks[7]);
  • 9. poin[4]:=7; end; 8: begin writeln('8 = ',teks[8]); poin[4]:=8; end; 9: begin writeln('9 = ',teks[9]); poin[4]:=9; end; 0: begin writeln('0 = ',text); poin[4]:=0; end; end; tot:=copy(jml,3,1); {digit kedua dari kanan. Contoh: 13[9]0} val(tot,sum,a); case sum of 1: begin writeln('10 = ',teks[10]); poin[3]:=1; end; 2: begin writeln('20 = ',teks[20]); poin[3]:=2; end; 3: begin writeln('30 = ',teks[30]); poin[3]:=3; end; 4: begin writeln('40 = ',teks[40]); poin[3]:=4; end; 5: begin writeln('50 = ',teks[50]); poin[3]:=5; end; 6: begin writeln('60 = ',teks[51]); poin[3]:=6; end; 7: begin writeln('70 = ',teks[52]); poin[3]:=7; end; 8: begin writeln('80 = ',teks[55]); poin[3]:=8; end; 9: begin writeln('90 = ',teks[57]); poin[3]:=9; end; 0: begin writeln('0 = ',text); poin[3]:=0; end; end;
  • 10. tot:=copy(jml,2,1); {digit kedua dari kiri. Contoh: 1[3]90} val(tot,sum,a); case sum of 1: begin writeln('100 = ',teks[58]); poin[2]:=1; end; 2: begin writeln('200 = ',teks[60]); poin[2]:=2; end; 3: begin writeln('300 = ',teks[62]); poin[2]:=3; end; 4: begin writeln('400 = ',teks[67]); poin[2]:=4; end; 5: begin writeln('500 = ',teks[69]); poin[2]:=5; end; 6: begin writeln('600 = ',teks[70]); poin[2]:=6; end; 7: begin writeln('700 = ',teks[72]); poin[2]:=7; end; 8: begin writeln('800 = ',teks[73]); poin[2]:=8; end; 9: begin writeln('900 = ',teks[74]); poin[2]:=9; end; 0: begin writeln('0 = ',text); poin[2]:=0; end; end; writeln('1000 = ',teks[75]); {digit sebelah kiri. Contoh: [1]390} poin[1]:=1; case total of 1095:writeln('1095 = ',teks[76]); 1260:writeln('1260 = ',teks[77]); 1390:writeln('1390 = ',teks[78]); end; writeln; b:=poin[1] + poin[2] + poin[3] + poin[4]; writeln(poin[1],' + ',poin[2],' + ',poin[3],' + ',poin[4],' = ',b,' => ',teks[b]); str(b,jml); if length(jml) = 2 then {misalkan jml = '27'} begin tot:=copy(jml,1,1); {berarti tot = '2'} tots:=copy(jml,2,1); {dan tots = '7'}
  • 11. val(tot,tot1,a); {Fungsi val mengubah tot & tots yang merupakan string menjadi tot1 & tot2 yang merupakan integer} val(tots,tot2,a); writeln(tot1,' + ',tot2,' = ',tot1 + tot2,' => ',teks[tot1 + tot2]); end; end; end; procedure seleksi; begin jj:=length(nama); for ii:=1 to jj do begin case upcase(nama[ii]) of 'A':begin writeln('A: ',nilh[1]); ni[ii]:=nilh[1]; end; 'B':begin writeln('B: ',nilh[2]); ni[ii]:=nilh[2]; end; 'C':begin writeln('C: ',nilh[3]); ni[ii]:=nilh[3]; end; 'D':begin writeln('D: ',nilh[4]); ni[ii]:=nilh[4]; end; 'E':begin writeln('E: ',nilh[5]); ni[ii]:=nilh[5]; end; 'F':begin writeln('F: ',nilh[6]); ni[ii]:=nilh[6]; end; 'G':begin writeln('G: ',nilh[7]); ni[ii]:=nilh[7]; end; 'H':begin writeln('H: ',nilh[8]); ni[ii]:=nilh[8]; end; 'I':begin writeln('I: ',nilh[9]); ni[ii]:=nilh[9]; end; 'J':begin writeln('J: ',nilh[10]); ni[ii]:=nilh[10]; end; 'K':begin writeln('K: ',nilh[11]); ni[ii]:=nilh[11]; end; 'L':begin
  • 12. writeln('L: ',nilh[12]); ni[ii]:=nilh[12]; end; 'M':begin writeln('M: ',nilh[13]); ni[ii]:=nilh[13]; end; 'N':begin writeln('N: ',nilh[14]); ni[ii]:=nilh[14]; end; 'O':begin writeln('O: ',nilh[15]); ni[ii]:=nilh[15]; end; 'P':begin writeln('P: ',nilh[16]); ni[ii]:=nilh[16]; end; 'Q':begin writeln('Q: ',nilh[17]); ni[ii]:=nilh[17]; end; 'R':begin writeln('R: ',nilh[18]); ni[ii]:=nilh[18]; end; 'S':begin writeln('S: ',nilh[19]); ni[ii]:=nilh[19]; end; 'T':begin writeln('T: ',nilh[20]); ni[ii]:=nilh[20]; end; 'U':begin writeln('U: ',nilh[21]); ni[ii]:=nilh[21]; end; 'V':begin writeln('V: ',nilh[22]); ni[ii]:=nilh[22]; end; 'W':begin writeln('W: ',nilh[23]); ni[ii]:=nilh[23]; end; 'X':begin writeln('X: ',nilh[24]); ni[ii]:=nilh[24]; end; 'Y':begin writeln('Y: ',nilh[25]); ni[ii]:=nilh[25]; end; 'Z':begin writeln('Z: ',nilh[26]); ni[ii]:=nilh[26]; end;
  • 13. ' ':writeln; else begin sum := messagebox(0,'Nama Anda mengandung karakter selain huruf',nil, mb_iconexclamation); ii:=jj; end; end; total:=total + ni[ii]; end; writeln('--------------- +'); write('Total: ',total); end; procedure tanggal; const hari: array [0..6] of string = ('Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'); bulan:array [1..12] of string = ('Januari','Februari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Novemb er','Desember'); var y,m,d,dow:word; tgl,bln,thn:string; begin getdate(y,m,d,dow); str(d:0,tgl); str(y:0,thn); case m of 1: bln:=bulan[1]; 2: bln:=bulan[2]; 3: bln:=bulan[3]; 4: bln:=bulan[4]; 5: bln:=bulan[5]; 6: bln:=bulan[6]; 7: bln:=bulan[7]; 8: bln:=bulan[8]; 9: bln:=bulan[9]; 10: bln:=bulan[10]; 11: bln:=bulan[11]; 12: bln:=bulan[12]; end; writeln('Hari : ',hari[dow]); writeln('Tanggal: ',tgl,' ',bln,' ',thn); end; procedure jam; var h, m, s, hund : Word; function LeadingZero(w : Word) : String; var s : String; begin Str(w:0,s); if Length(s) = 1 then s := '0' + s; LeadingZero := s; end; begin GetTime(h,m,s,hund);
  • 14. Writeln('Pukul : ',LeadingZero(h),':',LeadingZero(m),':',LeadingZero(s),'.',LeadingZero(hund)); end; {PROGRAM UTAMA} begin strcopy(windowtitle,'Misteri Nama'); screensize.x:=90; {kolom/vertikal} screensize.y:=55; {baris/horisontal} initwincrt; messagebox(0,'Program ini dibuat berdasarkan buku quot;Misteri Namaquot; karya Abdul Hadi Sudiro','Informasi', mb_iconinformation); lagi:='Y'; while upcase(lagi)='Y' do begin clrscr; total:=0; sum:=0; writeln('Misteri Nama (c) 2009 Tri R.A Wibowo. All Rights Reserved.'); writeln; tanggal; jam; writeln; writeln('Silakan ketikkan nama lengkap Anda.'); readln(nama); writeln; clrscr; writeln('*Perhitungan Nilai*'); writeln; seleksi; if sum = 0 then begin reckoner(total); resp:=readkey; list(total); for ii:=1 to 50 do ni[ii]:=0; write('Lagi? (Y/T)'); lagi:=readkey; end else lagi := 'Y'; end; messagebox(0,'Email: im3_aja56@yahoo.co.id','Contacting The Author', mb_iconinformation); donewincrt; end.