Anda di halaman 1dari 8

10/5/2020

Kuliah Ketujuh

SOAL JAWAB UJIAN


PEMROGRAMAN KOMPUTER

Tujuan dari kuliah ini adalah agar semua mahasiswa memahami


bagaimana menyelesaikan contoh soal ujian tengah semester
pemrograman komputer

Prinsip dasar pada penyelesain soal ujian adalah semua soal


terutama program diselesaikan menggunakan komputer.
Penulisan program hanya dilakukan dengan menggunakan satu
perintah yang mencakup pembacaan data, pengolahan data
sampai penulisan output.
Semua mahasiswa harus memahami dua tipe data yaitu data
tunggal dan data jamak (berindeks) karena pengoperasian
kedua data tersebut berbeda.

1
10/5/2020

Contoh 1:
Dari nilai praktikum, nilai ujian tengah semester dan ujian akhir akan
dibuat laporan hasil ujian dengan ketentuan :

-Jika nilai praktikum < 60 maka mahasiswa mendapat nilai “E”


-Jika nilai praktkum >= 60, maka nilai mahasiswa ditentukan dari
kriteria sebagai berikut :
- Jika NA >= 85 maka nilai mahasiswa “A”
- Jika 65 =< NA < 85 maka nilai mahasiswa “B”
- Jika 50 =< NA < 65 maka nilai mahasiswa “C”
-Jika NA < 50 maka nilai mahasiswa “E”.

-NA = 0.4*NP + 0.3*UTS + 0.3* UAS

Pada laporan akan ditampilkan data NAMA, NIM, Nilai Praktikum, Nilai
Ujian Tengah Semester, Nilai Ujian Akhir Semester, Nilai Akhir, Nilai
Huruf (grade) setiap mahasiswa. Semua data mahasiswa NAMA, NIM,
NP, NUTS, NUAS dibaca pada file “E:\Ujian Nilai.txt”.

START

Input N
i = 1,
sum=0

i=1 NA(i)=0.4*NP(i) +
0.3*UAS(i)+0.3*UTS(i)

Input Nama(i),
NIM(i), NP(i), UTS(i), sum = sum + NA(i)
UAS(i)

Y
Y i <N i=i+1
i <N i=i+1
T
T B

2
10/5/2020

i=1

C
T Y
NP(i) < 60 NA(i)≥85 Grade(i) = “A”
i=1
Y T
Y
NA(i)≥65 Grade(i) = “B”

T
Print Nama(i), NIM(i),
i=i+1 NP(i), NUTS(i), NUAS(i),
Y NA(i), Grade(i)
NA(i)≥50 Grade(i) = “C”

T
Y
i<N
Grade(i) = “E” T

STOP

i<N i=i+1

Dim NP(100), NUAS(100), NUTS(100), NA(100) As Single


Dim Nsd, S As Single
Dim N, K As Integer
Dim Nim(100), Nama(100), grade(100) As String

3
10/5/2020

Private Sub Command1_Click()


Cls
Open "E:\ujian nilai.txt" For Input As #1
Input #1, N
For I = 1 To N
Input #1, Nama(I), Nim(I), NP(I), NUTS(I), NUAS(I)
NA(I) = 0.4 * NP(I) + 0.3 * NUTS(I) + 0.3 * NUAS(I)
Next I

For I = 1 To N
If NP(I) < 60 Then
grade(I) = "E"
Else
If NA(I) >= 85 Then
grade(I) = "A"
ElseIf NA(I) >= 65 Then
grade(I) = "B"
ElseIf NA(I) >= 50 Then
grade(I) = "C"
Else
grade(I) = "E"
End If
End If
Next I

L=0
TL = 0
For I = 1 To N
If grade(I) = "A" Or grade(I) = "B" Or grade(I) = "C" Then
L=L+1
Else
TL = TL + 1
End If
Next I

Print "Hasil Ujian Pemrograman Komputer"


Print
Print "Pada tabel berikut ditampilkan Nama, NIM, Nilai Praktikum, Nilai UTS, Nilai UAS, Nilai
Angka dan Nilai Huruf"
Print
For I = 1 To N
Print I, ""; Nama(I), ""; Nim(I), ""; NP(I); ""; NUTS(I); ""; NUAS(I); "", NA(I); "", grade(I)
Next I

