Tuesday, September 30, 2014

KUMPULAN SOAL DAN JAWABAN ALGORITMA PASCAL -PART 2

BAGIAN 2: ESSAY

Soal Nilai Akhir
Seorang mahasiswa ingin mengetahui nilai akhir matakuliah algoritma.
Aturan perhitungan Nilai Akhir yang diterapkan :
         - UTS                                            25 %
         - UAS                                            35 %
         - Tugas & Quiz                         20 %
         - Praktikum                                20 %
Setelah dihitung nilai akhirnya, kemudian dapat ditentukan indeks nilainya dengan aturan:
         - Indeks=”A” bila Nilai Akhir >= 80
         - Indeks=”B” bila Nilai Akhir >= 65 dan Nilai Akhir <80
         - Indeks=”C” bila Nilai Akhir >= 50 dan Nilai Akhir <65
         - Indeks=”D” bila Nilai Akhir >= 35 dan Nilai Akhir <50
         - Indeks=”E” bila Nilai Akhir < 35

Buat algoritma untuk membantu mahasiswa tersebut dalam menghitung nilai akhir dan Indeksnya, bila semua komponen nilai diINPUT.
Jawab:
var
        na, uts, uas, tugas, praktikum: Real

begin
        input(uts, uas, tugas, praktikum)

        na <-- ((uts * 0.25) + (uas * 0.35) + (tugas * 0.2) + (praktikum * 0.2))

        output(na)

        if (na >= 80) then
        output('A')

                else if (na >= 65) and (na < 80) then
                output('B')

                else if (na >= 50) and (na < 65) then
                output('C')

                else if (na >= 35) and (na < 50) then
                output('D')
        else
                output('E')
               

end algoritma.


Soal Menghitung Gaji Bersih
Gaji bersih seorang pegawai dihitung dari gaji pokok dan tunjangan dipotong pajak yang harus dibayar. Besar tunjangan adalah 15 % dari gaji pokok, dan besar pajak adalah 10 % dari gaji pokok ditambah tunjangan. Buat algoritma untuk menghitung gaji bersih tersebut jika gaji pokoknya diINPUT.
Jawab:
var
        gaji, tunjangan, gtunjangan, pajak, gbersih: real

begin

        input(gaji)

        tunjangan <-- gaji * 0.15
        output(tunjangan)
       
        gtunjangan <-- tunjangan + gaji
        output(gtunjangan)
       
        pajak <-- gtunjangan * 0.1
        output(pajak)
       
        gbersih <-- gtunjangan - pajak
        output(gbersih)
       
end.


Soal Menghitung Jumlah Bus
Sebuah acara wisata digunakan bus yang berkapasitas 30 orang. Tulis algoritma untuk menghitung jumlah bus wisata yang diperlukan bila jumlah peserta diINPUT dari keyboard. Catatan : bila jumlah peserta tidak kelipatan 30, maka jika sisanya > 5 harus disediakan 1 bus tambahan, bila sisanya <= 5 maka tidak perlu tambahan bus.
  Jawab:

var
   jbus, jpeserta: integer

begin
   input(jpeserta)
  
   if (jpeserta > 30) then
         if (jpeserta mod 30 > 5) then
               jbus <-- (jpeserta div 30) + 1
              
         else
               jbus <-- jpeserta div 30
  
   else 
         jbus <-- 1
        
   output(jbus)
  
end algoritma



Soal Menghitung Gaji dan Upah Lembur
Pada suatu perusahaan terdapat 5 golongan karyawan. Gaji karyawan ditentukan berdasarkan gaji tetap dan juga dari lamanya bekerja. Gaji tetap dan gaji per jam tergantung kepada golongan karyawan sesuai dengan tabel berikut:
Golongan
Gaji tetap (Rp)
Upah lembur per jam (Rp)
1
500.000
5000
2
300.000
3000
3
250.000
2000
4
100.000
1500
5
50.000
1000
Buatlah program untuk menghitung total gaji karyawan yang diterima dengan rumus: gaji sesuai golongan + (banyaknya jam lembur * tarIF lembur sesuai golongan karyawan)!
Contoh tampilan program:
INPUT:
Golongan: 2
Jumlah jam lembur: 5
OUTPUT:
Total gaji: 315000
Jawab:

uses crt;
var
        gol, lembur: integer;
        totgaji: real;

