blog.ub.ac.idblog.ub.ac.id/.../2013/06/MAKALAH-DASAR-PEMROGRAMAN.docx · Web viewMAKALAH DASAR...
Transcript of blog.ub.ac.idblog.ub.ac.id/.../2013/06/MAKALAH-DASAR-PEMROGRAMAN.docx · Web viewMAKALAH DASAR...
MAKALAH DASAR PEMROGRAMANTugas Array, Record,String,Modular Design,File
Dosen Pengampu : Ika Atsari Dewi, STP, MP.
KELAS C
Disusun oleh:
125100307111081 125100307111077 125100307111091
125100307111089 125100307111079 125100307111097 125100307111096
JURUSAN TEKNOLOGI INDUSTRI PERTANIAN
FAKULTAS TEKNOLOGI PERTANIAN
UNIVERSITAS BRAWIJAYA
MALANG
2013
A. MATERI ARRAY SATU DIMENSISOAL:Dengan bantuan variabel array, simpan dan tampilkan sepuluh jenis musik ini : pop, dangdut, jazz, kroncong, reggae, acapella, rock, heavy metal, instrumental, blues
JAWABAN:
program PR;
uses wincrt;
const
banyak_musik = 10;
var
musik : array [1..banyak_musik] of string;
i : integer;
jum : real;
total : real;
begin
jum:=0;
for i := 1 to banyak_musik do
Begin
write('Masukkan lagu ', i, ': ');
readln (musik[i]);
end;
jum:= total+banyak_musik;
writeln('Jumlah Musik ', jum:6:2);
for i := 1 to banyak_musik do
writeln('Lagu no ',i, ' adalah ', musik[i]);
end.
B. MATERI ARRAY MULTIDIMENSISOAL:Dengan array dan record, simpan dan tampilkan data barang berikut :Nama : Sari Apel, Kualitas : A, Harga : 550Nama : Jenang Apel, Kualitas : B, Harga : 750Nama : Buah Apel, Kualitas : C, Harga : 950JAWABAN:program buahbuahan;uses WinCrt; Const
maks = 950;type TOlahanApel = record harga : string[8]; nama: string[25]; kualitas: Char; end; TKumpulanOlahanApel = array[1..maks] of TOlahanApel;var i, n : integer; A: TKumpulanOlahanApel;begin clrscr; Writeln ('Jumlah Olahan Apel: '); readln (n); writeln;
{memasukkan data dalam array} writeln ('----------------------------------------------'); for i:= 1 to n do begin writeln ('Data Olahan Apel ke-', i); write ('harga : '); readln (a[i].harga); write ('Nama : '); readln (a[i].nama); write ('kualitas : '); readln (a[i].kualitas); writeln; end;{menampilkan data dari array} writeln ('DAFTAR OLAHAN APEL'); writeln ('----------------------------------------------'); writeln ('HARGA ', ' ':2, 'NAMA', ' ':10, 'KUALITAS',''); writeln ('----------------------------------------------');
for i:= 1 to n do begin writeln (a[i].harga, ' ':7, a[i].nama,' ':10,a[i].kualitas); end;end.
SOAL 2:Buat denah tempat duduk dengan jumlah baris 5 dan jumlah kolom 4
JAWABAN:
program denah_kelas;
uses wincrt;
var
denah:array[1..5,1..4] of integer;
i,j: integer;
begin
ClrScr;
denah[1,1]:=1;
denah[1,2]:=2;
denah[1,3]:=3;
denah[1,4]:=4;
denah[2,1]:=5;
denah[2,2]:=6;
denah[2,3]:=7;
denah[2,4]:=8;
denah[3,1]:=9;
denah[3,2]:=10;
denah[3,3]:=11;
denah[3,4]:=12;
denah[4,1]:=13;
denah[4,2]:=14;
denah[4,3]:=15;
denah[4,4]:=16;
denah[5,1]:=17;
denah[5,2]:=18;
denah[5,3]:=19;
denah[5,4]:=20;
for i := 1 to 5 do
begin
for j := 1 to 4 do
write (denah[i,j]:10);
writeln;
end;end.
C. MATERI RECORDSOAL :Buatlah contoh soal penjmlahan 3 matriks dengan jumlah baris 4 dan jumlah kolom 3
JAWABAN:
Program Penjumlahan_Matrik;
Uses WinCrt;
Var Matrik1,Matrik2,Matrik3, Hasil : Array[1..3,1..3] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln('input matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 3 Do
Begin
Write('baris -',i,' Kolom -',j,'= ');
Readln(matrik1[i,j]);
End;
End;
{input matrik ke dua}
Writeln('input matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 3 Do
Begin
Write('baris -',i,' kolom -',j,'= ');
Readln(matrik2[i,j]);
End;
End;
{input matrik ke tiga}
Writeln('input matrik tiga');
For i:= 1 to 3 Do
Begin
For j:= 1 to 3 Do
Begin
Write('baris -',i,' kolom -',j,'= ');
Readln(matrik3[i,j]);
End;
End;
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 3 Do
Begin
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j]+Matrik3[i,j];
End;
End;
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 3 Do
Begin
Write(Hasil[i,j]:6);
End;
Writeln;
End;
End.
D.STRINGSOAL :Tulislah bahasa pemrograman Pascal yang menampilkan output sebagai berikut:
JAWABAN :
program BacaString;uses WinCrt; Constteks = 'INDUSTRI';VAR i, jmlKar: integer; s: string;begin clrscr; s:=teks; jmlKar := length(S); {mendapatkan jumlah karakter string S} for i := 1 to jmlkar do begin writeln('S[', i, ']= ','', s[i], '' ) end;
S[1] = ‘I’S[2] = ‘N’S[3] = ‘D’S[4] = ‘U’S[5] = ‘S’S[6] = ‘T’S[7] = ‘R’S[8] = ‘I’
readln;end.
E.MATERI MODULAR DESIGNSOAL :Buatlah program yang berisi empat modul/sub program dengan spesifikasi berikut:
1. Saat dijalankan program menampilkan tampilan menu utama sebagai berikut:
2. Saat user memilih menu A, program harus menampilkan data diri pembuat program. Data yang harus ditampilkan adalah sebagai berikut (semua data yang diisikan harus valid
3. Saat dipilih menu B, program menampilkan isian dan tabel data nilai 10 mahasiswa kemudian menghitung nilai total dan rata-ratanya.
4. Saat dipilih menu C, program menampilkan pilihan mata uang yang akan di konversi ke dalam rupiah. Dalam tugas ini ditetapkan bahwa mata uang yang harus disediakan adalah:- USD (United States Dollar), kurs USD 1 = IDR 8700- AUD (Australian Dollar), kurs AUD 1 = IDR 8900- JPY (Japan Yen), kurs JPY 1 = IDR 106- EUR (Euro), kurs EUR 1 = IDR 12200- GBP (United Kingdom Pound), kurs GBP 1 = IDR 13900
5. Jika user memilih D, maka program akan menampilkan kalkulator sederhana untuk operasi perkalian, pembagian, penjumlahan dan pengurangan
6. Jika user memasukkan pilihan selain yang tersedia (selain A,B,C,D,E), program akan memberi tahu bahwa pilihan user salah dan harus mengulanginya
7. Jika dipilih E, program akan berhenti dan mengucapkan terima kasih kepada user
JAWABAN :program dea;uses wincrt;const r=8700; y=12200; f=106; g=8900; t=13900;varRata,tot, n1,n2,p,h:real;pilihan : char;menu,x,i, j:integer;n:array[1..1000] of real;mata,jumlah,w,z,bb,pertama,satu,kedua,dua,ketiga,tiga,keempat,empat,kelima,lima,keenam,enam,ketujuh,tujuh,kedelapan,delapan:integer;enter,data:string;beginenter:='';while enter='' do beginclrscr;writeln ('MENU UTAMA');writeln ('__________');writeln ('');writeln (' A. IdentitasDiri ');writeln (' B. Hitung rata-rata nilai ');writeln (' C. Konversi matauang asing');writeln (' D. Kalkulator sederhana');writeln (' E. Keluar');writeln ('');write ('Masukkan pilihan anda :');readln(pilihan);
case pilihan of'a','A': beginclrscr;writeln ('IDENTITAS DIRI');writeln ('');writeln ('--------------------------------------------------------------------');writeln ('Nama : Dea Putri Isdayanti') ;writeln ('NIM : 125100307111081') ;writeln ('TTL : Malang, 04 Februari 1994') ;writeln ('Alamat : Jl. Pattimura 4A/280 Malang ') ;writeln ('Email : [email protected]');writeln ('Phone : 085785079004');writeln ('--------------------------------------------------------------------');writeln(''); writeln('Tekan "enter" untuk kembali ke menu utama');readln(enter);end;'b','B':beginclrscr;write('Masukkan Banyaknya Mahasiswa :');readln(x);tot:=0;writeln('');for i:=1 to x dobeginwrite('Masukkan nilai mahasiswa ke-',i,':');readln(n[i]);tot:=tot+n[i];end;writeln('');writeln('Mahasiswa Nilai');writeln('------------------------------------------------------------------');writeln('');for i:=1 to x dowriteln(i:3,' ',n[i]:3:2);writeln('');writeln('------------------------------------------------------------------');writeln('');Rata:=tot/x;writeln('Nilai total :',tot:3:2);writeln('Rata-rata :',Rata:3:2);writeln('');writeln('Tekan "enter" untuk kembali ke menu utama');readln(enter);end;'c','C':beginclrscr;writeln('KONVERSI MATA UANG ASING KE IDR (Indonesian Rupiah)');writeln('--------------------------------------------------');writeln('Pilihan Mata Uang :');writeln('');
writeln('1. USD(United States Dollar), 1 USD = Rp 8700');writeln('2. AUD(Australian Dollar, 1 AUD = Rp 8900');writeln('3. JPY(Japan Yen), 1 Yen = Rp 106');writeln('4. EUR(Euro), 1 Euro = Rp 12200');writeln('5. GBP(United Kingdom Pound), 1 Poundsterling = Rp 13900');writeln('');write('Masukkan jenis mata uang yang ingin Anda konversi--> ');readln(mata);
w:=mata; if w=1 then begin data:='Data Anda diterima, jenis valuta Anda Dollar USA'; bb:=r; end; if w=2 then begin data:='Data Anda diterima, jenis valuta Anda Dollar AUS'; bb:=g; end; if w=3 then begin data:='Data Anda diterima, jenis valuta Anda Yen'; bb:=f; end; if w=4 then begin data:='Data Anda diterima, jenis valuta Anda Euro'; bb:=y; end; if w=5 then begin data:='Data Anda diterima, jenis valuta Anda Poundsterling'; bb:=t; end;writeln('');writeln(data); write('Masukan jumlah uang yang akan anda konversi --> ');readln(jumlah);writeln(''); z:=bb*jumlah;writeln('Uang Anda dalam Rupiah --> ',z,' rupiah');writeln('');writeln('Dengan Pencacahan :');pertama:=z div 100000;satu:=pertama*100000; z:=z-satu;
writeln('Rp 100.000 --> ',pertama);kedua:=z div 50000;dua:=kedua*50000; z:=z-dua;writeln('Rp 50.000 --> ',kedua);ketiga:=z div 20000;tiga:=ketiga*20000; z:=z-tiga;writeln('Rp 20.000 --> ',ketiga);keempat:=z div 10000;empat:=keempat*10000; z:=z-empat;writeln('Rp 10.000 --> ',keempat);kelima:=z div 5000; lima:=kelima*5000; z:=z-lima;writeln('Rp 5.000 --> ',kelima);keenam:=z div 1000;enam:=keenam*1000; z:=z-enam;writeln('Rp 1.000 --> ',keenam);ketujuh:=z div 500;tujuh:=ketujuh*500; z:=z-tujuh;writeln('Rp 500 --> ',ketujuh);kedelapan:=z div 100;delapan:=kedelapan*100; z:=z-delapan;writeln('Rp 100 --> ',kedelapan);writeln('');writeln('Tekan "enter" untukkembalike menu utama');readln(enter);end;'d','D':beginclrscr;writeln('Program Kalkulator');writeln('==================');write('Masukkan Nilai Pertama= ');readln(n1);write('Masukkan Nilai Kedua= ');readln(n2);writeln('PilihOperasi:');writeln('1 -->Perkalian');writeln('2 -->Pembagian');writeln('3 -->Penjumlahan');writeln('4 -->Pengurangan');write('Pilihananda [1..4]= ');readln(p);if p=1 then h:=n1*n2;if p=2 then h:=n1/n2;
if p=3 then h:=n1+n2;if p=4 then h:=n1-n2;writeln('Hasil Operasinya Adalah= ',h:0:2);writeln('');writeln('Tekan "enter" untuk kembali ke menu utama');readln(enter);end;'e','E':beginenter:= 'a'end;else beginclrscr;writeln('Maaf,huruf yang anda ketik salah');writeln('');writeln('Pilihan anda salah, silahkan ulangi dengan memasukkan pilihan yang tersedia');write('Tekan "enter" untuk kembali ke menu utama ');readln(enter);end;writeln('');writeln('Terimakasih....');end;end;end.
F.MATERI FILE
SOAL :Buatlah sebuah file baru dengan nama BIODATA yang berlokasi di drive D dengan nama direktori KUMPULAN DATA dengan mengisikan data sebagai berikut :Nama : Nama_andaAngkatan : Tahun_anda_masukFakultas : Teknologi PertanianJurusan : Teknologi Industri PertanianMata Kuliah Semester Genap : Mata_kuliah_yang_anda_ambil_semester_ini
JAWABAN :
Program fileteman;Uses wincrt;Var
Jenisfile: text;Nama, angkatan, fakultas,jurusan,matkul : string;Tanya: char;Pilihan: shortint;beginrepeatclrscr;writeln;writeln(' pilih salah satu menu :');writeln(' -----------------------------------');writeln(' 1. Membuat file data baru');writeln(' 2. Memasukkan data baru');writeln(' 3. Menampilkan data');writeln(' 4, keluar');writeln(' -----------------------------------');write('pilihan anda : '); readln (pilihan);case pilihan of1: beginAssign (jenisfile,'kumpulan_data.txt');Rewrite(jenisfile);
Writeln('file data berhasil dibuat !');Close (jenisfile);End;2: beginAssign (jenisfile,'kumpulan_data.txt');Append(jenisfile);repeatclrscr;write(' nama:'); readln(nama);write(' angkatan:'); readln(angkatan);write(' fakultas:'); readln(fakultas);write(' jurusan:'); readln(jurusan);write(' mata kuliah:'); readln(matkul);writeln;writeln(jenisfile,nama);writeln(jenisfile,angkatan);writeln(jenisfile,fakultas);writeln(jenisfile,jurusan);writeln(jenisfile,matkul);writeln;write('apakah mau memasukkan data lain (Y/T): ');Tanya:= readkey;Until upcase (Tanya)= 'T';Writeln('data telah dimasukkan !');Close(jenisfile);End;3: beginAssign (jenisfile,'kumpulan_data.txt');Reset(jenisfile);Repeatreadln(jenisfile,nama);readln(jenisfile,angkatan);readln(jenisfile,fakultas);readln(jenisfile,jurusan);readln(jenisfile,matkul);clrscr;writeln(' nama: ',nama);writeln(' angkatan: ',angkatan);writeln(' fakultas: ',fakultas);writeln(' jurusan: ',jurusan);writeln(' mata kuliah: ',matkul);writeln;if nama= ' ' then Tanya:= 'T'elsebeginwrite ('apakah melihat data berikut (Y/T) : ');Tanya:=readkey;
End;Until upcase (Tanya)= 'T';Close (jenisfile);End;ElseEnd;Until pilihan=4;End.