Sabtu, 19 Januari 2013

Program Menentukan Bilangan Genap atau Ganjil Pada Pascal

Kali ini saya ingin berbagi program untuk menentukan nilai genap ganjil suatu bilangan bulat yang di inputkan.
Berdasarkan pengalaman yang lalu, program ini merupakan salah satu program yang banyak di cari orang. Namun tak banyak pula yang berakhir dengan kekecewaan karena tidak mendapatkannya.
Program ini menggunakan struktur fungsi. Nah, tanpa berlama-lama lagi, silahkan di lihat programnya.


ALGORITMIK

Fungsi :

Function Genap (input n : integer )  boolean
{true jika n adalah bilangan genap, atau false jika sebaliknya}

DEKLARASI
{tidak ada}
ALGORITMA
Return ( n mod 2 = 0)


Program Pemanggil :

PROGRAM GenapGanjjil
{Program untuk menentukan apakah sebuah bilangan genap atau ganjil }

DEKLARASI
x : integer

function Genap (input  n : integer )  boolean
{true jika n adalah bilangan genap, atau false jika sebaliknya}

ALGORITMA
Read (x)
If genap (x) then
    Write (‘genap’)
Else
Write (‘ganjil’)
Endif

Berikut adalah program utamanya dengan memakai pemaparan. Tulisan yang berwarna merah adalah penjelasannya :

Program GenapGanjil;
{Program utama menentukan apakah sebuah bilangan genap atau ganjil}

(*DEKLARASI*)
uses crt;
Var
x : integer ;
function Genap (n : integer ) : Boolean ;
{true jika n adalah bilangan genap, atau false jika sebaliknya}
Begin
Genap :=(n mod 2 =0 );
End;

(*ALGORITMA*)
Begin
Write ('Ketikkan sembarang bilangan bulat : '); readln (x);
If Genap (x) then
Writeln ('Genap')
Else
Writeln ('Ganjil');
readln;
{Endif}
End.

Berikut adalah program utama menentukan nilai ganjil atau genap suatu bilangan bulat.

Program GenapGanjil;
uses crt;
Var
x : integer ;
function Genap (n : integer ) : Boolean ;
Begin
Genap :=(n mod 2 =0 );
End;
Begin
Write ('Ketikkan sembarang bilangan bulat : '); readln (x);
If Genap (x) then
Writeln ('Genap')
Else
Writeln ('Ganjil');
readln;
End.

Penjelasan :
Fungsi di dalam Pascal tidak dapat mengembalikan nilai yang bertipe terstruktur. Karena itu, fungsi yang mengembalikan tipe terstruktur harus di manipulasi dengan cara mengubah tipe hasilnya menjadi tipe dasar (integer atau Boolean).
Baca Selengkapnya ...
Kamis, 17 Januari 2013

Program Menu Pilihan Empat Persegi Panjang Menggunakan Case Of

Di cuaca yang cerah seperti sekarang, saya ingin berbagi Program Menu Empat Persegi Panjang menggunakan struktur case. Di dalam program ini ada 4 menu. Pertama, untuk menghitung luas persegi panjang. Kedua, Untuk menghitung keliling persegi panjang. Ke-3, untuk menghitung panjang diagonal. Dan Ke-4 Untuk keluar dari program.

Program ini merupakan gabungan dari rumus mencari luas, keliling dan diagonal persegi panjang. Dengan menggunakan struktur case, ketiga rumus tersebut di gabung menjadi satu program sehingga dapat menghemat tenaga untuk membuat  program yang menggunakan masing-masing rumus tersebut.

Selain menggunakan case, program membuat menu juga bisa di di lakukan menggunakan strukstur repeat-until.  Sebagai contohnya yaitu pada postingan ‘pembuatan menu menggunakan repeat-until ‘  yang lain di blog ini .

Baik ini dia program menu empat persegi panjang :