begin
clrscr;
        writeln('Masukkan Golongan: ');
        readln(gol);
        writeln('Masukkan jam lembur: ');
        readln(lembur);

        case gol of
        1:totgaji := (500000 + (5000 * lembur));
        2:totgaji := (300000 + (3000 * lembur));
        3:totgaji := (250000 + (2000 * lembur));
        4:totgaji := (100000 + (1500 * lembur));
        5:totgaji := (50000 + (1000 * lembur));
        end;

        writeln('Total gaji adalah: ', totgaji:2:0);
        readln;

end.

#include<stdio.h
Soal: Lama Bekerja
Tulis program untuk menentukan lama bekerja seorang pegawai, jika jam masuk dan jam pulang diINPUT. Catatan: jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam.
Contoh Masukan dan keluaran:
Jam masuk
Jam keluar
Keluaran/tampilan
10
11
Lama bekerja 1 jam
10
  2
Lama bekerja 4 jam
10
  7
Lama bekerja 9 jam
Jawab:
uses crt;

VAR
        imasuk, ikeluar, ilama: Integer;

BEGIN
clrscr;
REPEAT
        writeln('Masukkan Jam Masuk: ');
        readln(imasuk);
        writeln('Masukkan Jam Keluar: ');
        readln(ikeluar);

IF (imasuk > 12) OR (ikeluar > 12) THEN writeln('Data yang anda masukkan lebih dari 12, silahkan masukkan lebih kecil')

ELSE
        IF (imasuk <= ikeluar) THEN
        writeln ('Lama nya Bekerja: ', ikeluar - imasuk)

ELSE
        writeln('Lama nya Bekerja: ', (12 - imasuk) + ikeluar);
        readln;

UNTIL imasuk < 12;
end.Algoritma:
END
Soal: Biaya Parkir
Tulis program untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir. Lama parkir dihitung dari selisih jam masuk dan jam keluar diINPUT. Biaya parkir 2 jam pertama 2000, perjam berikutnya 500.
Contoh Masukan dan keluaran:
Jam masuk
Jam keluar
Lama
keluaran/tampilan
10
11
1
Biaya = 2000
10
2
4
Biaya = 3000
Jawab:
uses crt;

VAR
        imasuk, ikeluar, ilama, ibiaya: integer;

BEGIN
clrscr;
        writeln('Masukkan Jam Masuk: ');
        readln(imasuk);
        writeln('Masukkan Jam Keluar: ');
        readln(ikeluar);


        IF (imasuk <= ikeluar) THEN
        ilama := ikeluar - imasuk


        ELSE
        ilama := (12 - imasuk) + ikeluar;

        writeln('Lama parkir adalah: ', ilama);
        readln;

        IF (ilama > 2) THEN
        ibiaya := 2000 + ((ilama - 2) * 500)

        ELSE
        ibiaya := 2000;

        writeln('Biaya nya adalah: ', ibiaya);
        readln;

end.

Soal: Penggabungan Resistor
Tulis program untuk menghitung resistor pengganti dari 3 buah resistor yang disusun secara seri atau paralel. Rumus untuk resistor pengganti sbb:
Seri:                       Rgab = R1 + R2 + R3
Paralel:                 1/Rgab = 1/R1 + 1/R2 + 1/R3
Besar R1, R2 dan R3 serta jenis penyusunan (seri/paralel) diINPUT oleh user.
Jawab:

uses crt;
var
        gab, r1, r2, r3: real;
        jenis: string;

begin
clrscr;
        writeln('Masukkan R1: ');
        readln(r1);
        writeln('Masukkan R2: ');
        readln(r2);
        writeln('Masukkan R3: ');
        readln(r3);
        writeln('Masukkan Jenis susunan, Seri / Paralel: ');
        readln(jenis);

        if (jenis = 'seri') then
                gab := r1 + r2 + r3
        else
                gab := (1 / r1) + (1 / r2) + (1 / r3);
                readln;

        writeln('R gabungan adalah: ', gab:2:0);
        readln;
end.
Algoritma:
Algoritma Menghitung_Resistor
END
Soal: Harga barang
Buatlah program untuk menyelesaikan masalah berikut :
Program akan menerima masukan berupa kode, jenis dan harga, dengan jenis adalah "A", "B", dan "C". Untuk setiap jenis, masing-masing akan diberikan diskon sebesar 10% untuk A, 15% untuk B, dan 20% untuk C. Program akan menghitung berapa harga setelah didiskon.
Contoh masukan :
Jenis = B
kode = 10
harga = 10000
Contoh keluaran :
Jenis barang B mENDapat diskon = 15%, Harga setelah didiskon = 8500
  
Jawab:
uses crt;

