{*NIM/Nama      : 16510043/Hendra Dwi Kusuma    *}
{*Nama File     : PraP08-16510043-101020-02     *}
{*Topik         : Array dalam Pascal            *}
{*Tanggal       : 20 Oktober 2010               *}
{*Deskripsi     : program isi tabel berisi array
                 output berupa tampilan seluruh isi array,
                 yaitu data mahasiswa berupa NIM, Nama, Nilai Kuis,
                 Nilai UTS, Nilai UAS, dan Indeks nilai*}
               
program tabelmahasiswa;
uses crt;

const tmmin=1;    {*indeks minimum tblmhs*}
const tmmax=100; {*indeks maksimum tblmhs*}

type tymhs=record
    NIM:string;
    nama:string;
    kuis:integer;    {*[0..100]*}
    uts:integer;    {*[0..100]*}
    uas:integer;    {*[0..100]*}
    indeks:char;    {*['A'..'E']*}
    end;
   
tblmhs= array[tmmin..tmmax]of tymhs;    {*array*}
   
{*Kamus Global*}
var
    tabm:tblmhs;    {*menampung seluruh data mahasiswa*}
    nmhs:integer;    {*indeks, tabm terisi mulai dari indeks tmmin..nef. Jika nef=0, berarti tab kosong*}
    menu:integer;    {*kode menu*}
   
    function hitungindeks(n1,n2,n3:integer):char; {*['A'..'E']*}
    {*fungsi untuk menghitung indeks berdasarkan rata-rata n1, n2, dan n3,
    dengan aturan:
    Rata-rata ³ 85, indeks = ‘A’
    70 <= Rata-rata < 85, indeks = ‘B’
    55 <= Rata-rata < 70, indeks = ‘C’
    40 <= Rata-rata < 55, indeks = ‘D’
    Rata-rata < 40, indeks = ‘E’*}
   
    {*Kamus lokal*}
    var
        rata:real;
       
    {*Algoritma*}   
    begin
        rata:=(n1+n2+n3)/3;
        if ((rata>=0)and(rata<40)) then
        hitungindeks:='E'
        else
            if ((rata>=40)and(rata<55)) then
            hitungindeks:='D'
            else
                if ((rata>=55)and(rata<70)) then
                hitungindeks:='C'
                else
                    if ((rata>=70)and(rata<85)) then
                    hitungindeks:='B'
                    else
                        if ((rata>=85)and(rata<=100)) then
                        hitungindeks:='A'
                        else
                            writeln('rata-rata tidak bisa dihitung');
    end;
   
    procedure isitabm(var tab:tblmhs;n:integer);
    {*Prosedur meminta masukan data mahasiswa (NIM, Nama, Nilai Kuis,
    UTS, dan UAS) dari pengguna dan disimpan di dalam tabel Tab.
    Masukan dari pengguna diasumsikan selalu benar. Indeks diisi
    berdasarkan hasil perhitungan dengan menggunakan fungsi
    HitungIndeks. Pengisian data berakhir jika pengguna memasukkan NIM
    = ‘99999999’*}
    {*I.S.: tab bisa kosong atau bisa sudah terisi*}
    {*F.S.: elemen tab bertambah*}
   
    {*Kamus lokal*}
    var
        i:integer;
       
    {*Algoritma*}   
    begin
        if nmhs=0 then
            i:=0
            else
            i:=nmhs;
            repeat
            begin
                i:=i+1;
                writeln;
                writeln('Data mahasiswa ke-',i);
                write('NIM : ');
                readln(tab[i].NIM);
                if (not(tab[i].NIM='99999999')) then
                begin
                    write('Nama : ');
                    readln(tab[i].nama);
                    repeat
                    begin
                        write('Nilai Kuis = ');
                        readln(tab[i].kuis);
                        if ((tab[i].kuis<0)or(tab[i].kuis>100)) then
                        writeln('masukkan salah! nilai: 0 s.d. 100');
                    end;
                    until ((tab[i].kuis>=0)and(tab[i].kuis<=100));
                    repeat
                    begin
                        write('Nilai UTS = ');
                        readln(tab[i].uts);
                        if ((tab[i].uts<0)or(tab[i].uts>100)) then
                        writeln('masukkan salah! nilai: 0 s.d. 100');
                    end;
                    until ((tab[i].uts>=0)and(tab[i].uts<=100));
                    repeat
                    begin
                        write('Nilai UAS = ');
                        readln(tab[i].uas);
                        if ((tab[i].uas<0)or(tab[i].uas>100)) then
                        writeln('masukkan salah! nilai: 0 s.d. 100');
                    end;
                    until ((tab[i].uas>=0)and(tab[i].uas<=100));
                    tab[i].indeks:=hitungindeks(tab[i].kuis,tab[i].uts,tab[i].uas);
                    writeln;
                end;
                if i>tmmax then
                    writeln('tabel sudah penuh!');
            end;
            until ((tab[i].NIM='99999999')or(i>tmmax));
            nmhs:=i-1;
    end;
   
    procedure tampildatamhs(mhs:tymhs);
    {*Prosedur untuk menuliskan sebuah data mahasiswa ke layar*}
    {*I.S. : mhs terdefinisi*}
    {*F.S. : Data mhs tampil di layar*}
    {*Kamus lokal*}
   
    {*Algoritma*}
    begin
         writeln('NIM : ',mhs.NIM);
         writeln('Nama : ',mhs.nama);
         writeln('Nilai kuis : ',mhs.kuis);
         writeln('Nilai UTS : ',mhs.uts);
         writeln('Nilai UAS : ',mhs.uas);
         writeln('Indeks Nilai : ',mhs.indeks);
    end;
   
    procedure tampildata(tab:tblmhs; n:integer);
    {*Prosedur untuk menampilkan data pada tab*}
    {*I.S.: tab bisa kosong, atau isi*}
    {*F.S.: Isi tab tampil di layar. Jika
    tab kosong, pesan “Tabel kosong” muncul di layar*}
   
    {*Kamus lokal*}
    var
        i:integer;
       
    {*Algoritma*}   
    begin
        if nmhs=0 then
            writeln('tabel kosong')
        else
        begin
            for i:=tmmin to nmhs do
            begin
                writeln;
                writeln('Data mahasiswa ke-',i);
                tampildatamhs(tab[i]);
            end;
        end;
    end;
       
   
{*Program Utama*}   
begin
clrscr;
    nmhs:=0;    {*inisialisasi nmhs*}
    isitabm(tabm,nmhs);    {*memanggil prosedur isitabm*}
   
    {*menu program utama*}
    repeat
    begin
        writeln;
        writeln('MENU');
        writeln('[1]: tampilkan seluruh isi tabel');
        writeln('[2]: tambahkan data baru ke dalam tabel');
        writeln('[0]: SELESAI');
        repeat
        begin
            write('pilihan menu: ');
            readln(menu);
            if ((menu<0)or(menu>2)) then
                writeln('pilihan menu tidak ada');
        end;
        until ((menu>=0)and(menu<=2));
        case menu of
        1:    begin
            tampildata(tabm,nmhs);
            end;
        2:    begin
            isitabm(tabm,nmhs);
            end;
        0:    begin
            writeln;
            writeln('SELESAI');
            end;
        end;
    end;
    until menu=0;    {*EOP*}