Program EmpatPersegiPanjang;
uses crt;
Var
NomorMenu : integer;
Panjang, lebar : real ;
Luas, keliling, diagonal : real ;
Begin
clrscr;
gotoxy(23,2);writeln ('NAMA  : PASCALMATLAB.BLOGSPOT.COM');
gotoxy(23,3);writeln ('NIM   : ______??');
gotoxy(23,4);writeln ('Prodi : MATEMATIKA??');
gotoxy(18,5);writeln('======================================');
gotoxy(23,6); Writeln (' MENU EMPAT PERSEGI PANJANG  ');
gotoxy(23,7);Writeln (' 1. Hitung Luas ');
gotoxy(23,8);Writeln (' 2. Hitung Keliling ');
gotoxy(23,9);Writeln (' 3. Hitung Panjang Diagonal ');
gotoxy(24,10);Writeln ('4. Keluar Program ');
gotoxy(20,11);Write (' Masukkan pilihan anda 1/2/3/4 : ') ; readln (NomorMenu);
Case NomorMenu of
1 : begin
        Clrscr;
gotoxy(21,2)    ;Writeln (' 1. Hitung Luas ');
gotoxy(21,3)    ;Writeln (' ============================== ');
gotoxy(21,4)    ;Write (' Panjang = '); readln (panjang);
gotoxy(21,5)    ;Write (' Lebar = '); readln (lebar);
    Luas := panjang*lebar;
gotoxy(21,6)    ;writeln ('Luas = ',Luas);
    Readln;
    End;
2 : begin
        Clrscr;
gotoxy(21,3)    ;Writeln (' 2. Hitung Keliling ');
gotoxy(21,4)    ;Writeln (' ============================== ');
gotoxy(21,5)    ;Write (' Panjang = '); readln (panjang);
gotoxy(21,6)    ;Write (' Lebar = '); readln (lebar);
    keliling :=2*panjang+2*lebar;
gotoxy(21,7)    ; writeln ('Keliling = ',keliling);
    Readln;
    End;
3 : begin
        Clrscr;
gotoxy(21,4)    ;Writeln (' 3. Hitung Panjang Diagonal ');
gotoxy(21,5)    ;Writeln (' ============================== ');
gotoxy(21,6)    ;Write (' Panjang = '); readln (panjang);
gotoxy(21,7)    ;Write (' Lebar = '); readln (lebar);
    diagonal:= sqrt(panjang*panjang+lebar*lebar);
gotoxy(21,8)    ;writeln ('Diagonal = ',diagonal);
    Readln;
    End;
4 : writeln ('Keluar Program ');
End;
End.

Tambahan :
Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa Fortran). Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrogrman tidak menyediakan struktur CASE, maka dapat dig anti dengan struktur IF-THEn-ELSE yang ekivalen.

Berikut bentuk algoritmik dari program menu empat persegi panjang di atas :

ALGORITMIK :

PROGRAM EmpatPersegiPanjang
{Menampilkan menu perhitungan empat persegi panjang, memilih menu, dan melakukan proses perhitungan }
DEKLARASI
NomorMenu : integer;
Panjang, lebar : real;
Luas, keliling, diagonal : real;
ALGORITMA
{Cetak menu}
Write (‘ MENU EMPAT PERSEGI PANJANG’)
Write (‘ 1. Hitung Luas ‘)
Write (‘ 2. Hitung Kelilling ‘)
Write (‘ 3. Hitung Panjang Diagonal‘)
Write (‘ 4. Keluar Program ‘)
Case NomorMenu
1 : read (panjang,lebar)
Luas   panjang*lebar
Write (luas)
2 : read (panjang,lebar)
keliling   2*panjang+2*lebar
Write (keliling)
3 : read (panjang,lebar)
diagonal   sqrt(panjang*panjang+lebar*lebar)
Write (diagonal)
4: write (‘Keluar Program’)
endcase

Sekian, mudah-mudahan program ini dapat membawa manfaat untuk semua  dan selamat mengerjakan tugas dan dapatkanlah nilai yang bagus dengan program yang anda lihat ini.hehe….
Baca Selengkapnya ...
Minggu, 13 Januari 2013

Program Menentukan Tahun Kabisat Pada Pascal