var
        harga, disk: Real;
        jenis: char;

begin
clrscr;
        writeln('Masukkan Jenis: ');
        readln(jenis);
        writeln('Masukkan Harga: ');
        readln(harga);

        case jenis of
        'a':disk := harga * 0.1;
        'b':disk := harga * 0.15;
        'c':disk := harga * 0.2;
        end;


        writeln('Harga setelah diskon: ', harga - disk:2:0);
        readln;

end.
Soal: Gaji karyawan mingguan
Sebuah perusahaan swasta menggaji karyawannya secara mingguan dengan hitungan sebagai berikut :

golongan 1 dengan upah per jam 3.000 rupiah
golongan 2 dengan upah per jam 3.500 rupiah
golongan 3 dengan upah per jam 4.000 rupiah
golongan 4 dengan upah per jam 5.000 rupiah

Bila seorang karyawan bekerja kurang atau sama dengan 40 jam per minggu, akan dihitung dengan upah per jam seperti di atas, tetapi apabila bekerja lebih dari 40 jam, maka lebihnya akan dihitung sebagai lembur dengan upah per jam 1½ kali upah biasa.
Tulis algoritma untuk menghitung gaji mingguan karyawan, bila golongan dan jam kerja diINPUT dari keyboard.
Jawab:

var
        gol, jamk: Integer
        gaji: real
begin
        input(gol)
        input(jamk)
               
              if (jamk > 40) then
                case (gol) of
                1:gaji<--(3000 * 40) + ((jamk - 40) * 3000 * 1.5)
                2:gaji<--(3500 * 40) + ((jamk - 40) * 3500 * 1.5)
                3:gaji<--(4000 * 40) + ((jamk - 40) * 4000 * 1.5)
                4:gaji<--(5000 * 40) + ((jamk - 40) * 5000 * 1.5)
                endcase

              else
                case (gol) of
                1:gaji<-- 3000 * jamk
                2:gaji<-- 3500 * jamk
                3:gaji<-- 4000 * jamk
                4:gaji<-- 5000 * jamk
                endcase

        output(gaji)

end.
                                             

Soal: Menghitung selisih waktu dalam jam dan menit
Buat program menghitung selisih waktu (dalam jam dan menit) berdasarkan jam mulai (jam,menit) dengan jam selesai (jam,menit). Data yang diINPUT adalah jam dan menit mulai, jam dan menit selesai. Format jam yang dimasukkan bisa berupa format 12 jam ataupun 24jam.
Contoh Masukan dan Keluaran:         
Mulai (jam,menit)
Selesai (jam,menit)
Lama (menit)
Lama (jam,menit)
10:30
12:10
100
1 jam 40 menit
10:30
  1:40
190
3 jam 10 menit
Jawab:
uses crt;

VAR
        ijamstart, imenitstart, imenitstop, ijamstop: Integer;
        itotmenitstart, itotmenitstop, iselangmenit, ijamdurasi: Integer;
        imenitdurasi: Integer;

BEGIN
clrscr;
        writeln('Masukkan Jam Mulai: ');
        readln(ijamstart);
        writeln('Masukkan Menit Mulai: ');
        readln(imenitstart);

        writeln('Masukkan Jam Berhenti: ');
        readln(ijamstop);
        writeln('Masukkan Menit Berhenti: ');
        readln(imenitstop);

        itotmenitstart := ijamstart * 60 + imenitstart;

        itotmenitstop := ijamstop * 60 +imenitstop;


IF (itotmenitstop >= itotmenitstart) THEN
        iselangmenit := itotmenitstop - itotmenitstart

ELSE
        iselangmenit := (12*60) - itotmenitstart + itotmenitstop;
        writeln('Selisih total dalam menit: ', iselangmenit);


        writeln('Selisih ', iselangmenit div 60, 'Jam,', iselangmenit mod 60, 'Menit');
        readln;
end.
Soal: Kuadran dari koordinat titik
Buat program dengan masukan koordinat sebuah titik (x,y) dalam sebuah system koordinat kartesian, kemudian ditentukan di kuadran mana titik tersebut.
Contoh Masukan :
Koordinat titik (x,y) : 10 -20

Contoh keluaran:
Titik 10,-20 berada pada kuadran 4

Jawab:
uses crt;

VAR
        ix, iy: Integer;

BEGIN
clrscr;
        writeln('Masukkan x:');
        readln(ix);
        writeln('Masukkan y:');
        readln(iy);
               
