Minggu, 04 November 2012

ono: algoritma dan pemograman



PRAKTIKUM I

A.  Tujuan Praktikum
      Tujuan Instruksional Umum      :     Setelah mengikuti praktikum I, mahasiswa mampu membuat program dalam bahasa pascal.
      Tujuan Instruksional Khusus     :     setelah mengikuti praktikum ini, mahasiswa diharapkan     :
                                                         1. dapat mengenal lingkungan pemrograman pascal
                                                               2.   mengetahui format output dari beberapa action pencetakan.
B.  Materi
      1.   Mulai Bekerja
      2.   Membuka dan menyimpan file
      3.   Menjalankan program
      4.   Pesan kesalahan
      5.   Input / output

C.  Kegiatan I
      1.   Nyalakan komputer kemudian aktifkan pascal
      2.   Ketiklah program sederhana berikut :
            Program Pertama;
Uses Crt;
Begin
         Writeln(‘Halo . . . .UNCOKRO’);
Write(‘Ini Adalah’);
Writeln(‘Program Saya’);
Write(‘Yang Pertama’);
End.
      3.   Simpan program tersebut dengan nama PROG1.PAS
            Perintah : Alt-F Save
      4.   Jalankan program tersebut.
            Perintah : Ctrl-F9
      5.   Catat semua pesan kesalahan
      6.   Tambahkan program dengan perintah Readln sebelum End., kemudian jalankan lagi program tersebut.
      7.   Tambahkan program dengan perintah ClrScr sesudah Begin, kemudian jalankan lagi Program tersebut.
      8.   Simpan Program
      9.   Hilangkan baris pertama dan kedua pada program tersebut kemudian jalankan
      10. Selesai.

D.  Kegiatan II
      1.   Ketik program dibawah ini :
Uses Crt
Var
         Alas, tinggi, Luas : Real;
Begin
         ClrScr
         Write(‘Masukkan Alas :’); Readln(alas);
Write(‘Masukkan Tinggi’); Readln(tinggi);
Luas = ½ alas * tinggi;
Writeln(‘Luas Segitiga = ‘,Luas:2:2);
Readln;
End.

Program Menghitung_Luas_Persegi_Panjang;
Uses Crt;
Var
         Panjang, Lebar, Luas : Real;
Begin
         ClrScr;
         Write(‘Masukkan Panjang :’); Readln(panjang);
Write(‘Masukkan Lebar’); Readln(Lebar);
Luas = panjang * lebar;
Writeln(‘Luas Persegi Panjang = ‘,Luas:2:2);
Readln;
End.

      2.   Catatlah semua pesan kesalahan dan perbaikan semua kesalahan sambil menjalankan program
      3.   simpan program tersebut dengan nama PROG2.PAS dan PROG3.PAS
PRAKTIKUM II

A.  Tujuan Paktikum
      -     Mahasiswa mampu membuat dan menjalankan program sederhana
      -     Mahasiswa mampu menyusun berdasarkan algoritma

B.  Materi
      -     Konstanta
      -     Variabel
      -     Komentar
      -     Input, Proses, dan Output

C.  Kegiatan I
      Lakukan kegiatan berikut :
      1.   Ketiklah program dibawah ini

Program Hitung_Gaji;
Uses Crt;
Const
Gaji_perj_jam           = 10000;
Lembur_per_jam      = 12000;
Var
NIP        : String [9];
Nama      : String;
JA           : Byte;
JJK         : Integer;
JJL          : Integer;
Gaji, Uang_lembur, Gaji_Bersih : Longint;
Begin
         {Cetak Judul}
ClrScr;
Gotoxy(10,2); Writeln(‘          Menghitung Gaji          ‘);
Gotoxy(10,3); Writeln(‘--------------------------------------‘);
{Memasukkan Data}
Gotoxy(10,4); Write(‘Nomor Induk Pegawai                 : ‘); Readln(NIP);
Gotoxy(10,5); Write(‘Nama Pegawai                             : ‘); Readln(Nama);
Gotoxy(10,6); Write(‘Jumlah Anak                                : ‘); Readln(JA);
Gotoxy(10,7); Write(‘Jumlah Jam Kerja                         : ‘); Readln(JJK);
Gotoxy(10,8); Write(‘Jumlah Jam Lembur                     : ‘); Readln(JJL);
{Menghitung Gaji Pegawai}
Gaji :=JJK * Gaji_per_jam;
Uang_Lembur :=JJL * Lembur_per_jam;
Gaji_Bersih := Gaji + Uang_lembur;
{mencetak Hasil}
Gotoxy(10,10); Writeln(‘Uang Lembur =’, Uang_Lembur);
Gotoxy(10,11); Writeln(‘Gaji Bersih     =’, Gaji_Bersih);
Gotoxy(10,12); Writeln(‘------------------------------------------);
Readln;
End.

      2.   Rekam program diatas dengan nama PRAKII.PAS
      3.   Kompilasi program diatas dan jika terjadi kesalahan program lakukan perbaikan.
      4.   Setelah pernyataan ClrScr, tambahkan pernyataan berikut : Gaji_per_jam :=10500;  kemudian kompilasi kembali program anda, kemudian amati akibat dari tambahan pernyataan tersebut.
      5.   Dalam blok ‘Var tedapat sejumlah vaeiabel yang dideklarasikan, mulai dari variabel NIP sampai variabel gaji bersih. Cobalah hapus deklarasi variabel NIP, kemudian amati akibat dari penghapusan tersebut.
      6.   Hapus baris yang berisikan komentar : {cetak judul}. Kompilasi program anda dan amati kembali apakah penghapusan ini menimbulkan kesalahan program atau mempengaruhi proses program.
      7.   Apakah deklarasi variabel JJK dan JJL dapat disatukan menjadi :
                                             JJK,JJL : Integer
            Cobalah dan jelaskan pendapatan anda.
      8.   Hapuslah pernyataan Gotoxy() dari program diatas, kemudian amatilah hasil program anda ketika dikompilasikan kembali.
      9.   Ubahlah pernyataan Write menjadi Writeln, dan amatilah apa sebenarnya perbedaan antara kedua pernyataan tersebut.





