Anda di halaman 1dari 2

Kode Soal : A UTS ALGORITMA DAN PEMROGRAMAN

(NIM Ganjil) Prodi : Matematika


Waktu/ Sifat : 75 menit/ Tutup Buku

Petunjuk: (a) Tulis nama, NIM, nama mata kuliah, prodi, tanggal, dan UTS pada sudut kanan lembar
jawaban serta tanda tangan. Dan kode soal di sudut kiri lembar jawaban.
(b) Dapat dijawab dari soal yang dianggap mudah dengan menuliskan nomor soalnya.
(c) DILARANG berbuat curang (menyontek/bekerjasama). Bagi yang melanggar
dapat diberikan sanksi yang sangat keras (nilai E).

1. Tentukan output (keluaran) dari program berikut:


#include <stdio.h>
50 Point
int main(void) {
int i, j, m, n = 10, Last2, xyz;

printf("Inputkan 2 digit terakhir dari NIM Anda: "); scanf("%d", &Last2);


// Jika NIM: 1608101010091, maka inputnya: 91. Jika NIM: 1608101010001, maka inputnya: 1
m = Last2 % 10;
if(m < 5)
m = n - m;
for(i = 0; i < n; i++) {
xyz = i;
for(j = m; j > 0; j--) {
if(2*i == j)
xyz = j;
printf("%d\t", xyz + j);
}
printf("\n");
}
return 0;
}

2. Buatlah program dengan deskripsi, sebagai berikut:


 Terdapat n buah bilangan bulat positif tidak terurut yang diinputkan satu per satu dari keyboard.
50 Point  Program dapat menentukan banyaknya bilangan sebelum bilangan maksimum (tidak termasuk
bilangan maksimum).
 Jika terdapat lebih dari 1 bilangan maksimum, maka bilangan maksimum yang dimaksud adalah
bilangan maksimum yang paling kiri.
 Dan program juga dapat menghitung total dari bilangan-bilangan tersebut.

 Tidak boleh menggunakan variabel array untuk menampung n buah bilangan bulat sembarang
yang dimaksud.
Misal inputnya:
(10 bilangan bulat sembarang): 4 6 20 5 2 3 30 1 6 30
Outputnya:
Banyaknya bilangan sebelum maksimum adalah 6 dan totalnya adalah 40
(Baris ini tidak dicetak sekedar keterangan! Didapat dari: 4 + 6 + 20 + 5 + 2 + 3)

=======ooo Selamat Mengerjakan ooo======


Kode Soal : B UTS ALGORITMA DAN PEMROGRAMAN
(NIM Genap) Prodi : Matematika
Waktu/ Sifat : 75 menit/ Tutup Buku

Petunjuk: (a) Tulis nama, NIM, nama mata kuliah, prodi, tanggal, dan UTS pada sudut kanan lembar
jawaban serta tanda tangan. Dan kode soal di sudut kiri lembar jawaban.
(b) Dapat dijawab dari soal yang dianggap mudah dengan menuliskan nomor soalnya.
(c) DILARANG berbuat curang (menyontek/bekerjasama). Bagi yang melanggar
dapat diberikan sanksi yang sangat keras (nilai E).

1. Buatlah program dengan deskripsi, sebagai berikut:


 Terdapat n buah bilangan bulat positif tidak terurut yang diinputkan satu per satu dari
50 Point
keyboard.
 Program dapat menentukan banyaknya bilangan sebelum bilangan minimum (tidak termasuk
bilangan minimum).
 Jika terdapat lebih dari 1 bilangan minimum, maka bilangan minimum yang dimaksud adalah
bilangan minimum yang paling kiri.
 Dan program juga dapat menghitung total dari bilangan-bilangan tersebut.

 Tidak boleh menggunakan variabel array untuk menampung n buah bilangan bulat sembarang
yang dimaksud.
Misal inputnya:
(10 bilangan bulat sembarang): 4 6 20 5 2 3 30 1 6 30
Outputnya:
Banyaknya bilangan sebelum minimum adalah 7 dan totalnya adalah 70
(Baris ini tidak dicetak sekedar keterangan! Didapat dari: 4 + 6 + 20 + 5 + 2 + 3 + 30)

2. Tentukan output (keluaran) dari program berikut:


#include <stdio.h>
50 Point
int main(void) {
int i, j, m, n = 10, Last2, zyx;

printf("Inputkan 2 digit terakhir dari NIM Anda: "); scanf("%d", &Last2);


// Jika NIM: 1608101010091, maka inputnya: 91. Jika NIM: 1608101010001, maka inputnya: 1
m = Last2 % 10;
if(m < 5)
m = n - m;
for(i = 0; i < n; i++) {
zyx = i;
for(j = m; j > 0; j--) {
if(i == 2*j)
zyx = j;
printf("%d\t", zyx + j);
}
printf("\n");
}
return 0;
}

=======ooo Selamat Mengerjakan ooo======

Anda mungkin juga menyukai