IF      (ix >= 0) THEN
        IF (iy >= 0) THEN
                writeln('Bilangan merupakkan kuadran I')
         ELSE
                writeln('Bilangan merupakkan kuadran IV')
   ELSE
                IF (iy >= 0) THEN
                writeln('Bilangan merupakkan kuadran II')
                ELSE
                writeln('Bilangan merupakkan kuadran III');
                readln;
end.


Soal: Tunjangan Anak
Pemerintah hanya memberikan tunjangan anak dari PNS maksimal sampai 3 anak saja. Setiap anak diberikan tunjangan sebesar 10% dari gaji pokok.
Tulis program untuk menghitung total tunjangan anak, bila gaji pokok dan jumlah anak diINPUT oleh user.
Contoh Masukan dan Keluaran:
Jumlah anak
Gaji Pokok
Tunjangan Anak
0
1.000.000
0
1
1.000.000
100.000
3
1.000.000
300.000
5
1.000.000
300.000

Jawab:

uses crt;

VAR
        gajipokok, tunjangan: real;
        jmlanak: integer;

BEGIN
clrscr;
        writeln('Masukkan Gaji Pokok: ');
        readln(gajipokok);
        writeln('Masukkan Jumlah Anak: ');
        readln(jmlanak);

        if (jmlanak <= 3) then
                tunjangan := jmlanak * 0.1 * gajipokok
        else
                tunjangan := 300000;
                writeln('Tunjangannya adalah: ', tunjangan:2:0);
                readln;

END.


Soal: Minibus pariwisata
Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per mobil. Apabila terjadi kelebihan penumpang (walaupun cuma 1), maka minibus yang digunakan ditambah 1. Tulis program untuk menghitung jumlah minibus yang diperlukan, bila jumlah pesertanya diINPUT.
Contoh Masukan dan Keluaran:
Jumlah Peserta
Jumlah Minibus
5
1
7
1
8
2
Jawab:
uses crt;
var
        jpeserta, jbus: integer;

begin
clrscr;
        writeln('Masukkan Jumlah Peserta: ');
        readln(jpeserta);

        if (jpeserta > 7) then
                jbus := jpeserta div 7;
                if (jpeserta mod 7 > 0) then
                        jbus := jbus + 1

        else
                jbus := 1;
                readln;

        writeln('Jumlah bus yang dibutuhkan adalah: ', jbus);
        readln;

end.

Soal: Menentukan N hari yang lalu tanpa mengINPUTkan Hari Ini
DiINPUT jumlah berapa hari yang lalu, kemudian ditentukan nama harinya. Tulis program untuk menentukan nama hari dari sekian hari yang lalu yang diINPUT. (Catatan, gunakan Hari ini = ‘Senin’)
Contoh Masukan dan Keluaran:
N hari yang lalu
Nama Hari
0
Senin
1
Minggu
10
Jumat
20
Selasa
Jawab:
uses crt;
var
        hlalu: integer;

begin
clrscr;
        writeln('Masukkan berapa hari yang lalu, jika sekarang senin: ');
        readln(hlalu);

        if (hlalu > 7) then
                hlalu := hlalu mod 7

        else
                hlalu := hlalu;
                readln;

        case (hlalu) of
        0:writeln('Hari yang lalu adalah Senin');
                                1:writeln('Hari yang lalu adalah Minggu');
                                2:writeln('Hari yang lalu adalah Sabtu');
                                3:writeln('Hari yang lalu adalah Jumat');
                                4:writeln('Hari yang lalu adalah Kamis');
                                5:writeln('Hari yang lalu adalah Rabu');
                                6:writeln('Hari yang lalu adalah Selasa');
                                end;
                               
                                readln;
                               
end.






Soal: Menentukan N hari yang lalu dengan mengINPUTkan Hari Ini
DiINPUT jumlah berapa hari yang lalu, kemudian ditentukan nama harinya. Tulis program untuk menentukan nama hari dari sekian hari yang lalu dan nomor hari ini yang diINPUT.
Contoh Masukan dan Keluaran:
N hari yang lalu
Hari ini
Nama Hari
0
1
Senin
3
3
Minggu
5
4
Sabtu
Jawab:
uses crt;
var
        hlalu, hini, namahari: integer;

begin
clrscr;
        writeln('Masukkan hari keberapa sekarang: ');
        readln(hini);
        writeln('Masukkan berapa hari yang lalu: ');
        readln(hlalu);

        if (hini > hlalu) then
                namahari := hini - hlalu

        else
                namahari := 7 - (hlalu - hini);
                readln;

            case (namahari) of
            1:writeln('Hari yang lalu adalah Senin');