end.
       


Asslm wr wb,



Script itu adalah tugas Pra Praktikum PTI 08 yang harus dikumpulkan sebelum jam 11 siang hari kamis tanggal 21 Oktober 2010. Alhamdulillah akhirnya selesai juga. Huft..

Inilah kalo seorang mahasiswa yang berkutat di dunia programming itu pasti otak nya jadi mumet. Sampe2 otaknya gak bisa di "compile". Membuat program itu ternyata sangat menguras otak. Dari program yang nggak mw ter"compile" sampe ada syntax2 yg error dan gak tau sebabnya apa. AARRGH..! Sampe error juga nih otak..ckck..

Ada sebuah kisah tentang seorang anak yang ganteng nan jelita (lho?) sedang ingin mengerjakan tugasnya di malam hari. Tugasnya yang tiap minggu selalu berhubungan dengan dunia pemrograman membuat anak yang sedikit ganteng itu membuka dan menghidupkan laptopnya dengan sebuah ritual. Bau kemenyan dimana-mana, sesajen-sesajen berupa roti selai susu kental manis juga berceceran dimana-mana (udah aneh nih). Program yang dipakai untuk mengerjakan tugas itu adalah bahasa pemrograman PASCAL, salah satu bahasa yang hanya dipelajari oleh satu Sekolah di ITB, yaitu STEI (sombong mode on)..hehe :p
Namun, apakah itu STEI? Banyak yang mengatakan STEI itu kepanjangan dari (STress EuI / Siksaan Terlalu Edan Ini /Sekolah Teknik Elektro dan Informatika / Sangat Tidak Elok Intinya / etc.).

Nah, setelah menghidupkan laptopnya, anak itu tetep ganteng lalu mendownload soalnya di internet, lalu menjalankan program Free Pascal (maklum gratisan untuk kantong mahasiswa), lalu memulai pengerjaan tugas tersebut.

Saat mata terus berpandangan dengan layar laptop (ciieeee), semua rasanya terdiam. Hatinya bergejolak, detak jantung semakin cepat, kemudian hasratnya tidak tertangguhkan lagi. Dia lalu pergi ke kamar kecil dan segera "kencing" (kebelet soalnya). Setelah ritual selingan tersebut selesai, dipandangnya lagi layar laptop itu yang manis (unyuuuu). Semua syntax berupa prosedur, fungsi, if then, array, dsb. dikeluarkan untuk menyelesaikan tugas tersebut, namun belum bisa ter"compile". Anak itu terus berusaha untuk tetep ganteng membuat program yang dibuatnya itu ganteng, maksudnya bisa di "compile". Dengan usaha yang tidak henti2nya akhirnya program itu bisa ter"compile". Sorak seraya dilakukan anak itu. Tapi, eits..jangan senang dulu anak muda, setelah di run, ternyata programnya ada yang error, ada syntax yang gak nyambung, dll..ARRGH..! Tidaaak..! Diulangnya lagi penulisan syntax2nya itu.

