-
Pengertian Algoritma : adalah urutan langkah-langkah logis dalam
penyelesaian masalah yang disusun secara sistematis.Contoh
1:Tentukan nilai a dengan rumus a=b+c
Urutan penyelesaian masalah :Tentukan outputtentukan data input
( b dan c )lakukan proses (a=b+c)tampilkan output (a)
A?---------- Untuk menentukan nilai A maka yang harus kita
ketahui terlebih dahulu adalah nilai B dan nilai CPengantar
AlgoritmaKeterangan :Untuk nilai a dan b ini dapat berupa konstanta
atau merupakan hasil proses yang lainnya. Jadi Nilai A tidak akan
bisa didapatkan sebelum kita mengetahui nilai B dan nilai C. Jadi
langkah pertama kita adalah menentukan nilai B dan C, kemudian baru
menghitung pertambahan kedua nilai tersebut. Hasil dari proses ini
merupakan output yang dinginkan. Urutan proses inilah yang disebut
sebagai urutan logis.
-
Contoh 2:Y=A+B dengan nilai B merupakan perkalian nilai x dan
Z
Contoh 3 :Total Harga =harga * jumlah BarangDisk = 10 % dari
total hargaPembayaran = Total Harga - DiskContoh 4:Bejana A berisi
air berwarna Biru dan bejana B berisi air berwarna Merah. Tukarkan
isi dari bejana tersebut sehingga bejana A berisi air berwarna
merah dan bejana B berisi air berwarna Biru.
Siapkan Satu bejana C. Pindahkan isi bejana A Ke C, kemudian
pindahkan isi bejana B ke A, kemudian pindahkan isi bejana C ke
BAlat-alat Bantu dalam menggambarkan Algoritma- Algoritma- Ipo
Chart - Flow Chart Program
-
Contoh penggunaan alat Bantu diatas: (kasus dari contoh
pertama)A=B+C AlgoritmaUrutan instruksi yang diberikan adalah
:-Tentukan nilai B dan C-Proses nilai B ditambah nilai C-Cetak
hasil
2. IPO Chart2. Flow Chart
-
MENGHITUNG NILAI A-------------------------------INPUT NILAI B
:INPUT NILAI C :NILAI A ADALAH :USES CRT;VAR A,B,C :LONGINT;BEGIN
CLRSCR; GOTOXY(25,5);WRITE(MENGHITUNG NILAI A);
GOTOXY(25,6);WRITE(---------------------------------);
GOTOXY(25,7);WRITE(INPUT NILAI B :); GOTOXY(25,8);WRITE(INPUT NILAI
C :); GOTOXY(25,9);WRITE(NILAI A ADALAH :); GOTOXY(45,7);READLN(B);
GOTOXY(45,8);READLN(C); A:=B+C; GOTOXY(45,9);WRITE(A);
READKEY;END.
-
Pertemuan 2Simbol-Simbol Flow Chart
Awal dan akhir suatu proses / Flowchart ProgramInisialisasi
variable / persiapan awal / deklarasi variabelInput dan output (
masukan dan keluaran ) programProses programPercabangan /
perulanganPerulanganConector (tanda sambung untuk halaman sama
)Conector ( tanda sambung untuk halaman berbeda )Arah proses
Procedure ( blok program ) / Function
-
Struktur Bahasa Pascal
- Judul Program- Blok Program - Bagian Deklarasi - variable -
label - konstanta - type - procedure - function - Bagian
PernyataanPerintah Input Output
- Read dan readln (perintah input )- Write dan writeln (perintah
output)
contoh : readln(a) ------ input nilai Awrite(A) ------ cetak
nilai Awrite(A) ------ cetak APengertian Algoritma : adalah urutan
langkah-langkah logis dalam penyelesaian masalah yang disusun
secara sistematis.
-
Contoh Soal :
1. Buat flowchart program dan program Pascal untuk menampilkan
hasil perkalian sebagai berikut :A=B x C ------- Nilai B Dan C
DiinputkanP=Q(R+S) + R(Q+S)------- Nilai Q,R,dan S diinputkan2.
Tentukan Nilai P, dimana p merupakan perkalian dari nilai q dan r,
sedangkan nilai q adalah hasil penjumlahan nilai r dan s3. Buat
Flowchart untuk menghitung luas segitiga siku-siku4. Buat Flowchart
program untuk menghitung luas bujur sangkar5. Buat Flowchart untuk
menghitung luas dari sebuah lingkaran6. Buat Flowchart untuk
menghitung isi balokDeklarasi Variabel, Label, Konstanta
Deklarasi variable dinyatakan dengan statemen VarContoh :
VarA:integer;
Deklarasi Label dinyatakan dengan statemen LabelContoh :
Label100
Deklarasi konstanta dinyatakan dengan statemen ConstContoh
:Const a:=100;
-
Syarat-syarat pemberian nama variable1. harus dimulai dengan
huruf2. harus merupakan satu kesatuan3. Tidak boleh ada
symbol-simbol khusus kecuali _ (garis bawah)4. Huruf besar dan
kecil dianggap sama5. Panjang tidak terbatas6. Tidak boleh
merupakan perintah (statement) yang tersedia di systemDeklarasi
Fungsi dan prosedure
Fungsi dan prosedure merupakan blok program yang terpisah dari
program utama yang mempunyai struktur program hampir sama dengan
program utama. Prosedure dinyatakan dengan statemen PROCEDURE
sedangkan fungsi dinyatakan dengan statemen FUNCTIONCONTOH
FUNGSIFUNCTION AKAR;BEGINEND;CONTOH PROSEDURPROCEDURE
SATU;VARBEGINEND;
-
Tipe Data Pada Program PascalProgram komputer bekerja dengan
memanipulasi data didalam memori. Data yang dimanipulasi mempunyai
beberapa tipe data seperti :1. numerik2. karakter3. string4.
rekaman (record)Tipe data dapat dikelompokkan dalam dua kelompok
yaitu :Tipe Dasar (nilainya bisa langsung dipakai)Tipe Bentukan
(tipe data yang didefenisikan dari tipe dasar)I. Tipe Dasar Yang
termasuk tipe dasar adalah :- bilangan- karakter- logika
A. Tipe bilangan ada beberapa macama. Bilangan bulat- Shortint
-128 s/d +127- Byte 0 s/d 255- Integer-32768 s/d +32767 -
Longint-2147483648 s/d +2147483648- Word0 s/d 65535
-
b. Bilangan pecahan- Real2.9 X 10 39 s/d 1,7 X 10 38- Single1.5
X 10 45 s/d 3,4 X 10 38- Double5.0 X 10 324 s/d 1,7 X 10 308-
Extend3.4 X 10 4932 s/d 1,1 X 10 4932
B. Tipe data KarakterYang termasuk kedalam tipe data karakter
adalah : huruf-huruf alfabet, tanda baca, angka 0,1,.9 dan karakter
khusus &,^,..Tipe data yang disediakan adalah char dan
string
C. LogikaTipe data ini mempunyai nilai Benar dan Salah. Tipe
data yang disediakan sistem adalah Tipe data Boolean dengan nilai
true atau falseII. Tipe BentukanTipe bentukan adalah tipe data yang
didefenisikan sendiri oleh pemrogram.Ada 3 tipe data bentukan-
String- Tipe data dasar yang diberi nama dengan nama tipe baru.-
Rekaman (record)
-
c. RekamanContoh : Type mahasiswa=recordNbp :string[13];Nm
:string[25];End;a. StringAdalah deretan karakter dengan panjang
tertentuContoh : a:string[15]
b. Tipe data dasar yang diberi nama baruContoh : Type BilBulat :
Integer:
- Operator Pada Program Operator Aritmatika+, - , * , / , div ,
modKeterangan : - operator / digunakan untuk pembagian dengan hasil
adalah bilangan pecahan- operator div digunakan untuk pembagian
dengan hasil adalah bilagan bulat- mod adalah operator yang
digunakan untuk mencari sisa hasil bagi Berikut prioritas
pengerjaan dari masing-masing operator.1. * , /, mod , div2. + dan
2. Operator RelasionalAdalah operator yang digunakan untuk
perbandingan, sebagai berikut :< , > , >= ,
-
Runtunan Merupakan urutan proses program yang terurut tanpa
adanya proses percabangan dan perulangan. Contoh : 1. Nilai x bisa
didapatkan dari hasil perkalian p dan q. dimana nilai p didapatkan
dari formula berikut :P=3a+b *c Sedangkan nilai q didapat kan dari
formula q=4b*c+d
-
2. Nilai Y merupakan perkalian nilai x dan z. Nilai x adalah
hasil penjumlahan nilai z dan q. Sementara nilai z merupakan
penjumlahan nilai a dan b. Dibuat flowchart program untuk
menyelesaikan kasus tersebut.
Uses crt;Var y, x, z, q, a, b : longint;Begin clrscr
;write(Input Nilai A :) ; readln(a) ;write(Input Nilai B :) ;
readln(b) ;write(Input Nilai Q :) ; readln(q) ;z:=a+b ;x:=z+q
;y:=x*z ;write(Nilai Y adalah:) ; write(y) ;readkey ;End .
-
3. Buat flowchart program untuk menghitung luas segitiga
siku-sikuUses crt;Var Luas, Alas, Tinggi : Real;Begin clrscr;
write(Input Alas :);readln(alas); write(input Tinggi :);
readln(tinggi); Luas := 0.5 * alas * tinggi; write(Luas Segitiga
Adalah :,Luas); readkey;End.
-
6. Buat flowchart program untuk menghitung luas permukaan sebuah
balok4. Buat flowchart program untuk menghitung luas bujur
sangkar
-
Buat Flowchart dan program untuk menghitung pembayaran dari
sebuah transaksi yang terjadi di sebuah toko, dengan output program
sebagai berikut :
25 40 5Proses Pembayaran Belanja Toko XYZ 6 7Nama Barang :
8Harga Barang : 9Jumlah Penjualan : 10Total Harga : 11Jumlah Diskon
: 12Pembayaran :
Ketentuan Proses :Total Harga = Jumlah Penjualan * Harga
BarangJumlah Diskon = 0.1 * Total HargaPembayaran = Total Harga
Jumlah DiskonBuat Di Kertas Satu Lembar
Jam 12.00Di Kumpulkan
-
USES CRT;VAR A,B,C,D,P,Q,X : LONGINT;BEGIN
CLRSCR;WRITELN(PROGRAM
ARITMATIKA);WRITELN(----------------------------------);WRITE(NILAI
A : ); READLN(A);WRITE(NILAI B : ); READLN(B); WRITE(NILAI C : );
READLN(C); WRITE(NILAI D : ); READLN(D);P :=3*A+B*C;Q
:=4*B*C+D;X:=P*Q;WRITE(NILAI P ADALAH :);WRITELN(P);WRITE(NILAI Q
ADALAH :);WRITELN(Q);WRITE(NILAI X ADALAH :);WRITELN(X);REPEAT
UNTIL KEYPRESSED;END.
-
Struktur Percabangan Yaitu pemilihan suatu instruksi yang akan
dikerjakan sesuai dengan kondisi / syarat tertentu A.
IFTHENDigunakan jika pada pemilihan hanya ada satu aksi yang akan
dilakukan jika kondisi tertentu terpenuhi dan tidak ada aksi yang
lain yang akan dikerjakan jika kondisi tidak terpenuhi.Contoh :jika
nilai rata besar dari 3 maka ket dapat bonus jika tidak , tidak
dapat apa-apa.Write (nilai rata-rata:);Readln(nil_rata);If nil_rata
> 3 then ket:=Dapat Bonus;
ATAU :
-
B. IFTHEN.ELSEDigunakan jika pada pemilihan ada dua aksi yang
akan dilakukan Contoh : jika nilai besar dari 60 maka keterangan
lulus jika tidak keterangan gagalWrite (Input nilai
:);Readln(nilai);If nilai > 60 then ket:=LulusElse ket
:=Gagal;
ATAU :
Write(Inputkan nilai: );Readln(nilai);If nilai > 60 thenBegin
Ket:=Lulus;EndElseBegin Ket:=Gagal;End;
-
C. IFTHENELSE IF.THENELSEDigunakan jika pada pemilihan ada
beberapa aksi yang akan dilakukan berdasarkan beberapa syarat yang
harus terpenuhi. Contoh : a. Tentukan apakah wujud air dalam
keadaan cair, padat, atau gas. Uses crt;Var suhu :byte;
Ket:string[10];Begin Clrscr; Write(Inputkan Suhu: ); Readln(suhu);
If suhu = 100 then Ket:=Gas Else Ket:=Cair;
Write(Keterangan:);write(ket);Readln;End. atau
Uses crt;Var suhu :byte; Ket:string[10];Begin Clrscr;
Write(Inputkan Suhu: ); Readln(suhu); If suhu = 100 then Begin
Ket:=Gas end Else Begin Ket:=Cair end; Write(Keterangan :, Ket);
Readln;End.
-
b. Tentukan apakah suatu bilangan negati, positif, atau nol
Struktur CaseStruktur case adalah cara lain yang bisa digunakan
untuk memilih suatu kondisi tertentu.Syntax:Case (var)Var = ..:
hasil =..Var = ...: hasil =....Endcase
-
Buat program untuk menghitung pembayaran dari sebuah transaksi
yang terjadi di sebuah toko, dengan output program sebagai berikut
:
20 45 5Proses Pembayaran Belanja Toko XYZ
7Nama Barang : 8Harga Barang : 9Jumlah Penjualan :10Total Harga
:11Jumlah Diskon :12Pembayaran :
Ketentuan Proses :Total Harga = Jumlah Penjualan * Harga
BarangJika Total Harga besar dari 100000, maka diskon 0.1 * Total
Harga jika tidak maka tidak ada diskon.Pembayaran = Total Harga
Jumlah Diskon
-
Buat flowchart untuk menentukan nilai huruf mahasiswa berikut
ini dengan output program adalah sebagai berikut :Latihan :Nilai
Ahir = 40%*mid+60%*semKetentuan proses :Jika nilai akhir >= 80
maka nilai huruf adalah A, mutu = 4Jika nilai akhir >= 65 maka
nilai huruf adalah B, mutu = 3Jika nilai akhir >= 55 maka nilai
huruf adalah C, mutu = 2Jika nilai akhir >= 40 maka nilai huruf
adalah D, mutu = 1Jika nilai akhir < 40 maka nilai huruf adalah
E, mutu = 0 Program Percabangan----------------------------Input
Nomor Bp:..x[14].....Input
Nama:..x[25]...........Matakuliah:..x[25]Nilai Mid:.999.Nilai
Semester:.999.Nilai Akhir:.999.Nilai Huruf adalah:.x..Mutu:.9..
-
USES CRT;VAR NBP : STRING[16]; NM : STRING[25]; NA : REAL; NH :
CHAR;BEGIN CLRSCR; WRITELN('MENENTUKAN NILAI HURUF');
WRITELN('-----------------------------------------'); WRITE ( INPUT
NOMOR BP : ');READLN(NBP); WRITE ( INPUT NAMA : ');READLN(NM);
WRITE ( INPUT NILAI ANGKA : ');READLN(NA);
IF NA>=80 THEN BEGIN NH:='A' END ELSE IF NA>=65 THEN BEGIN
NH:='B' END ELSE IF NA>=55 THEN BEGIN NH:='C' END ELSE IF
NA>=40 THEN BEGIN NH:='D' END ELSE BEGIN NH:='E' END;
WRITE('NILAI HURUF :'); WRITELN(NH); READLN;END.
-
LATIHAN TUGAS 1 (DI DOUBLE FOLIO) UNTUK MINGGU DEPANBuat
flowchart dan program Pascal untuk output berikut ini dengan jumlah
barang sebanyak 5 jenis barang:
Program Penjualan-----------------------Data Barang Ke:.Input
Nama Barang :...................Input Harga Barang
:...........Input Jumlah Jual :.....Total Harga :............Jumlah
Discount :...........Pembayaran :...............Total
Pembayaran:..
Jika total harga >500000 maka discount adalah 15 % dari total
hargaJika total harga >250000 maka discount adalah 5 % dari
total hargaJika total harga
-
TUGAS 2 (DI DOUBLE FOLIO) UNTUK MINGGU DEPANBuat flowchart dan
program untuk menghasilkan output berikut DENGAN JUMLAH MAHASISWA
SEBANYAK 50 ORANG:
Program Percabangan-----------------------------Nomor Bp
:Nama:IPK:Keterangan:
Jika ipk >3.50 ket Dengan PujianJika ipk >3.00 ket Sangat
MemuaskanJika ipk
-
Buat Flowchart dan program untuk menghasilkan output berikut
:20455Pembayaran Listrik6No.rek:X(10)..7Nama:X(25).8Besar
Daya:999.9Meter Bulan Lalu:9999.10Meter Bulan Ini:9999..11Biaya
Beban:9999912Pakai:99913Pembayaran:9999999
Ketentuan Proses :Jika Daya = 450, maka biaya beban = 10000Jika
daya = 900, maka biaya beban = 15000Jika daya = 1200, maka biaya
beban = 20000Pakai = meter b ini- meter b laluUntuk harga per kwh
ditetapkan sebesar 500 /kwhPembayaran = b.beban+pakai*harga/kwh
-
Uses crt;Var nr: string[10]; nm: string[20];
bd,mbi,mbl,pakai,pby,harga,beban :longint;Begin clrscr;
writeln(Pembayaran Listrik); writeln(==============); write(No.
Rekening :) ; readln(nr); write(Nama :) ; readln(nm); write(Besar
Daya :) ; readln(bd); write(Meteran Bulan Lalu :) ; readln(mbl);
write(Meteran Bulan Ini :) ; readln(mbi); if bd=450 then bb:=10000
else if bd=900 then bb:=15000 else bb:=20000;
pakai:=mbi-mbl; harga:=500; pby := bb + pakai * harga ;
writeln(Biaya Beban : , bb); writeln(Pakai : , pakai);
writeln(Harga : , harga); writeln(Pembayaran :
,pby);Readkey;End.
-
Buat Flowchart dan Program untuk menghasilkan output berikut:
2030405ENTRY DATA GAJI6--------------------------7 Nip :x[10]8
Nama:x[20]9 Golongan:x10 Status [M/D/S]:.x11 Jam Kerja:99912
Tunjangan I/S:9999999.9..13 Gaji Pokok:999999914 Gaji
Lembur:.9999999.15 Total Gaji:9999999.9..
Ketentuan proses :Jam Kerja wajib perbulan adalah 160 jam, jika
lebih dihitung sebagai lembur dengan gaji lembur per jam adalah
15000.Gaji pokok berdasarkan golongan dengan ketentuan sebagai
berikut:Jika gol=A maka gaji pokok 1000000 Jika gol=B maka gaji
pokok 1500000 Jika gol=C maka gaji pokok 2000000 Jika gol=D maka
gaji pokok 2500000Tunjangan I/s diberikan jika status adalah M atau
D sebanyak 10 % dari gaji pokokTotal gaji = gaji pokok + tunjangan
i/s + gaji lembur
-
Buat Flowchart dan program untuk menghasilkan output berikut :
Pembayaran ListrikNo.rek:..Nama:.Besar Daya:.Meter Bulan
Lalu:..Meter Bulan Ini:..Biaya
Beban:Pakai:..Blok1=Blok2=Blok3=..Harga Blok 1:..Harga Blok
2:..Harga Blok 3:..Pembayaran:
Ketentuan Proses :Jika Daya = 450, maka biaya beban = 10000 Jika
daya = 900, maka biaya beban = 15000 Jika daya = 1200, maka biaya
beban = 20000Pakai = meter b ini- meter b laluPembayaran =
b.beban+b3*h3+b2*h2+b1*h1Jika Pakai > 750, maka blok3=pakai-750,
blok2=250, blok1=500Jika pakai > 500, maka blok3=0,
blok2=pakai-500, blok1=500Jika pakai
-
P e r u l a n g a n - Nilai awal perulangan akan bertambah
secara otomatis 1 ketika statemen end dibaca oleh sistem
- Perulangan dengan statemen For jumlahnya terbatas sesuai
dengan yang sudah ditentukan diawal perulangan
1. For ..todo
For X := ..awal.. to ..akhir.. Do Begin .. .. End;Ket : - awal,
akhir adalah batas perulangan .- Perulangan dengan statement for
to..do akan dilakukan mulai dari nilai x = awal sampai dengan x =
akhir. - Semua pernyataan yang terdapat diantara begin dan end akan
dilakukan secara berulang sebanyak jumlah perulangan yang
ditetapkan.
-
Buat flowchart dan program untuk menampilkan kata pascal
sebanyak 5 kali dengan menggunakan perulangan for .to..do dan
while.do Program :Uses Crt;Var x : byte ; BeginClrscr;Writeln
(Program Perulangan);Writeln (-------------------------);For x:= 1
to 5 doBeginWriteln(Pascal);End;Readln;End.
-
BUAT FLOWCHART DAN PROGRAM UNTUK MENGHITUNG NILAI RATA-RATA DARI
5 BUAH BILANGAN DENGAN OUTPUT SEBAGAI BERIKUT :MENCARI NILAI
RATA-RATABILANGAN-1
:...BILANGAN-2:...BILANGAN-3:...BILANGAN-4:...BILANGAN-5:..RATA-RATA
=......
-
Buat flowchart dan program dengan menggunakan perulangan Fortodo
dan While .do untuk soal berikut :
Menampilkan Bilangan mulai dari 15 s/d 252. Menampilkan Bilangan
Ganjil mulai dari 15 s/d 253. Menampilkan bilangan yang habis
dibagi dengan lima antara 100 dan 2004. Bilangan Genap dari 50
sampai 100 5. Menampilkan bilangan ganjil dari 50 sampai 100 yang
habis di bagi 56. Buat flowchart dan program untuk menampilkan
output sbb dengan menggunakan perulangan for to do dan while do 10
12 16 22 30 40
-
USES CRT;VAR NB:STRING[20]; HB,TH,JJ,X : LONGINT;
DISC,PB,tpb:REAL;BEGIN for x:=1 to 5 do begin CLRSCR; WRITELN('DATA
BARANG KE :',X); WRITELN; WRITELN('PROGRAM PENJUALAN');
WRITELN('-----------------'); WRITE('NAMA BARANG :');READLN(NB);
WRITE('HARGA BARANG :');READLN(HB); WRITE('JUMLAH JUAL
:');READLN(JJ); TH:=HB*JJ; WRITE('TOTAL HARGA:');WRITELN(TH); IF
TH>500000 THEN BEGIN DISC := 0.15*TH END
-
ELSE IF TH>250000 THEN BEGIN DISC := 0.05*TH; END ELSE BEGIN
DISC := 0; END; WRITEln('DISCOUNT :',DISC:7:2); PB:=TH-DISC;
WRITE('PEMBAYARAN :');WRITELN(PB:7:2); tpb:=tpb+pb; WRITE('TOTAL
PEMBAYARAN :');WRITELN(TPB:7:2); READKEY; end;END.
-
Buat flowchart dan program untuk soal berikut :2530505ENTRY DATA
BUKU6NAMA BUKU:..7PENGARANG:..8PENERBIT:.9JUMLAH:.10HARGA/ 1
BUKU:11ADA DATA LAGI [Y/T]:..
13TOTAL HARGA BUKU :.14RATA-RATA HARGA BUKU:.......Proses :Total
Harga Buku = Total Harga Buku + Harga / 1bukuRata-rata Harga Buku =
Total Harga Buku / Total Jenis BukuGunakan perulangan dalam
menginputkan data sesuai dengan disain output diatas
1.
-
Buat flowchart dan program untuk soal berikut :25305ENTRY
MATAKULIAH6NOMOR BP:..7NAMA:..9KODE MATAKULIAH:.10NAMA
MATAKULIAH:.11SKS:12NILAI HURUF:.13MUTU:......14BOBOT:.....15ADA
DATA MATAKULIAH LAGI [Y/T]:..17TOTAL SKS:....18TOTAL
BOBOT:.....19INDEK PRESTASI RATA-RATA:.
NILAI HURUF A, MUTU 4NILAI HURUF B, MUTU 3NILAI HURUF C, MUTU
2NILAI HURUF D, MUTU 1NILAI HURUF E, MUTU 0
BOBOT=SKS*MUTU
TSKS=TSKS+SKSTBOBOT=TBOBOT+BOBOT
IPK=TBOBOT/TSKS
-
uses crt;var nb,peng,pen
:string;jml,hg,np,tnp:longint;adl:char;begin adl:='y'; while
adl='y' do begin clrscr; writeln('ENTRY DATA BUKU');
writeln('----------------------------'); write('NAMA BUKU
:');readln(nb); write('PENGARANG :');readln(peng); write('PENERBIT
:');readln(pen); write('JUMLAH :');readln(jml); write('HARGA
:');readln(hg); np:=jml*hg; tnp:=tnp+np; writeln('NILAI PERSEDIAAN
:',np); write('ADA DATA LAGI [Y/T]');readln(ADL); END; write('TOTAL
NILAI PERSEDIAAN : ',TNP); READKEY;END.
-
ENTRY DATA NASABAH Kode Nasabah: X(6)Nama Nasabah: X(25)Type
Rumah: X(4)Uang Muka: 999999Lama Angsuran: 999Harga Rumah:
9999999Angsuran Pokok Per Bulan: 99999999.9Bunga Kredit:
9999999.9Jumlah Angsuran: 9999999.9Ada Data Lagi[Y/T] : X
Ketentuan Proses :a. Jika type rumah adalah RS21 maka harga
adalah 40000000Jika type rumah adalah RS36 maka harga adalah
71000000Jika type rumah adalah RS45 maka harga adalah 125000000Jika
type rumah adalah RS72 maka harga adalah 175000000b. Jumlah
Angsuran dapat dicari dengan rumus sebagai berikut :Angsuran Pokok
= ((harga rumah uang muka )/ lama angsuran) Bunga= 0.16/12
*Angsuran pokokJumlah Angsuran= Angsuran pokok + bunga
-
uses crt;var nm:string[15]; tr:string[4]; um,la,hg:longint;
ap,bg,ja:real; adl:char;begin adl:='y'; while upcase(adl)='Y' do
begin clrscr; writeln('Entry Data Angsuran');
writeln('==================='); write('Nama Nasabah :');readln(nm);
write('Type Rumah :');readln(tr); write('Uang Muka :');readln(um);
write('Lama Angsuran :');readln(la); if tr='RS21' then hg:=40000000
else if tr='RS36' then hg:=71000000 else if tr='RS45' then
hg:=125000000 else if tr='RS72' then hg:=175000000;
-
ap:=(hg-um)/la; bg:=0.16/12*ap; ja:=ap+bg; writeln('Harga
:',hg); writeln('Angsuran Pokok :',ap:8:1); writeln('Bunga
:',bg:8:1); writeln('Jumlah Angsuran :',ja:8:1); write('Ada Data
Lagi[Y/T] :');readln(adl); end;end.
-
Entry Data Penjualan ObatNama
Obat:..X(10)...............................Kode
Jenis:..X...Keterangan :..Harga :..9(6).......Satuan
:..X(10)............Jumlah :..9(3).........Total Harga:PPh:Total
Penjualan:.Ada Data Lagi[Y/T]:..X
Jika kode jenis obat = 1, maka keterangan Kapsul Jika kode jenis
obat = 2, maka keterangan Syrup Jika kode jenis obat = 3, maka
keterangan SaketTotal Harga = Harga * jumlah Total Harga PPH
>15000002.5 % dari total harga>10000001.5 % dari total
harga>5000001 % dari total harga
-
ARRAY / LARIKVARIABEL DENGAN TYPE DATA ARRAY ADALAH VARIABEL
YANG BISA MENAMPUNG LEBIH DARI SATU DATA SESUAI DENGAN INDEK YANG
DIDEKLARASIKAN
CONTOH : NAMA : ARRAY [1..50] OF STRING [25];
ARTINYA : NAMA ADALAH VARIABEL ARRAY DENGAN TYPE STRING DENGAN
MAKSIMAL KARAKTER 25 DAN JUMLAH DATA YANG BISA DITAMPUNG MAKSIMAL
ADALAH 50 BUAH DATA.
SETIAP DATA YANG DISIMPAN HARUS DITENTUKAN INDEK DARI
PENYIMPANAN. DALAM MEMASUKKAN DATA KE VARIABEL ARRAY DAPAT
DIGUNAKAN PERULANGAN DENGAN MAKSIMAL PERULANGAN ADALAH SESUAI
DENGAN JUMLAH INDEK YANG DIDKELARASIKAN.
-
ENTRY DATA BUKU----------------------------NAMA
BUKU:X(15)..PENGARANG:X(10)..PENERBIT:X(10).JUMLAH:.HARGA:ADA DATA
LAGI [Y/T]:..
Proses :Maksimal data adalah 10 buah dataNilai Persediaan =
harga * JumlahTotal Nilai Pers = Total Nilai Pers + Nilai
PersLAPORAN DATA BUKUTOTAL NILAI PERSEDIAAN BUKU :.Buat flowchart
dan program untuk soal berikut :123..4..5..1 4 20 25 31 42 49 60 71
123..4..5..6..7..8..
20 30 45
NONAMA BUKUPENGARANGPENERBITJUMLAHHARGAPERSEDIAAN
- Uses crt;Var nb,pg,pn : array[1..10] of string[15]; pg,pn :
array[1..10] of string[10]; jml,hg : array[1..10] of longint;
x,jd,br,pers,tpers : longint; adl : char;Begin adl:=y; jd:=1; while
(adl=y) and (jd
-
Clrscr;Gotoxy(25,1);write(Laporan Data
Buku);Gotoxy(1,2);write(--------------------------------------------------------------------------------);Gotoxy(1,3)
;write(|no|nama
buku|pengarang|penerbit|harga|jumlah|persediaan|);Gotoxy(1,4);write(--------------------------------------------------------------------------------);{
1234567890....012389012.89012......9012...90.78901}{ 1 2 3 4 5 6 7
}Br:=5; tpers:=0;For x:=1 to jd-1 doBegin pers := hg[x] * jml[x];
tpers:= tpers + pers; gotoxy(1,br);write(|,x:2);
gotoxy(4,br);write(|,nb[x]); gotoxy(20,br);write(|,pg[x]);
gotoxy(31,br);write(|,pn[x]); gotoxy(42,br);write(|,hg[x]);
gotoxy(49,br);write(|,jml[x]); gotoxy(60,br);write(|,pers);
gotoxy(71,br);write(|);
br:=br+1;End;Br:=br+1;Gotoxy(1,br);write(Total Persediaan
:,tpers);Readkey;End.Gotoxy(1,br);write(-----------------------------------------------------------------------------------);
-
1 4 18 34 42 53 58 801.2.3.4.5.6. .Maksimal data adalah 20 buah,
kolom dan baris pada entri asumsikan sendiri 25 30 40
56789101112Lulusan Terbaik : Nomor Bp : x(13) Nama : x(15) IPK :
9.99
-
1234567 1 4 12 33 39 48 59 68 79 Laporan Data Nasabah Kredit
PerumahanAngkasa Jaya Buat flowchart dan program Pascal dengan
maksimal data adalah 50 buahKetentuan : Jika type rumah adalah RS21
maka harga adalah 40000000Jika type rumah adalah RS36 maka harga
adalah 71000000Jika type rumah adalah RS45 maka harga adalah
125000000Jika type rumah adalah RS72 maka harga adalah
175000000Jumlah Angsuran dapat dicari dengan rumus sebagai berikut
:Angsuran Pokok = (harga rumah uang muka )/ lama angsuran Bunga=
0.16/12 *Angsuran pokokJumlah Angsuran= Angsuran pokok + bunga 25
30 45 1011121314151617
NoKodeNasabahNama NasabahTypeRumahHargaUang MukaLama Angsuran
(bulan)Jumlah Angsuran
Entry Data Nasabah -----------------------------Kode Nasabah:
X[5]Nama Nasabah: X[20]Type Rumah: X[4]Uang Muka: 99999999Lama
Angsuran: 999 Ada Data Lagi[Y/T] :X
- Entry Data Penjualan ObatNama
Obat:..X(10)...............................Kode Jenis:..X...Harga
:..9(6).......Satuan :..X(10)............Jumlah :..9(3).........Ada
Data Lagi[Y/T]:..X Jika kode jenis obat = 1, maka keterangan Kapsul
Jika kode jenis obat = 2, maka keterangan Syrup Jika kode jenis
obat = 3, maka keterangan SaketTotal Harga = Harga * jumlah Total
Harga PPH >1500000 2.5 % dari total harga>1000000 1.5 % dari
total harga>500000 1 % dari total harga
-
Entry Data GajiNIK:..X(10)...............................Nama
Karyawan:..X(15)..Golongan: ..X.......Jam Kerja wajib
:..9(3)............Jam Kerja Lembur :..9(3).........Ada Data
Lagi[Y/T]:..X Jika kode gol = 1, maka gaji pokok=1000000 Jika kode
gol = 2, maka gaji pokok=1500000 jenis kode gol = 3, maka gaji
pokok 2500000 Gajil lembur perjam adalah 30000,-Total Gaji adalah
Gaji pokok +gaji lemburLaporan Data Gaji 10 25 3556789101112 1 4 15
31 35 41 49 58 68 79 123456Buat Program dengan maksimal data 20
buah (Langsung di Laptop)
NoNIKNama KaryawanGolJam Kerja WajibJam Kerja
LemburGajiLemburGaji PokokTotal Gaji
-
Soal Latihan :Buat flowchart dan program Pascal untuk kasus
berikut dengan menggunakan array Dengan maksimal data adalah 50
buah255 Entry data pegawai6 ------------------------7 NIP:X[5]8
NAMA:X[15]9 GOLONGAN :X10 JAM KERJA:99911ADA DATA LAGI [Y/T]
:X251LAPORAN DATA
PEGAWAI2-----------------------------------------------------------------------------------------------------------------------------------------3|
NO | NIP | NAMA | GOL | G.POKOK | J.KERJA | G.LEMBUR | T. GAJI
|4-----------------------------------------------------------------------------------------------------------------------------------------
| | | | | | | | | | | | | | | | | |
----------------------------------------------------------------------------------------------------------------------------------------
1 4 10 26 30 38 46 55 63
Dengan jam kerja wajib/bulan adalah 160 jam. Jika lebih dihitung
sebagai lembur dengan gaji lembur per jam adalah 10000, gaji pokok
ditentukan oleh gol sbb:A ----- 1000000B ----- 1500000C -----
2000000D ----- 2500000TOTAL GAJI = GAJI POKOK + GAJI LEMBUR
- Starnip[50], nm[50], gol[50],jk[50], adl, jd, gp, gl, tg,
baris, xAdl:=y,jd:=1While (adl=y)and (jd
-
uses crt;var nip:array [1 .. 50] of string[5]; nm :array [1 ..
50] of string[15]; gol:array [1 .. 50] of char; jk :array [1 .. 50]
of longint;
adl:char; jd,baris,x:byte; gp,gl,tg:longint;begin
adl:='y';jd:=1; while (adl='y')and(jd
-
clrscr; gotoxy(25,1);write('LAPORAN DATA PEGAWAI');
gotoxy(1,2);write('------------------------------------------------------------------------------------------');
gotoxy(1,3);write('|NO| NIP | NAMA
|GOL|G.POKOK|J.KERJA|G.LEMBUR|T.GAJI|');
gotoxy(1,4);write('------------------------------------------------------------------------------------------');
baris:=5; for x:=1 to jd-1 do begin if (gol[x]='A) or (gol[x]=a)
then gp:=1000000 else if (gol[x]='B) or (gol[x]=b) then gp:=1500000
else if (gol[x]='C) or (gol[x]=c) then gp:=2000000 else
gp:=2500000;
if jk[x] > 160 then gl:=(jk[x]-160)*10000 else gl:=0;
tg:=gp+gl;
-
gotoxy(1,baris);write('|',x); gotoxy(4,baris);write('|',nip[x]);
gotoxy(10,baris);write('|',nm[x]);
gotoxy(26,baris);write('|',gol[x]); gotoxy(30,baris);write('|',gp);
gotoxy(38,baris);write('|',jk[x]); gotoxy(46,baris);write('|',gl);
gotoxy(55,baris);write('|',tg); gotoxy(63,baris);write('|');
baris:=baris+1; end;
gotoxy(1,baris);write('------------------------------------------------------------);
readkey;end.
******************************************