2:writeln('Hari yang lalu adalah Selasa');
            3:writeln('Hari yang lalu adalah Rabu');
            4:writeln('Hari yang lalu adalah Kamis');
            5:writeln('Hari yang lalu adalah Jumat');
            6:writeln('Hari yang lalu adalah Sabtu');
            7:writeln('Hari yang lalu adalah Minggu');
end;

            readln;

end.
END
Soal: Penghitungan Pembayaran Listrik
PLN menerapkan pembayaran listrik perumahan dengan cara perhitungan sebagai berikut :
-       Untuk golongan 1 tarIF : Rp 1000/kWh
-       Untuk golongan 2 tarIF : Rp 2000/kWh

Dengan syarat penghitungan:
Minimum pembayaran adalah 100 kWh sedangkan untuk pemakaian 1000 kWh dan seterusnya tarIFnya ditambah 10% dari total pembayaran.

Golongan
Pemakaian
Bayar
1
50
100.000
2
150
300.000
1
1000
1.100.000

Jawab:
uses crt;
var
        gol, pakai, tarif, bayar: real;

begin
clrscr;
        writeln('Masukkan Golongan 1 atau 2: ');
        readln(gol);
        writeln('Masukkan Pemakaian: ');
        readln(pakai);

        if ( gol = 1) then
                tarif := 1000
        else
                tarif := 2000;


        if (pakai >= 1000) then
                bayar := pakai * tarif * 1.1
        else if (pakai < 100) then
                bayar := 100 * tarif
        else
                bayar := pakai * tarif;

        writeln('Pembayarannya adalah: ', bayar:2:0);
        readln;

end.

Soal: Penghitungan Bulan
Buatlah algoritma untuk menghitung bulan pernikahan dengan mengINPUTkan bulan saat ini dan berapa bulan kedepan. Misal data:

Bulan Saat Ini
N Bulan Kedepan
Bulan Pernikahan
1
2
3
12
1
1
10
5
3

Jawab:
VAR
                Bini, bdepan, bnikah: integer
BEGIN
                INPUT(bini, bdepan)
                IF (bini + bedpan <= 12) then
                                bnikah ß bini + bedpan
                else
                                bnikah ß (bini + bedpan) mod 12
                output(bnikah)
END ALGORITMA

Soal: Selisih 2 waktu
Buat program untuk menghitung selisih waktu antara 2 waktu, dengan masukan waktu adalah dalam bentuk (jam, menit, detik) dan keluaran dalam detik!
Contoh tampilan program:
INPUT:
Waktu1= 2:30:45
Waktu2= 2:31:20
OUTPUT:
Selisih waktu= 35 detik
Jawab:
uses crt;
var
        jam1, jam2, menit1, menit2, detik1, detik2, selisih: real;

begin
clrscr;
        writeln('Masukkan Jam Pertama: ');
        readln(jam1);
        writeln('Masukkan Menit Pertama: ');
        readln(menit1);
        writeln('Masukkan Detik Pertama: ');
        readln(detik1);

        writeln('Masukkan Jam Kedua: ');
        readln(jam2);
        writeln('Masukkan Menit Kedua: ');
        readln(menit2);
        writeln('Masukkan Detik Kedua: ');
        readln(detik2);

        jam1 := jam1 * 3600;
        menit1 := menit1 * 60;
        jam2 := jam2 * 3600;
        menit2 := menit2 * 60;

        detik1 := jam1 + menit1 + detik1;
        detik2 := jam2 + menit2 + detik2;

        writeln('Total detik Pertama adalah: ', detik1);
        writeln('Total detik Kedua adalah: ', detik2);

        if (detik1 > detik2) then
                selisih := detik1 - detik2

        else
                selisih := detik2 - detik1;
                readln;

        writeln('Selisih nya Dalam detik adalah: ', selisih:2:0,'detik');
        readln;

end.

#i

Tuesday, September 23, 2014

PASCAL Percabangan IF ELSE, CASE OF

Sebelumnya terima kasih yang sudah setia dengan blog saya, program Pascal adalah program yang pada saat ini sedang saya tekuni. Saya sangat menyukai program ini karena mengasikkan.

Kali ini saya akan memberikkan bagaimana tipe tipe percabangan if else, dan case of. Saya akan memberikkan beberapa contoh:

1. Menentukkan hari dengan nomer hari
uses crt;

VAR
        Hari: Integer;