D.  Kegiatan II
      Lakukan kegiatan berikut :
      1.   Buka lembar kerja baru
      2.   Pelajari masalah berikut ini dan penyelesaiannya
            Buatlah program berikut ini untuk memasukkan data siswa
            Masukkan           :  NIS, Nama, Alamat, dan tahun Lahir
            Keluaran             : 
                                                            Data Siswa                             
                                          NIS        : ……………………….
                                          Nama      : ……………………….
                                          Alamat   : ……………………….
                                          Umur      : ……………………….
            Petunjuk             :  Umur dihitung dengan rumus : umur:= Thn_Ini – Thn_Lahir;
            Algoritma dari masalah di atas sebagai berikut :
               1.   Mulai
               2.   Masukkan NIS, Nama, Alama dan tahun Lahir
               3.   Lakukan penghitungan rimus dengan rumus di atas.
               4.   Cetak di layer umur siswa tersebut
               5.   Selesai
            Contoh Program dari algoritma di atas adalah sebagai berikut :
Program Hitung_Umur;
Uses Crt;
Const
Thn_ini      = 2006;
Var
NIS        : String [6];
Nama, Alamat    : String [30];
Thn_Lahir, Umur : Integer;
Begin
ClrScr;
Writeln(‘-------------------------------------------------------------------‘);
Writeln(‘                    MENGHITUNG UMUR                        ‘);
Writeln(‘-------------------------------------------------------------------‘);
Writex(‘Nomor Induk Siswa           :’); Readln(NIS);
Writex(‘Nama Siswa                        :’); Readln(Nama);
Writex(‘Alamat                                :’); Readln(Alamat);
Writex(‘Thn_Lahir                           :’); Readln(Thn_Lahir);
Umur := Thn_ini – Thn_Lahir;
Writex(‘Umur Siswa                        : ‘, Umur);
Readln;
End.
3.   Program di atas masih banyak mengandung kesalahan penulisan pernyataan, ketiklah program tersebut dan perbaikai kesalahan yang ada hingga program anda benar.
      4.   Rekam program yang anda buat dengan nama PRAKIIB.PAS

E.  Kegiatan III
      Pilihlah salah satu soal di bawah ini, lalu buat algoritmanya dan kemudian buat programnya dengan bahasa pascal berdasarkan algoritma tersebut.
      Soal – soal :
      1.   Nilai akhir dari matakuliah pascal ditentukan oleh 3 nilai yaitu :
            Nilai tugas
            Nilai MID
            Nilai Final

            Masing – masing berbobot 20%, 25% dan 50%. Buatlah program untuk menghitung nilai akhir.
            Masukkan        :  tiga buah nilai
            Keluaran          :  Nilai akhir
            Petunjuk          :  Gunakan Instruksi Redln() untuk memasukkan nilai tesebut.
      2.   Buatlah program untuk mengkonversi suhu dalam derajat celcius ke fahrenheit dan reamour.
                     Fahrenheit = 9/5 x celcius + 32
                     Reamour = 4/5 x Celcius
            Masukkan        :  Suhu Celcius
            Keluaran          :  Suhu Fahrenheit dan Reamour
      3.   Perusahaan telepon di kota A memasang tarif per pulsa = Rp. 150,-. Setiap pelanggan telepon dikenakan biaya langganan sebesar Rp. 2000 per bulan.
            Buatlah program untuk menghitung tagihan langganan.
            Masukkan        :  Banyak nya Pulsa
            Keluaran          :  Jumlah Tagihan
            Petunjuk          :  Buatlah biaya langganan dan tarif pulsa sebagai konstanta



PRAKTIKUM III

A.  Tujuan Praktikum
      -     Mahasiswa mampu menggunakan perintah – perintah kondisi
      -     Mahasiswa mampu menyusun program berdasarkan algoritma yang ada.

B.  Materi
      -     If… Then
      -     If… Then… Else
      -     If… then Bertingkat
      -     Case… Of
      -     Case… Of… Else

C.  Kegiatan I
      1.   Ketiklah Program dibawah ini :

Program Hitung_Gaji;
Uses Crt;
Const
Gaji_per_jam            = 7000;
Lembur_per_jam      = 9000;
Var
NIP                    : String [9];
Nama, Alamat    : String;
JK, Status           : Char;
JA                       : Byte;
Gapok, Tunj_Anak, Tunj_Klrg, Gaji_Bersih : Longint;
Begin
ClrScr;
Writeln(‘-------------------------------------------------------------------‘);
Writeln(‘                           Menghitung Gaji                                ‘);
Writeln(‘-------------------------------------------------------------------‘);
Writeln;
Write(‘Nomor Induk Pegawai         : ’); Readln(NIP);
Write(‘Nama Pegawai                      : ’); Readln(Nama);
Write(‘Alamat                                  : ’) Readln(Almt);
Write(‘Status [B/K]Thn_Lahir         : ’) Readlnx(Status);
If Status = ‘B’
         Write(‘Jumlah Anak                :0’);