Print
Print

Print "Jumlah Mahasiswa Lulus Ujian : ", L


Print "Jumlah Mahasiswa Tidak Lulus Ujian : ", TL
Print
Close #1
End Sub

4
10/5/2020

Contoh 3.

Diketahui “N” gaya tersusun secara konkuren (perhatikan


gambar di bawah). “R” adalah resultante dari semua gaya.
Untuk mencari resultante semua gaya dapat dilakukan
dengan menggunakan tiga rumus di bawah.
N N
RX   P ( i ) * cos  ( i ) RY   P ( i ) * sin  ( i )
i 1 i 1

R  RX 2  RY 2

Sudut “(i)” untuk setiap gaya dalam “derajat” dan bernilai antara
0o sampai 360o. Nilai P(i) adalah besarnya setiap gaya dan
bernilai positif. Nilai sin(i) dan cos(i) dapat dihitung dengan
menggunakan dua rumus deret di bawah dengan catatan semua
nilai (i) yang digunakan untuk menghitung sin(i) dan cos(i)
dalam “radian”.

3 5 7 9
sin        .......... .......... ....
3! 5! 7! 9!

 2  4  6 8
cos   1     .......... .......... ....
2! 4! 6! 7!

Jika semua gaya diketahui (P(i) dan (i)) menjadi input dari
program, buatlah satu Flowchart untuk menghitung resultane R.
Buatlah program dengan menggunakan bahasa VB6 untuk
menghitung nilai R. Tulislah semua perintah dalam format
program sebagai berikut:

5
10/5/2020

k=1

SIN = S(k); F = S(k);


XK = S(k)*S(k), i=3
START

Input N F = (-F * XK)/(i*(i-1))

i=1 SIN = SIN + F


i = i+2

Input P(i), S(i)


Y
F>0.0001

Y
i = i +1 i<N T
T Sinus(k) = SIN
A

Y
k = k+1 k<N

B
C

k=1

COS = 1 ; F = 1; I = 1; RX = 0; RY = 0
XK = S(k)*S(k), i=3

F = (-F * XK)/(i*(i-1)) RX = RX + P(i)*cosinus(i)


RY = RY + P(i)*sinus(i)

COS = COS + F
i = i+2

Y
Y i = i+1 i<N
F>0.0001

T
T
R = (RX^2 + RY^2)^0.5
Cosinus(k) = COS

Print R
Y
k = k+1 k<N
STOP

6
10/5/2020

Dim K, N As Integer
Dim P(100), a(100), sinus(100), cosinus(100), nilaisin, nilaicos As Double
Dim RX, RY, R As Double
Const phi = 3.14159265358979

Private Sub Command1_Click()


Open "E:\ujian konkurent.txt" For Input As #1
Input #1, N
For i = 1 To N
Input #1, P(i)
Input #1, a(i)
Next i

For i = 1 To N
a(i) = a(i) / 180 * phi
Next i

For K = 1 To N
nilaisin = a(K)
F = a(K)
XK = a(K) ^ 2
i=3
10 F = (-F * XK) / (i * (i - 1))
nilaisin = nilaisin + F
If Abs(F) > 0.00000001 Then
i=i+2
GoTo 10
End If
sinus(K) = nilaisin
Next K

7
10/5/2020

For K = 1 To N
nilaicos = 1
F=1
XK = a(K) ^ 2
i=2
20 F = (-F * XK) / (i * (i - 1))
nilaicos = nilaicos + F
If Abs(F) > 0.00000001 Then
i=i+2
GoTo 20
End If
cosinus(K) = nilaicos
Next K

RX = 0
RY = 0
For i = 1 To N
RX = RX + P(i) * cosinus(i)
RY = RY + P(i) * sinus(i)
Next i

R = (RX ^ 2 + RY ^ 2) ^ 0.5

Print "Jumlah Beban ="; N


Print
Print "Besar Beban dan Sudut Arah
Beban"
Print
For i = 1 To N
Print P(i), a(i) * 180 / phi
Next i
Print
Print "Resultante Gaya R = ", R

Close #1
End Sub

Anda mungkin juga menyukai