BEGIN
clrscr;

        writeln('Masukkan Nomor Hari: ');
        readln(Hari);

        case Hari of
        1:writeln('Senin');
        2:writeln('Selasa');
        3:writeln('Rabu');
        4:writeln('Kamis');
        5:writeln('Jumat');
        6:writeln('Sabtu');
        7:writeln('Minggu');
        end;
        readln;

end.


 2. Menentukkan A lebih besar dari B dan 10
 uses crt;

var
        a, b: integer;

begin
clrscr;
        writeln('Masukkan nilai A: ');
        readln(a);
        writeln('Masukkan nilai B: ');
        readln(b);

        if (a < 10) then
                if (a > b) then
                writeln('A smaller than 10, but greater than B')
                else if (a < b) then
                writeln('A smaller than 10 and B')
        else
                writeln('A smaller than 10 and equal with B');
                readln;

end.


 3. Mencari total harga diskon
 uses crt;

var
        tothargadisk, harga, disk: Real;
        jenis: String;

begin
clrscr;
        writeln('Masukkan Jenis: ');
        readln(jenis);
        writeln('Masukkan Harga: ');
        readln(harga);

        case jenis of
        'A':disk:= harga * 0.1;
        'B':disk:= harga * 1.5;
        'C':disk:= harga * 0.2;
        end;
        readln;

        writeln('Harga setelah diskon: ', harga - disk:0:2);
        readln

end.


4. Mencari Grade
 uses crt;

var
        grade: char;

begin
clrscr;
        writeln('Masukkan Grade: ');
        readln(grade);

        case (grade) of
        'A':writeln('You are Excellent');
        'B':writeln('OH! Well Done');
        'C':writeln('OH! Well Done');
        'D':writeln('Yeah You Passed');

        else
        writeln('OMG! You really did not study right!');
        end;
        readln;

end.


5. Menentukkan nilai terbesar dari 5 Bilangan
uses crt;

VAR
        a, b, c, d, e: Integer;

BEGIN
clrscr;
        writeln('Masukkan nilai A: ');
        readln(a);
        writeln('Masukkan nilai B: ');
        readln(b);
        writeln('Masukkan nilai C: ');
        readln(c);
        writeln('Masukkan nilai D: ');
        readln(d);
        writeln('Masukkan nilai E: ');
        readln(e);

        IF (a > b) and (b > c) and (c > d) and (d > e) then
            writeln('A adalah bilangan terbesar')
            else if (b > a) and (a > c) and (c > d) and (d > e) then
            writeln('B adalah bilangan terbesar')
                 else if (c > a) and (a > b) and (b > d) and (d > e) then
                 writeln('C adalah bilangan terbesar')
                      else if (d > a) and (a > b) and (b > c) and (c > e) then
                      writeln('D adalah bilangan terbesar')
        ELSE
           writeln('E adalah bilangan terbesar');
           readln;

END.


 6. Mencari Gaji seseorang dengan jam lemburnya
 uses crt;

var
        gol, jamk: Integer;
        gaji: real;
begin
clrscr;
        writeln('Masukkan Golongan: ');
        readln(gol);
        writeln('Masukkan Jam Kerja: ');
        readln(jamk);
              if (jamk > 40) then
                case (gol) of
                1:gaji:=(3000 * 40) + ((jamk - 40) * 3000 * 1.5);
                2:gaji:=(3500 * 40) + ((jamk - 40) * 3500 * 1.5);
                3:gaji:=(4000 * 40) + ((jamk - 40) * 4000 * 1.5);
                4:gaji:=(5000 * 40) + ((jamk - 40) * 5000 * 1.5);
                end

              else
                case (gol) of
                1:gaji:= 3000 * jamk;
                2:gaji:= 3500 * jamk;
                3:gaji:= 4000 * jamk;
                4:gaji:= 5000 * jamk;
                end;

        writeln('Gaji nya adalah: ', gaji:0:2);
        readln;

end.



 

Wednesday, September 17, 2014

[TUTORIAL][VIDEO] FREE PASCAL

 Berikut ini adalah video tutorial basic free pascal, jika video error atau tidak bisa di play, harap komen / kirim email ke saya.


Video 1



Video 2



Video 3



Video 4



Video 5


 





Tuesday, September 9, 2014

[TUTORIAL][VIDEO] Basic Free Pascal Aritmatika


Video 1




Video 2





Video 3






Tuesday, September 2, 2014

[TUTORIAL][VIDEO] Basic Free Pascal

Berikut ini saya akan memberi tutorial Basic Free Pascal dalam bentuk video..


VIDEO 1




VIDEO 2





VIDEO 3









Terimakasih,