Else
Write(‘Jumlah Anak                : ’); Readln(JA);
Write(‘Jenis Kelamin [L/P]              : ’); Readln(JK);
Write(‘Gaji Pokok                            : ’) Readln(Gapok);
If (Status = ‘K’) AND (JA > 0) Then
Begin
If JA > 3 Then
      Tunj_Anak := 10000 * 3
Else
      Tunj_Anak := 10000 * (JA – 3);]
End;
If Status = K Then
Begin
Tunj_Klrg := 30000;
End;
Gaji_Bersih := Gapok + Tunj_Anak + Tunj_Klrg;
Writeln;
Write(‘Tunjangan Anak                   = ‘, Tunj_Anak);
Write(‘Tunjangan Keluarga             = ‘, Tunj_Klrg);
Write(‘Gaji Bersih                            = ‘, Gaji_Bersih);
Writeln(‘-------------------------------------------------------------------‘);
Readln;
End.
                                                                             
      2.   Simpan program di atas dengan nama PRAKIII.PAS
      3.   Kompilasi program di atas, dan jika ada kesalahan program catatlah kesalahan tersebut lalu lakukan perbaikan, kemudian kompilasi ulang lagi hingga program anda benar serta perhatikan hasilnya.
      4.   Jelaskan kegiatan apa yang dilakukan program di atas.
      5.   Hapus semua tanda Begin dan End yang terdapat pada pernyataan If, lalu lakukan kompilasi ulang program  anda. Apakah program anda mengalami kesalahan?
      6.   Pada pernyataan : If (Status = ‘K’) AND (JA > 0) Then
            Beberapa syarat yang terdapat pada pernyataan If Tersebut, dan dapatkah pembatas kurung (AND) dihilangkan?
            Ketiklah program berikut ini :
Program Nilai;
Uses Crt;
Var
Nil_Ujian           : Real;
Begin
ClrScr;
Write(‘Hasil Nilai Ujian                   :’); Readln(Nil_ujian);
If Nil_Ujian > 70 Then
         Writeln(‘Lulus’);
Else
Writeln(‘Tidak Lulus’);
Readln;
End.

D.  Kegiatan II
      Lakukan kegiatan berikut :
      1.   Buka lembar kerja baru
      2.   Perhatukan soal cerita dibawah ini dan pelajari masalahnya dan bagaimana penyelesaiannya.
            PT MAJU MUNDUR, memberikan tambahan gaji kepada para salesmannya dengan ketentuan sebagai berikut :
            a.   Bila seorang salesman dapat menjual barang hingga Rp. 200.000 dia akan mendapat uang jasa sebesar Rp. 10.000 ditambah dengan uang komisi sebesar 10% dari pendapatan yang diperoleh hari itu.
            b.   bila salesman menjual barang di atas Rp. 200.000 hingga Rp. 500.000, maka uang jasa yang di terima sebesar Rp. 20.000 ditambah dengan 15% dari pendapatan yang diperoleh.
            c.   Bila seorang salesman menjual barang di atas Rp. 500.000, maka uang jasa yang diterima sebesar Rp. 30.000 ditambah dengan 20% dari pendapatan yang doperoleh.
            Sebagai Input :
                  Penjualan salesman
            Sebagai Output :
                  Uang jasa, komisi, dan tambahan gaji
            Algoritma dari masalah di atas adalah sebagai berikut :
            1.   Mulai
            2.   Masukkan penjualan salesman
            3.   Periksa Nilai penjualan salesman
                  Bila hingga 200000. maka salesman tersebut mendapatkan :
                                 Uang jasa = 10000
                                 Uang komisi = 10% x penjualan salesman
                  Bila di atas 200000 hingga 500000, maka salesman tersebut mendapatkan :
                                 Uang jasa = 20000
                                 Uang komisi = 15% x penjualan salesman
                  Bila di atas 500000, maka salesman tersebut mendapatkan :
                                 Uang jasa = 30000
                                 Uang komisi = 20% x penjualan salesman
            4.   Hitunglah tambahan gaji yang di terima salesman = Uang jasa + Uang Komisi
            5.   Cetak layar Tambahan gaji yang diterima salesman
            6.   Selesai

            Contoh program dari algoritma diatas sebagai berikut :
Program Tambah_Gaji;
Uses Crt;
Var
………………….
………………….
Begin
ClrScr();
Writeln(‘-------------------------------------------------------------------‘);
Writeln(‘                           Tambahan Gaji                                   ‘);
Writeln(‘-------------------------------------------------------------------‘);
Write(‘Penjualan Salesmen              :’); Readln(Penj_Sales);
If Penj_Sales <= 200000 Then
Begin
Uang_Jasa          := 10000;
Uang_Komisi     := 0.10 * Penj_Sales;
End;
Else If (Penj_Sales > 200000) AND (Penj_Sales <= 500000) Then
Begin
Uang_Jasa          := 10000;
…………………………...
End;
Else
Begin
……………………
Uang_Komisi     := 0.20 * Penj_Sales;
End;
Tmb_Gaji := Uang_Jasa + Uang_Komis;
Writeln(‘Tambahan Gaji             = ‘, Tmb_Gaji);
Writeln(‘-------------------------------------------------------------------‘);
Readln;
End.

      3.   Program diatas belum lengkap, lengkapilah program tersebut.
      4.   Rekam program tersebut dengan nama PRAKIIIB.PAS