Tak terasa waktu sudah menunjukkan pukul 3.25 am saat itu. Betapa kagetnya anak itu, dia sama sekali belum memejamkan matanya dan mengistirahatkan raganya sejenak walaupun jiwanya juga terganggu oleh tugas PTI A tersebut. Segeralah dia berbaring di pulau kapuk yang empuk. Dia ingin di tidurnya yang sangat tidak nyenyak itu, bisa mendapatkan hikmah bagaimana menyelesaikan tugas tersebut. Alhamdulillah semuanya terjawab di hari2nya saat di kampus bersama teman2nya. Thanks guys..!
 


When my brain cannot be compiled,
oh, please make all my work can be compiled.

Wassalam.
Labels:
Asslm wr wb,



Di saat kamu terlihat uang yang menggiurkan, bagaimana reaksimu?
masih berpikir panjang untuk mendapatkannya atau berpikir hal lain yang jauh lebih penting dari uang tersebut?
Ok, uang adalah alat tukar untuk apa saja yang ingin kita tukarkan sesuai kebutuhan kita masing2. Sekarang, bagaimana skala prioritasmu saat ini? Apakah dengan mencari uang kamu meninggalkan hal yang semestinya lebih wajib dan dipikirkan olehmu sekarang dan saat ini?

Orang tua saya pernah berkata saat saya selalu bertanya bagaimana cara mencari uang, bla..bla..bla..Pokoknya yang berhubungan dengan uang. Beliau berkata,"Kenapa kamu udah mikirin gitu, nyari uanglah, apa kamu sudah berkeluarga? sekarang tugas utamamu itu belajar. Cari ilmu setinggi-tingginya. Jangan hanya memikirkan uang untuk masa depan. Belajar dulu..! "

Oleh sebab itu, ternyata uang itu bukanlah segalanya. Kita yang pasti ingin mendapat uang yang banyak ternyata belum tentu membahagiakan orang tua kita sendiri bahkan kita sendiri. Uang bukanlah segalanya. Kita memang butuh uang, tetapi ilmu lebih berharga dari uang. Jika kamu menghargai apa yang namanya itu uang, jangan sia-siakan pendidikanmu yang telah dibayar oleh uang orang tuamu. Tolong jangan terlalu tergiur oleh kilaunya uang yang bisa membutakan matamu sendiri. Ilmu itu menghasilkan uang, tetapi uang belum tentu menghasilkan ilmu. Jangan kecewakan orang tuamu yang telah membiayai pendidikanmu. Mereka senang bila kita kaya akan ilmu bukan kaya akan harta. Yakinlah itu..!

Kita boleh mencari uang asalkan jangan menghalangi kita untuk mencari ilmu.


If you search money, you will not get anything.
If you search knowledge, money will get you.


Wassalam.
Labels:
Asslm wr wb,
oke saya lanjut lagi coret2nya..haha.
monggo disimak :D


Satu tanda tanya yang dibalas dengan tanda tanya bisa menghubungkan jembatan satu pikiran dengan satu pikiran orang lain.
Setelah terhubung, apakah rumah lama itu ditinggalkan karena sudah menemukan jembatan untuk pergi ke tempat singgah yg baru?
Rumah lama bukan hanya tempat untuk bersinggah di saat lelah.
Rumah lama itu akan rusak sendirinya karena tidak ada hal-hal indah yang diberikan lagi. 
Kenapa? karena rumah yang baru adalah tempat yang menurutmu sudah lebih indah dari rumah lamamu?
Di sana adalah tempat yang lebih menyenangkan?
Di sana adalah tempat menghabiskan seluruh kebahagiaan?
Bagaimana dengan tempat yang hanya menjadi tempat melepas lelah?
Tempat yang sudah membosankan karena tidak ada lagi kebahagiaan yang dulu pernah dibagi?
Rumah lamamu telah rusak oleh dirimu sendiri.
Tidak ada yang merusaknya selain kamu, karena yang tinggal disitu hanyalah dirimu.
Ingatlah!
Rumah lama ditinggalkan berarti pintunya mungkin tidak akan terbuka lagi untukmu karena rumah lama itu sudah rusak oleh ulahmu sendiri..!

Jangan biarkan rumah lamamu rusak jika ingin masuk kembali kepadanya..!
Your home always being your sweet home,
Your new house is not always being your sweet house as your home.

Wassalam.
Labels:
Visit the Site
MARVEL and SPIDER-MAN: TM & 2007 Marvel Characters, Inc. Motion Picture © 2007 Columbia Pictures Industries, Inc. All Rights Reserved. 2007 Sony Pictures Digital Inc. HDK concept. All rights reserved. blogger template by blog forum.