Luckhavick

Wednesday, August 27, 2014

FIRST ASSIGNMENT

WHAT IS YOUR DREAM?

Saya mempunyai mimpi yang cukup tinggi, yaitu bisa melakukan apasaja yang saya inginkan dengan sebuah komputer / laptop. Saya sangat menginginkan sebuah pekerjaan itu bisa dilakukan menjadi lebih mudah atau bahkan sangat mudah untuk dilakukan.
Saya bermimpi untuk menjadi sebuah Programmer yang dikenal dunia, dan bisa mempunyai perusahaan sendiri, seperti Google atau Apple, atau bahkan lebih jauh diatasnya.. Amin.


WHY YOU NEED TO MASTER ALGORITHM?

Karena menurut saya dengan Algoritma kita dapat tahu bagaimana cara nya menyelesaikan masalah dengan memilih jalan yang cukup cepat. Dan tentu nya saya ingin menyelesaikan semua masalah saya, termasuk masalah ekonomi, sosial, dan semua masalah saya lainnya..


WHAT IS ALGORITHM?

Menurut saya Algoritma adalah bagaimana cara nya menyelesaikan masalah dengan cara logis dan statistik..




HOW TO USE FREE PASCAL
BASIC FREE PASCAL

Sebelum saya mengajarkan anda bagaimana cara menggunakan aplikasi Free Pascal, saya akan menjelaskan beberapa yang saya ketahui tentang Free Pascal dari beberapa sumber yang saya baca.


SEKILAS TENTANG FREEPASCAL

Program Pascal (FreePascal) terdiri dari 3 bagian pokok, yaitu:

1. Nama Program
Nama program adalah hanya sekedar menuliskan judul dari program, tidak mempunyai arti apa-apa dalam proses kompilasi. Judul program dapat diikuti oleh file-file data yang berhubungan dengan program tersebut.
Pada Turbo Pascal, dapat ditambahkan klausa uses yang menunjukkan bahwa program menggunakan unit.

2. Deklarasi
Bagian ini berisi deklarasi pengenal maupun data yang dipergunakan di dalam program. Walaupun tampaknya membuang-buang waktu dan tidak berguna, namun sesungguhnya merupakan bagian terpenting dari rangka penyusunan sebuah program yang terstruktur. Struktur program sangat penting dalam pembuatan program yang panjang, karena bagian ini akan mengingatkan programmer tentang variabel, tipe data, konstanta, fungsi, prosedur yang digunakan dalam program. Selain itu, orang lain yang membaca program akan lebih dapat mengerti jalannya program dengan deklarasi ini.

3. Program utama
Program utama berisi statement. Tentang statement akan dibahas pada bab selanjutnya.

Deklarasi Program

Bagian deklarasi ada 6 macam, yaitu:

1. Deklarasi CONST
Deklarasi ini digunakan untuk mendeklarasikan nama konstanta tertentu. Nama konstanta adalah suatu pengenal (identifier) yang nilainya tidak dapat berubah dalam program.

2. Deklarasi VAR
Deklarasi ini digunakan untuk menyatakan variabel yang digunakan dalam program. Variabel adalah suatu pengenal (identifier) yang nilainya dapat berubah.

3. Deklarasi TYPE
Deklarasi type dipergunakan untuk menyusun suatu bentuk tipe data yang baru sebagai hasil penggabungan dari tipe-tipe yang sudah ada.

4. Deklarasi LABEL
Deklarasi label menjelaskan adanya label atau tujuan yang bisa melompatkan jalannya program dengan statement goto.

5. Deklarasi FUNCTION
Function adalah bagian dari program yang melakukan tugas tertentu dan menghasilkan suatu nilai.

6. Deklarasi PROCEDURE
Procedure adalah bagian dari program yang melakukan aksi tertentu, seringkali aksi tersebut dilakukan berdasarkan parameter.

Aturan penulisan program Pascal dan FreePascal

Suatu bahasa pemrograman selalu mempunyai aturan penulisan program. Hal ini menunjukkan konsistensi kompiler dalam melakukan proses kompilasi. Aturan pada program Pascal/ Free Pascal adalah sebagai berikut:
Program pascal/ FreePascal dapat ditulis pada kolom berapa saja dan diakhiri pada kolom berapa saja.
Antar statement / perintah dipisahkan dengan tanda ; (titik koma) Akhir dari sebuah program Pascal ditandai dengan tanda . (titik) setelah perintah END. Semua statement /perintah setelah END. tidak akan dianggap sebagai perintah. Spasi antar pengenal (identifier) diabaikan. Baris komentar diletakkan di antara tanda (* dan *) atau { dan }. Baris komentar tidak akan dieksekusi oleh komputer. Baris komentar biasanya dipergunakan untuk memberikan penjelasan-penjelasan guna memperjelas pengertian variabel atau tipe atau perintah dalam sebuah program.


