fbpx

Algoritma dan Pemrogaman : Contoh Program Bahasa Pascal dengan Tipe Data Enumerasi dan Sub Range

Contoh Program dengan Tipe Data Enumerasi

dan Sub Range

Program Kalender Sederhana Satu Bulan

Berikut ini adalah contoh kode program untuk membuat kalender satu bulan dengan bantuan input data berupa “Hari pertama awal bulan” dan “Jumlah hari bulan ini”.

Kode Program

program kalendersederhana;
uses crt;
type hari1pekan=(Ahad,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
     haribulan=1..31;
var i,awalbulan:hari1pekan;
    j,tglmaks:haribulan;
    x,y,k,lebar:integer;
begin
    clrscr;
    write('Hari pertama awal bulan : ');readln(awalbulan);
    write('Jumlah hari bulan ini : ');readln(tglmaks);writeln;
    
    lebar:=7;
    for i:=Ahad to Sabtu do
        write(i:lebar);
        
    y:=5;
    x:=ord(awalbulan);
    for j:=1 to tglmaks do
    begin
        if x=7 then
        begin
            x:=0;
            y:=y+1;
        end;
        gotoxy(lebar*x+1,y);write(j:3);
        x:=x+1;
    end;
    readln;
end.

Contoh Output


Program Kalender Satu Tahun

Lantas bagaimana jika kita ingin membuat kalender dalam satu tahun? Tentunya dengan memperhitungkan kasus dimana terjadi tahun kabisat atau tidak. Berikut ini contoh kode program dengan masukan awal berupa “Hari pertama awal bulan Januari” dan “Tahun”.

Kode Program

program penugasan81;
uses crt;
type    Hari1pekan=(Ahad,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
        haribulan=1..31;
var     i,awalbulan:hari1pekan;
        j,tglmaks:haribulan;
        x,y,lebar,tahun,bulan:integer;
        kabisat : boolean;
        namabulan : string;
begin
    clrscr;
    write('Hari pertama awal bulan Januari: ');
    readln(awalbulan);
    write('Tahun: ');
    readln(tahun);

    writeln();

    if((tahun mod 400)= 0) then
        kabisat:= true
    else
    if((tahun mod 100) = 0) then
        kabisat:= false
    else
    if((tahun mod 4) = 0) then
        kabisat:= true
    else
        kabisat:= false;

    x:=ord(awalbulan);

    for bulan:= 1 to 12 do begin

    case bulan of
    1: begin
    tglmaks:= 31;
    namabulan:= 'Januari';
    end;

    2: begin
    if(kabisat=true) then tglmaks:= 29
    else tglmaks:= 28;
    namabulan:= 'Februari';
    end;

    3: begin
    tglmaks:= 31;
    namabulan:= 'Maret';
    end;

    4: begin
    tglmaks:= 30;
    namabulan:= 'April';
    end;

    5: begin
    tglmaks:= 31;
    namabulan:= 'Mei';
    end;

    6: begin
    tglmaks:= 30;
    namabulan:= 'Juni';
    end;

    7: begin
    tglmaks:= 31;
    namabulan:= 'Juli';
    end;

    8: begin
    tglmaks:= 31;
    namabulan:= 'Agustus';
    end;

    9: begin
    tglmaks:= 30;
    namabulan:= 'September';
    end;

    10: begin
    tglmaks:= 31;
    namabulan:= 'Oktober';
    end;

    11: begin
    tglmaks:= 30;
    namabulan:= 'November';
    end;

    12: begin
    tglmaks:= 31;
    namabulan:= 'Desember';
    end;
    end;

    writeln(namabulan,' ',tahun);
    lebar:=7;
    for i:=Ahad to sabtu do begin
        write(i:lebar);
    end;

    writeln();
    y:= wherey();
    for j:=1 to tglmaks do begin
        if (x=7) then begin
            x:=0;
            writeln();
            y:= wherey();
        end;
        gotoxy(lebar*x+1,y);write(j:3);
        x:=x+1;
    end;

    writeln();
    writeln();
    writeln();
end;
readln;
end.

Contoh Output


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Tipe Data Enumerasi dan Subrange, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up