E.  Kegiatan III
      Ketiklah program di bawah ini :
Uses Crt;
Var
Pilihan    : Byte;
Panjang, Lebar, Alas, Tinggi,
Begin
ClrScr;
Gotoxy(10,4); Writeln(‘          Pilihan                  ‘);
Gotoxy(10,5); Writeln(‘--------------------------------------‘);
Gotoxy(10,6); Writeln(‘1. Hitung Luas Persegi Panjang’);
Gotoxy(10,8); Writeln(‘2. Hitung Luas Segitiga’);
Gotoxy(10,10); Writeln(‘3. Hitung Luas Lingkaran’);
Gotoxy(10,12); Write(‘Pilihan [1/2/3] : ‘); Readln(Pilihan);
ClrScr;
Case Pilihan Of
1:   Begin
Write(‘Masukkan Panjang         :’); Readln(Panjang);
Write(‘Masukkan Lebar             :’); Readln(Lebar);
Luas := Panjang * Lebar;
Writeln((‘Luas Persegi Empat = ‘, Luas:2:2);
End;
2:   Begin
Write(‘Masukkan Alas               :’); Readln(Alas);
Write(‘Masukkan Tinggi            :’); Readln(Tinggi);
Luas := ½ * Alas * Tinggi;
Writeln((‘Luas Segitiga          = ‘, Luas:2:2);
End;
3:   Begin
Write(‘Masukkan Jari - Jari        :’); Readln(r);
Luas := 3.14 * r * r;                       
Writeln((‘Luas Lingkaran = ‘, Luas:2:2);
End;
Else
Begin
Writeln(‘Pilihlah menurut apa yang mau di input’);
Writeln(‘Ok Coy !!!!);
End;
End;
Readln
End.

F.   Kegiatan IV
      Pilihlah salah satu soal di bawah ini, buatlah algoritmanya, kemudian pula programmya dengan bahasa pascal berdasarkan algoritma yang anda buat.
      Soal – soal :
      1.   PT Perumahan Rakyat menjual empat tipe rumah tinggal kepada masyarakat. Masing – masing tipe dapat dibayar dengan dua cara yaitu kredit (10 tahun) atau tunai. Adapaun ketetntuan harga rumah setiap tipenya adalah :
            Tipe A             :  Harga Tunai                            :  Rp.    50.000.000,-
                                       Harga Kredit/bulan                 :  Rp.         500.000,-
            Tipe B             :  Harga Tunai                            :  Rp.    75.000.000,-
                                       Harga Kredit/bulan                 :  Rp.         750.000,-
            Tipe C             :  Harga Tunai                            :  Rp.   85.000.000,-
                                       Harga Kredit/bulan                 :  Rp.         850.000,-
            Tipe D             :  Harga Tunai                            :  Rp. 100.000.000,-
                                       Harga Kredit/bulan                 :  Rp.      1.000.000,-
            Sebagai Input :
            -     Tipe Rumah
            -     Jenis pembayaran
                  Kode untuk pembayaran Tunai = T
                  Koden untuk pembayaran kredit = K
            Sebagai Output :
            -     Uang Pembayaran
            Contoh Output :
            Bila anda inputkan  :
                                 Tipe Rumah                  :           A
                                 Jenis Pembayaran     :  K
            Outputnya :
                                 Angsuran per bulan = 500000
            Bila anda inputkan  :
                                 Tipe Rumah                  :           A
                                 Jenis Pembayaran     :  T
            Outputnya :
                                 Angsuran per bulan = 5000000
            Bila anda inputkan  :
                                 Tipe Rumah                  :           D
                                 Jenis Pembayaran     :  T
            Outputnya :
                                 Angsuran per bulan = 100000000

      2.   Taxi “Azmar-Azmir” mempunyai tarif :
            Km pertama             = Rp. 2.500
            Km selanjutnya        = Rp. 1.800
            Jarak minimal adalah 1 km. jika seseorang menempu jarak kurang dari 1 km, ia harus membayar Rp. 2.500
            Diinput      : Jarak tempuh
            Dihitung    : Bayarnya

      3.   Restoran “Mas Deden” menerima pesanan tumpeng, tumpeng diantar ke tempat tujuan. Jenis – jenis tumpeng yang ada adalah tumpeng kuning, tumpeng Sunda, dan Tumpeng Jawa. Setiap tumpeng dapat dipesan dalam 3 (tiga) Ukuran yaitu kecil, sedang, dan besar. Harga Tumpeng hanya tergantung pada ukuran, tidak tergantung pada jenisnya. Misalnya tumpeng Kuning kecil Harganya sama dengan tumpeng Sunda ukuran kecil.
            Harga satuan Tumpeng untuk setiap ukuran adalah :
            -     Kecil             : Rp. 25.000
            -     Sedang         : Rp. 30.000
            -     besar             : Rp. 50.000
            Restoran tersebut merasa rugi jika pesanan kurang dari lima buah. Oleh sebab itu jika pesanan kurang dari 5 (lima) buah dikenakan biaya pengiriman sebesar 10% dari harga sebuah tumpeng.
            Contoh Perhitungan :
            Jenis tumpeng                            =    Tumpeng Sunda
            Ukuran                                       =    Kecil
            Banyaknya Pembelian                =    3 (Tiga)
            Harga total Tumpeng                 =    3 x 25000              =    75000
            Biaya Pengiriman                       =    10% x 25000         =      2500
            Total Pembayaran                                                          =    77500

      4.   Pajak atas barang – barang impor dari sebuah negara FGH dibagi menjadi 4 (empat) kelas :



Kelas
Jenis Barang
Pajak
1
2
3
4

Makanan
Pakaian, sepatu
Mesin – mesin
Barang mewah

10%
15%
20%
40%
           
            Masukkan     :  Kelas barang dan harga barang
            Keluaran       :  besarnya pajak
      5.   “Dunia Theater” mempunyai 3 buah studio. Berikut ini adalah judul film disetiap studio serta harga karcisnya.
Studio
Judul Film
Harga Karcis
1
2
3

Triple XXX
Titanic
Mirror

7000
6000
8000

     
            Buatlah program untuk menampilkan judul film dan jumlah pembayaran setiap pembeli.
            Masukkan     :  Nomor studio dan jumlah karcis yang dibeli oleh setiap pembeli
            Keluaran       :  Judul film dan jumlah pembayaran
PRAKTIKUM IV

A.  Tujuan Praktikum
      -     Mahasiswa mampu menggunakan perintah – perintah perulangan
      -     Mahasiswa mampu menyusun program berdasarkan algoritma yang ada.

B.  Materi
      -     While… do…
      -     Repeat… Until…
      -     For

C.  Kegiatan I
      1.   Ketiklah program dibawah ini :
            Contoh program dengan menggunakan While… do :
Program Jumlah_Bilangan;
Uses Crt;
Const
Batas_Awal       = 0;
Batas_Akhir       = 20;
Var
I, Jml : Integer;
Begin
ClrScr;
Writeln(‘-------------------------------------------------------------------‘);
Writeln(‘                    Jumlah Bilangan Bulat 0 – 20              ‘);
Writeln(‘-------------------------------------------------------------------‘);
I := Batas_Awal;
Jml := 0;
While I <= Batas_Akhir do
Begin
Writeln(I);
Jml := Jml + I;
I := I + 1;
End;
Writeln(;Jumlah bilangan bulat dari ‘, Batas_Awal’, Sampai ‘, Batas_Akhir’, Adalah = ‘, Jml);
Readln;
End.

            Contoh program dengan menggunakan For… :
Program Deret_Angka;
Uses Crt;
Var
K, m, n, i ; Byte;
Begin
ClrScr;
Writeln(‘Input Nilai Awal            :’); Readln(k);
Writeln(‘Input Kelipatan              :’); Readln(m);
Writeln(‘Input Banyak Angka      :’); Readln(n);
Clrscr;
For i  := 1 to n do
Begin
Write(k:4);
k := k + m;
End;
Readln;
End.

            Contoh program dengan menggunakan Repeat… Until :
Program Nilai;
Uses Crt;
Var
I : Integer;
Nama, Almt : String[30];
Nil1, Nil2, Jum, Rt : Real;
Begin
Repeat
ClrScr;
Writeln(‘Menghitung Nilai Mahasiswa           :’); Readln(k);
Writeln(‘--------------------------------------------‘);
Write(‘Nama Mahasiswa           :’); Readln(Nm);
Write(‘Alamat                            :’); Readln(Almt);
Write(‘Nilai Ke 1                       :’); Readln(Nil1);
Write(‘Nilai Ke 2                       :’); Readln(Nil2);
Rt := ( Nil1 + Nil2)/2;
Writeln;
If Rt >= 6 Then
Writeln(‘Lulus’)
If Rt < 6 Then
Writeln(‘Tidak Lulus’);
Readln;
Until t >= 9;
End.

      2.   Kompilasi program di atas, dan jika ada kesalahan program lakukan perbaikan, kemudian kompilasi lagi hingga program Anda benar, lalu perhatikan hasilnya.
      3.   Rekam program di atas dengan nama PRAKIVA.PAS dan PRAKIVB.PAS serta PRAKIVC.PAS
D.  Kegiatan II
      Lakukan kegiatan berikut :
      1.   Buka lembar kerja baru
      2.   Pelajari masalah berikut ini dan penyelesaiannya
            Buatlah program untuk menampilkan tabel konversi suhu dari suhu awal, suhu akhir dan kenaikan suhu yang di ketahui.
      Diinput :
            -     Suhu awal
            -     Suhu Akhir
            -     Kenaikan suhu

      Contoh Hasil :
            Suhu Awal Derajat Celcius                             :  50
            Suhu Akhir Derajat Celcius                            :  55
            Kenaikan Suhu                                                :  1
Tabel konvensi


         Celcius                                     Fahrenheit                             Reamour
          50.000                                       122.000                                 40.000
          51.000                                       123.000                                 40.800
          52.000                                       125.000                                 41.600
          53.000                                       127.000                                 42.400
          54.000                                       129.200                                 43.200
          55.000                                       131.000                                 44.000
Petunjuk :  Fahrenheit = 9/5 x Celcius + 32
                           Reamour          = 4/5 x Celcius

            Algoritma dari masalah di atas sebagai berikut :
            1.   Mulai
            2.   Masukkan suhu awal, suhu akhir dan kenaikan suhu
            3.   Cetak kop tabel
            4.   Taruh celcius = Suhu awal
            5.   Periksa apakah Celcius <= Suhu akhir
                  Bila ya : Lakukan langkah 6
                  Bila tidak : Lakukan langkah 10
            6.   Hitung suhu Fahrenheit = 9/5 x Celcius + 32
            7.   Hitunglah suhu Reamour = 4/5 x Celcius
            8.   Cetak nilai Celcius, Fahrenheit dan Reamour
            9.   Tambahkan nilai Celcius dengan kenaikan suhu
            10. Ulangi langkah 4
            11. Cetak garis Penutup tabel
            12. Selesai

      Contoh program dari algoritma di atas :
      Program konvensi_suhu;
      Var
                  Suhu_awal, suhu_akhir, Kenaikan         : Integer;
                  Celcius, Fahrenheit, Reamour                : Real;
      Begin
                  ClrScr();
                  {Input Data}
                  Write(‘Suhu Awal                            : ‘); Readln(Suhu_awal);
                  Write(‘Suhu Akhir                           : ‘); Readln(Suhu_akhir);
                  Write(‘Kenaikan Suhu                     : ‘); Readln(Kenaikan);
                  {Cetak Kop Tabel}
                  Writeln(‘--------------------------------------------------------------------‘);
                  Writeln(‘    Celcius            Fahrenheit                   Reamour          ‘);
                  Writeln(‘--------------------------------------------------------------------‘);
                  Celcius :=Suhu_awal;
                  While Celcius <= Suhu_akhir Do
                  Begin
                        Fahrenheit       := 9/5 * Celcius + 32;
                        Reamour      := 4/5 * Celcius;
                        Writeln(‘celcius, Fahrenheit, Reamour ‘);
                        Celcius := Celcius + Kenaikan;
                  End;
                  Writeln(‘--------------------------------------------------------------------‘);
                  Readln;
      End.
           
      3.   Bila program di atas dieksekusi maka akan diemui tampilan layar yang belum sempurna, tugas anda adalah menyempurnakan program di atas.
      4.   Rekam program yang anda buat dengan nama PRAKIVD.PAS






PRAKTIKUM V


A.  Tujuan Praktikum
      Setelah mengikuti praktikum, mahasiwa mampu menggunakan Tipe Data Larik dalam program Pascal

B.  Materi
      -     Larik / Array

C.  Kegiatan I
      1.   Lakukan kegiatan berikut
      2.   Ketiklah program di bawah ini :
            Uses Crt;
            Var
                  P,L,Luas : Array[1..3] of Real;
                  i : Integer;
            Begin
                  Clrscr;
                  For i := 1 to 3 do
                  Begin
                        Write(‘Panjang      : ‘); Readln(P[i]);
                        Write(‘Lebar         : ‘) Readln(L[i]);
                        Luas [i] := P [i] * L [i];
                        Writeln(‘Luas = ‘,Luas [i] :2:2)
                        Readln;
                  End;
            End.

            Program Sortir;
            Uses Crt;
            Var
                  nil1 : Array[1..100] of Integer;
                  n, i, ,j, temp : Integer;
            Begin
                  Write(‘mau isi berapa data acak (integer) = ‘); Readln(n);
                  For I := 1 to n Do
                  Begin
                        Write(‘Data Ke ‘,i,’: ‘); Readln(nil1[i]);
                  End;
                  {* penyapuan proses}
                  for i:= 1 to n-1 do
                  begin
                        for j:= i to n do
                        Begin
                              if nil1[j]<nil1[i] then
                              Begin
                                    temp :=nil1[j];
                                    nil1[j] :=nil1[i];
                                    nil1[i] :=temp;
                              End;
                        End;
                  End;
                  writeln(‘ Hasil Sortir ‘);
                  writeLn(‘-------------------------‘);
                  for i := 1 to n do
                  write(nil1[i]:3)
                  Readln;
            End.
      3.   Rekam program di atas dengan nama PRAKVA.PAS dan PRAKVB.PAS.
      4.   Kompilasi program di atas, dan jika terjadi kesalahan program lakukan perbaikan kemudian kompilasi lagi hingga program anda benar, dan perhatikan hasilnya.



D.  Kegiatan II
      Lakukan kegiatan berikut :
      1. Buka lembar kerja baru
      2.   Pelajari masalah berikut ini dan penyelesaiannya
            Buatlah program untuk memasukkan nilai siswa :
            Input         :  Nama siswa, Nilai
            Output       : 
                                 Nama Siswa                            Nilai Ujian
                                 ……………                            ……………
                                 ……………                            ……………
                                 Rata – rata Nilai Ujian =         ……………
      Petunjuk :
      -     Nama siswa dan nilai di simpan dalam variabel berindeks ( dimensi 1 )
      -     Pemasukkan Nama siswa berakhir bila di isi “X”
      Algoritma dari masalah di atas sebagai berikut :
            1.   Mulai
            2.   Masukkan nama siswa
            3.   Periksa apakah nama siswa bernilai  “X”?
                  Jika Ya, ke langkah 6
                  Jika tidak, ke langkah 4
            4.   Masukkan nilai siswa
            5.   Masukkan nama siswa, lalu ke langkah 3
            6.   Beri nilai awal untuk variabel jumlah_Nilai = 0
            7.   Lakukan pengulangan sebanyak jumlah siswa untuk menghitung jumlah nilai
            8.   hitung Rata – rata Nilai = Jumlah_Nilai / banyaknya siswa
            9.   Cetak kop Tabel
            10. Lakukan pengulangan sebanyak siswa yang di input untuk mencetak nama siswa dan nilai
            11. Pada akhir cetak rata – rata nilai ujian
            12. Selesai
      Contoh program dari algoritma di atas adalah sebagai berikut :

            Program Tanya_Siswa;
            Uses Crt;
            Var
                  Nama : Array [1..25] Of String[25];
                  Nilai    : Array [1..25] Of real;
                  Jum_Nilai, Rata-Rata : Real;
                  I, Banyaknya_Siswa : Byte;
            Begin
                  Clrscr;
{Bagian Membaca Data}
I := 1;
Write(‘Nama Siswa (Isi”X” jika selesai) : ‘); Readln(Nama[I]);
While Nama[I] <> ‘X’ Do
Begin
Write(‘Nilai Ujian                                        : ‘); Readln(Nilai[I]);
Inc(I);
Write(‘Nama Siswa (Isi “X” jika selesai : ’); Readln(Nama[I]);
End;
Banyaknya_Siswa :=I - 1:
Jum_nilai :=0;
For I := 1 to Banyaknya_Siswa DO
         Jum_nilai := Jum_Nilai + Nilai[I];
         Rata_rata := Jum_Nilai / Banyaknya_Siswa;

{Cetak Judul}
Clrscr;
WriteLn(‘         Daftar Nilai Ujian Siswa         ‘);
WriteLn(‘==========================’);
WriteLn(‘   Nama Siswa     Nilai Ujian          ‘);
For I := 1 to Banyaknya_Siswa Do
         WriteLn(Nama[I], Nilai[I]:6:6);
WriteLn;
WriteLn(‘=========================’);
WriteLn(‘Nilai Rata – rata = ‘Rata:6:2);
Readln;
End.
                 
      3.   Ubahlah program di atas sehingga dapat pula memasukkan Nis (Nomor Induk Siswa )
      4.   Simpan program yang anda buat dengan nama PRAKVC.PAS

E.  Kegiatan III
      Pilihlah salah satu soal di bawah ini! Buatlah algoritmanya, kemudian buat pula programnya dengan bahasa Pascal berdasarkan algoritma tersebut.
      Soal – soal
1.      sebuah perusahaan makanan ingin membuat pengolahan data melalui komputer, adapun data – data yang dapat di himpun adalah : kode barang, kode agen, dan jumlah. Bentuk laporan yang diinginkan adalah :
DAFTAR PENJUALAN
            Nama Barang        Harga/lusin         Jumlah       Potongan      Harga bersih
            xxxxxxxxxxx        Rp. xxxxxx        xxx            Rp.xxxx       Rp. xxx.xxx
            xxxxxxxxxxx        xxxxxxxxx         xxxx          xxxxxxx                   xxx
                                                                                    Total harga  = Rp. xx.xxx.xxx

            Buatlah program dari permasalahan di atas dengan ketentuan :
            -     Data – data I input melalui keyboard
            -     Input data selesai jika operator mengetik 0 (nol) untuk Kode Barang
            Nama Carang diambil dari internal tabel berdasarkan Kode Barang, yaitu :            
            KODE BARANG                  NAMA BARANG               HARGA / LUSIN
                     DR                                         Minuman                              Rp. 3.200
                     BR                                             Roti                                  Rp. 3.500
                      SN                                    Makanan ringan                        Rp. 2.500
                     KC                                           Kecap                                Rp. 4.000
                      CF                                             Kopi                                 Rp. 2.500
            -     Kode Agen tediri atas :
                  15 = mendapat potongan 2% dari harga kotor
                  20 = mendapat potongan 1% dari harga kotor    
                  25 = mendapat potongan 3% dari harga kotor
            -     Harga kotor dihitung berdasarkan Jumlah Barang x Harga per Lusin
            -     Harga bersih dihitung berdasarkan Harga Kotor – Potongan
            -     Pada akhir laporan cetak Total Harga
      2.   Buatlah program yang mencetak ke layar laporan sebagai berikut :
                                                Daftar Gaji Karyawan
            No. Urut                      NIP                       Nama                        Gaji
               xx                          xxxxxx               xxxxxxxxxxxx            xxxxxx
                                         ………               ………………            ………
                                         ………               ………………            ………
                                                                        Total Gaji              Rp. xxxxxx          
            Spesifikasi prosesnya adalah :
            -     Input data melalui keyboard yang terdiri dari : NIP, Nama, dan Gaji
            -     Proses berakhir jika NIP = “99”
            -     Pada akhir laporan cetak Total Gaji seluruh pegawai.


PRAKTIKUM VI

A.  Tujuan Praktikum
      Setelah mengikuti praktikum, mahasiswa mampu membuat sub program dengan prosedur dan fungsinya

B.  Materi
      1.   Procedure ( Prosedur )
      2.   Function ( Fungsi )

C.  Kegiatan I
      Lakukan Kegiatan berikut ini :
      1.   Ketik program di bawah ini :
                                    Program Tanya_Hitung;
            Uses Crt;
            Var
                  X, Y, Z : Real
            Procedure Hitung;
            Begin
                  Clrscr;
Write(‘Nilai X’)    : ‘); Readln(X);
Write(‘Nilai Y ‘     : ‘); Readln(Y);
Z := X + Y;
Writeln(‘Nilai Z’) = ‘,Z:3:2);
Readln;
End.
{Program Utama}
Begin
      Hitung;
End.
      2.   Rekam program di atas dengan nama PRAKVIA.PAS
      3.   Kompilasi program di atas, dan jika ada kesalahan program lakukan perbaikan, kemudian kompilasi lagi hingga program anda benar, dan perhatikan hasilnya.


D.  Kegiatan II
      1.   Ketiklah program di bawah ini :
     
            Uses Crt;
            Var
                  Pil : Char;
                  Keliling, Panjang, Lebar, luas, Alas, Tinggi  : Real;
            Procedure Hitung_Luas_Segitiga;
            Begin
                  Clrscr;
Write(‘Alas           :’); Readln(Alas);
Write(‘Tinggi        :’); Readln(Tinggi);
Luas := ½ * (Alas * Tinggi);
Readln;
End;
Procedure Hitung_Keliling;
            Begin
                  Clrscr;
Write(‘Panjang      :’); Readln(Panjang);
Write(‘Lebar         :’); Readln(Lebar);
Keliling  := (2 * Panjang) + (2 * Lebar);
Writeln(‘Keliling   = ‘Keliling:2:2);
Readln;
End;
{Program Utama}
Begin
      Repeat
            Begin
            ClrScr;
            Writeln(‘----------------------------------------------------‘);
            Writeln(‘                      Menu Pilihan             ‘);
            Writeln(‘----------------------------------------------------‘);
            Writeln(‘1. Hitung Luas                      ‘);
            Writeln(‘2. Hitung Keliling                 ‘);
            Writeln(‘3. Hitung Luas Segitiga        ‘);
            Writeln(‘4. Selesai                               ‘);
            Writeln(‘----------------------------------------------------‘);
            Write(‘Pilihan 1/2/3/4  :’); Readln(Pil);
            Case Pil Of
‘1’ : Hitung_Luas;
‘2’ : Hitung_Keliling;
‘3’ : Hitung_Luas_Segitiga;
End;
End;
Until (Pil=’4’);
End.

      2.   Rekam program di atas dengan nama PRAKVIB.PAS
      3.   Kompilasi program di atas, dan jika ada kesalahan program lakukan perbaikan, kemudian kompilasi lagi hingga program anda benar, dan perhatikan hasilnya.

E.  Kegiatan III
      1.   Ketiklah program di bawah ini :

            Program Hitung_Nilai_Rata:
            Uses Crt;
            Var
                  N : Integer
            Function Hitung_Rata_rata(N : Integer); Real;
            Var
                  x, k, Jumlah : Integer;
            Begin
Jumlah :=0;
K := 1;
While k <= N do
Begin
      Write(‘x : ‘); Readln(x);
      Jumlah := Jumlah + x;
      K := k+1;
End;
Hitung_Rata-rata := (Jumlah / N);
End;
{Program Utama}
Begin
                  Clrscr;
Write(‘Berapa banyak data           :’); Readln(N);
Write(‘Rata – rata =’, Hitung_Rata-rata(N):2:2);
Readln;
End.

Program Input_DtBarang;
Uses Crt
Var
kelas                      : Char;
J_barang                : String;
Harga                    : Longint;
Pajak                     : Real;
Procedure Input_Data;
            Begin
Write(‘Input Kelas            :’); Readln(kelas);
If kelas = ‘1’ Then
Begin
J_barang := ‘Makanan’;
Pajak         := 5/100;
End;
If kelas = ‘2’ Then
Begin
J_barang := ‘Pakaian’;
Pajak         := 10/100;
End;
If kelas = ‘3’ Then
Begin
J_barang := ‘Mesin-mesin’;
Pajak         := 20/100;
End;
Writeln(’Jenis Barang       :’,j_barang);
Writeln(’Jumlah Pajak       :’,pajak * 100:2:0,’%’);
Writeln(’Input Harga        :’,) Readln(harga);
End;


Function tampil;
Begin
Writeln(‘Jumlah pembayaran pajak   :’, j_pajak:7:2);
End;
{Program Utama}
Begin
      Repeat
ClrScr;
Input_data;
Tampil;
Readln;
Until
Readkey = #27;
End.

      2.   Rekam program di atas dengan nama PRAKVIC.PAS dan PRAKVID.PAS
      3.   Kompilasi program di atas, dan jika ada kesalahan program lakukan perbaikan, kemudian kompilasi lagi hingga program anda benar, dan perhatikan hasilnya.

F.   Kegiatan IV
      Pilihlah salah satu soal di bawah ini! Buatlah algoritmanya, kemudian buat pula programnya dengan bahasa pascal berdasarkan algoritma tesebut.
Soal - Soal
      1.   Buatlah algoritma serta programnya untuk menghitung Volume Kubus, Volume Balok, Dan Keliling Bujur Sangkar, dengan menggunakan Procedure.
      2.   Buatlah algoritma serta programnya untuk menghitung Luas Lingkaran, Luas Bujur Sangkar, Dengan Menggunakan Function.

1 komentar:

  1. bisa tolong dipostingkan jawabnnyakegiatan IV nomer 1 yang penjualan rumah ?
    trimz

    BalasHapus