Tahun kabisat adalah tahun yang habis di bagi dengan 4. Pada tahun kabisat, bulan Februari berjumlah 29 hari. Contoh tahun kabisat adalah 1996 dan 2002 bukan tahun kabisat karena tidak habis di bagi 4.
Penyelesaian.

Misalkan peubah tahun masehi tersebut adalah tahun.

Analisis kasus ;
Kasus 1 : jika tahun mod 4 = 0, maka tahun adalah tahun kabisat
Kasus 2 : jika tahun mod 4 bukan nol, maka tahun bukan tahun kabisat

Ini adalah algoritma programnya :

Program TahunKabisat
{Menentukan apakah suatu tahun merupakan tahun kabisat atau bukan }

DEKLARASI
Tahun : integer

ALGORITMA
Read (tahun)
If tahun mod 4 = 0 then
Write (‘tahun kabisat’)
Else
Write (‘bukan tahun kabisat’)
Endif

Bentuk programnya pada pascal adalah sebagai berikut :

Program TahunKabisat;
uses crt;
var
   tahun : integer;
begin
clrscr;
write ('Masukkan Tahun :'); Readln (tahun);
      If tahun mod 4 = 0 then
      Write ('tahun kabisat')
Else
Write ('bukan tahun kabisat');
readln
end.

( Menentukan apakah sebuah tahun merupakan tahun kabisat versi 1)

Oh ya, ada lagi jenis penentuan tahun kabisat selain menggunakan algoritma di atas. Dan algoritma kali ini tidak sesederhana program di atas. Suatu tahun di sebut tahun kabisat jika memenuhi salah satu syarat berikut : (i) habis di bagi 4 tetapi tidak habis di bagi 100, atau
(ii) habis di bagi 400.  Misalnya, tahun 1996 adalah tahun kabisat karena habis di bagi 4 dan tidak habis di bagi 100, tetapi tahun 1900 bukan tahun kabisat karena 1900 habis di bagi 4 dan habis di bagi 100, juga tidak memenuhi syarat habis di bagi 400. Tahun 2000 adalah tahun kabisat habis di bagi 400.

Berikut bentuk algoritmanya :

Program TahunKabisat
{menentukan apakah suatu tahun merupakan tahun kabisat atau bukan }
DEKLARASI
Tahun : integer

ALGORITMA
Read ( tahun)
If ( tahun mod 4 = 0 and tahun mod 100   0 ) or ( tahun mod 400 = 0 ) then write (‘Tahun Kabisat’)
Else
Write ( ‘Bukan Tahun Kabisat’)
Endif


Bentuk programnya adalah sebagai berikut :

Program TahunKabisat;
uses crt;
var
   tahun : integer;
begin
clrscr;
Write('Masukkan Tahun : '); Readln ( tahun);
if ((tahun mod 4 = 0) and (tahun mod 100 <> 0)) or (tahun mod 400 = 0) then
write ('Tahun Kabisat')
Else
Write ('Bukan Tahun Kabisat');
readln;
end.

( Menentukan apakah sebuah tahun merupakan tahun kabisat versi 1)

Sedikit Tambahan :
Karena saya menggunakan Turbo Pascal versi 7.0, maka saya menambahkan ( clrscr ) pada program di atas. Fungsinya adalah untuk membersihkan layar pada tampilan output program.

Oke sekian untuk kali ini, mudah-mudahan dapat membantu saudara dalam memahami tentang program  tahun kabisat ini. Karena seperti itulah harapan saya,  saya ingin membantu siapa saja dalam menyelesaikan tugas-tugasnya dan sekaligus membagi sedikit ilmu tentang pemrograman. Meskipun saya  masih dalam tahap belajar pula. Hehehe :D
Kalau ada yang salah dari apa yang saya posting. Mohon di maklumi.
Dan silahkan tinggalkan komentar di bawah kalau ada beberapa hal yang belum di pahami
Selamat mengerjakan tugas dan dapatkanlah nilai yang sebagus-bagusnya untuk kalian. Oke terima kasih ya…
Baca Selengkapnya ...
Minggu, 06 Januari 2013