Simbol (Symbols)

Pascal mengenal simbol-simbol yang dapat digunakan dalam program, yaitu:
huruf                      : A..Z , a..z
digit                       : 0..9
digit heksadesimal  : 0..9, A..F, a..f
Karakter khusus    : + - * / = < > [ ] . , ( ) : ^ @ { } $ #
Pasangan karakter : <= >= := (* *)
Selain dari karakter-karakter di atas, adalah karakter yang tidak dikenali oleh bahasa Pascal.
Kata tercadang (Reserved Words)
Kata tercadang adalah bagian dari bahasa Pascal dan tidak dapat dipakai untuk kegunaan lain dalam program (tidak dapat didefinisikan ulang). Kata tercadang ini tidaklah case sensitive, artinya for akan sama dengan FOR.

Uses Crt
Uses Crt merupakan prosedur yang pertama dalam penggunaan Turbo Pascal dan Free Pascal yang berguna untuk melakukan proses penggunaan layar sepenuhnya.

Sintaks penulisan:

USES CRT;

Begin dan End
Begin dan End merupakan awal dimulainya dan sekaligus akhir dari suatu pemograman. Jika dalam penulisan program terdapat beberapa statement, maka masing-masing menggunakan sintaks ini.

Sintaks penulisan:
BEGIN
Statement;
Statement;
….
END.

Write
Write merupakan sintaks yang memberikan standard masukan bagi free pascal sebelum melakukan proses data. Namun write juga bisa digunakan dalam proses pengeluaran dari hasil data.
Sintaks penulisan:
WRITE(‘data yang dimasukkan =’);

Read
Read merupakan sintaks yang digunakan untuk membantu freepascal dalam mengenal kode yang digunakan selama proses masukkan.

Sintaks penulisan:
READ(kode);

Writeln
Writeln merupakan sintaks yang banyak digunakan dalam proses keluaran. Dengan sintaks ini data yang telah diproses ditampilkan pada layar.
Sintaks penulisan:
WRITELN('data masukkan ',kode data);

Readln
Readln merupakan sintaks yang serupa dengan sintaks Read. Sintaks ini digunakan dalam proses keluaran bersamaan dengan Writeln namun secara otomatis membaca perintah yang telah termuat di dalamnya. Namun Readln dapat juga digunakan pada masukkan jika data masukkannya berupa string.
Sintaks penulisan:
READLN;

Clrscr
Clrscr merupakan sintaks yang digunakan untuk membersihkan layar.
Sintaks penulisan:
CLRSCR;

TEXTBACKGROUND
TEXTBACKGROUND adalah Sintaks yang berguna untuk membuat latar belakang dari tulisan maupun layar dari program yang dibuat.
Sintaks penulisannya:
TEXTBACKGROUND(warna);

TEXTCOLOR
TextColor merupakan sintaks yang berguna untuk membuat pewarnaan pada teks.
Sintaks penulisannya:
TEXTCOLOR(warna);

GOTOXY
GOTOXY merupakan sintaks yang digunakan untuk menempatkan kursor pada lokasi yang ditentukan. X merupakan posisi letak karakter pada sumbu X, demikian pula dengan Y meletakkan kursor pada posisi sumbu Y. Maka jika dituliskan secara matematik (X,Y).
Sintaks Penulisannya sebagai berikut:

GOTOXY(Nilai X,Nilai Y);



Ini adalah sedikit tutorial bagaimana membuat komputer untuk mengetik beberapa kata yang kalian inginkan:

1. Download aplikasi free pascal, kalian bisa download di sini
2. Install Free Pascal pada komputer / laptop anda.
3. Buka aplikasi Free Pascal.
4. Pilih tab File > New
5. Ketikan seperti ini:

     uses crt;
     
BEGIN
CLRSCR;
WRITELN(' Isi kalimat yang anda inginkan' );
READLN;
END.

6. Seperti gambar ini

7. Untuk mencoba nya, pilih run > run. atau tekan ctrl+f9

8. Nanti jika berhasil akan tampil seperti ini


9. Untuk menyimpan nya pilih File > save as (ketik dimana kalian ingin menyimpan file pascal tersebut).







Sekian,

Luckhavick.