modul alg sdat 1

59
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 : 1. Tentukan output 2. tentukan data input ( b dan c ) 3. lakukan proses (a=b+c) 4. tampilkan output (a) A?---------- Untuk menentukan nilai A maka yang harus kita ketahui terlebih dahulu adalah nilai B dan nilai C Pengantar Algoritma Keterangan : 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.

Upload: dhesy-wildayani

Post on 30-Sep-2015

302 views

Category:

Documents


21 download

DESCRIPTION

modul algoritma

TRANSCRIPT

  • 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.

    ******************************************