Program menghitung jumlah deret menggunakan repeat

Hai sobat blogger… pada sore hari ini saya ingin berbagi program ni buat sobat sekalian.
Program ini saya dapat ketika masih semester awal kuliah lalu.

Sedikit perkenalan, ini adalah program menghitung jumlah deret 1+2+3+...+N. Walaupun masih dalam masa-masa sibuk, saya berusaha untuk membuat postingan ini agar dapat membantu siapa saja yang membutuhkan.
Dalam pembuatan program deret ini, pertama saya membuatkan algoritma programnya. Setelah itu barulah program intinya dapat tereselesaikan. Kenapa harus pakai algoritma?

Karena algoritma dapat memudahkan seseorang dalam pembuatan program. Tanpa mengetahui algoritma suatu program, maka  program tersebut tidak akan berhasil di buat. 

Algoritma Program :

Program PenjumlahanDeret
{Menjumlahkan deret
        1 + 2 + 3 + … + N
Dengan N adalah bilangan bulat positif. Nilai N di baca terlebih dahulu. }
DEKLARASI
N : integer
I   : integer
Jumlah : integer

ALGORITMA
 Read (N)
Jumlah <= 0       { inisiasi jumlah deret dengan 0}
For  i   <= 1 to N     { ulangi penjumlahan deret sebanyak N kali }
Jumlah    <= jumlah + i
Endfor
Write (jumlah)

Berikut pembuatan program penjumlahan deret 1+2+3+...+N dengan menggunakan operator REPEAT

Program PENJUMLAHAN_DERET;
Var
    N : integer;
    I  : integer;
Jumlah: integer;

Begin
Write ('Berapa N ?') ; readln (N) ;
Jumlah:= 0;
I:= 1;
Repeat
Jumlah := jumlah + I ;
I := I + 1;
Until I > N;
Writeln ('Jumlah deret = ', Jumlah );
readln;
End.

Penjelasan program di atas adalah sebagai berikut :
Bentu umum pernyataan REPEAT  adalah :

Repeat
    Pernyataan
Until kondisi

Notasi ini mendasarkan pengulangan pada kondisi Boolean. Pernyataan di dalam badan kalang ( berisi dua instruksi yaitu, Jumlah := jumlah + I dan I := I + 1 )
Akan terus di ulang- ulang sampai kondisi bernilai true. Dengan kata lain, jika kondisi masih false (belum terpenuhi), proses pengulangan masih akan terus di lakukan.
Untuk lebih jelasnya telitilah :

Repeat
Jumlah := jumlah + I ;     { jumlah deret sekarang }
I := I + 1;     { suku deret berikutnya }
Until I > N;
Writeln ('Jumlah deret = ', Jumlah );

I harus terdefinisi nilainya sebelum pengulangan di laksanakan pertama kali. Oleh karena itu, pada bagian inisiasi, I diisi dengan nilai 1 yang menandakan ia adalah suku deret pertama. Untuk lebih jelasnya perhatikan di bawah

Write ('Berapa N ?') ; readln (N) ;
Jumlah:= 0;     { jumlah deret pertama }
I:= 1;     { karena bernilai 1, ini adalah suku deret yang pertama}
Repeat

Instruksi yang mengubah nilai peubah kondisi adalah pernyataan ( Jumlah := jumlah + I dan I := I + 1).Pernyataan ini mencacah jumlah pengulangan, sehingga jika I > N, pengulangan di hentikan.

Karena proses pengulangan suatu saat harus berhenti, maka di dalam badan pengulangan harus ada pernyataan yang mengubah nilai peubah kondisi ( I > N ) => pengulangan berhenti.

Pernyataan REPEAT memiliki makna yang sama dengan WHILE, dan dalam beberapa masalah kedua pernyataan tersebut komplemen satu sama lain.

Sekian program untuk menghitung jumlah deret, mudah-mudahan dapat bermanfaat bagi semua. Senang rasanya bisa membantu dengan sedikit pengetahuan yang saya miliki. Good bye selamat menyelesaikan tugas….

       


Baca Selengkapnya ...