Anda di halaman 1dari 10

TUGAS PENDAHULUAN IX

1. Buatlah algoritma dan bahasa C untuk menampilkan N buah bilangan genap


pertama. INPUT: N = 5 OUTPUT: 2 4 6 8 10
Bahasa Algoritmik Bahasa C
Judul : bilangan_genap1 #include <stdio.h>
Kamus Data : int N, i, X;
N, i, X : Integer main()
Algoritma : {
INPUT(N) printf("N : "); scanf("%d", &N);
FOR i = 1 TO N DO for (i=1; i<=N; i++)
X ← i*2 {
OUTPUT(X) X = i*2;
ENDFOR printf("%d ",X);
}
}
2. Buatlah algoritma dan bahasa C untuk menampilkan mata kuliah yang harus di
remedial berdasarkan nilai uts nya. Ada 5 nilai mata kuliah sebagai masukan, yaitu:
Alpro, SBO, RTI, Bahasa Indonesia, dan Pancasila. Jika ada nilai yang kurang dari 50,
maka sebutkan mata kuliah yang harus di remedial. Program akan keluar sampai tidak
ada mata kuliah yang diremedial.
Bahasa Algoritmik Bahasa C
Judul : MenentukanRemedial #include <stdio.h>
int Alpro, Pancasila, Bindo,
Kamus Data: SBO, RTI;
main()
Alpro,Pancasila,Bindo,SBO,RTI:intege {
r do{
Algoritma: printf("Masukkan nilai Alpro :
REPEAT ");scanf("%d", &Alpro);
INPUT(Alpro) printf("Masukkan nilai SBO :
");scanf("%d", &SBO);
INPUT(SBO)
printf("Masukkan nilai RTI :
INPUT(RTI) ");scanf("%d", &RTI);
printf("Masukkan nilai Bahasa
INPUT(Bindo) Indonesia : ");scanf("%d",
&Bindo);
INPUT(Pancasila)
printf("Masukkan nilai
IF(Alpro < 51 or SBO < 51 or RTI < Pancasila : ");scanf("%d",
51 or Bindo < 51 or Pancasila < &Pancasila);
51) THEN if(Alpro < 51 || SBO < 51 ||
RTI < 51 || Alpro < 51 || Bindo
OUTPUT("Anda mendapat remedial : < 51 )
") {
printf("Anda mendapat remedial
IF (nilaiAlpro < 51) THEN : ");
OUTPUT("Alpro - ") if(Alpro < 51) printf("Alpro
- ");
IF (nilaiSBO< 51) THEN if(SBO < 51) printf("SBO -
");
OUTPUT("SBO - ") if(RTI < 51) printf("RTI -
IF (nilaiRTI < 51) THEN OUTPUT("RTI ");
- ") if(Bindo < 51) printf("Bahasa
Indonesia - ");
IF (nilaiBIndo < 51) THEN if(Pancasila < 51)
OUTPUT("BIndo - ") printf("Pancasila");
IF (nilaiPancasila < 51) THEN }else{
OUTPUT("Pancasila - ") printf("Anda tidak mendapat
ELSE remedial");
}
OUTPUT("Anda tidak mendapat printf("\n");
remedial") }while(Alpro < 51 || SBO < 51
ENDIF || RTI < 51 || Alpro < 51 ||
UNTIL(Alpro < 51 or SBO < 51 or RTI Bindo < 51);
printf("Keluar Program !!!");
< 51 or Alpro < 51 or Bindo < 51) }
OUTPUT("Keluar Program !!!")

3. Buat algoritma dan Bahasa C untuk penghitungan gaji karyawan berikut, sehingga bisa
menangani lebih dari 1 karyawan tanpa perlu keluar dari program. Buat 2 versi
algoritma menggunakan looping WHILE-DO dan REPEAT-UNTIL!
Sebuah perusahaan meminta anda sebagai programmer yang sudah sangat terkenal
untuk membuatkan program penghitungan gaji karyawan di perusahaan tersebut,
dengan ketentuan:
• Gaji Pokok berdasarkan golongan
Golonga Gaji
n Pokok
1 500
2 1000
3 1500
4 2000
• Bonus diberikan kepada pegawai berdasarkan masa kerja
Masa Bonus
Kerja
3 50
6 75
>7 100

• Jika sudah menikah maka tunjangan keluarganya sebesar 10% dari gaji pokok
• Jika sudah menikah dan mempunyai anak (maksimal 3 orang) akan
mendapat tunjangan anak sebesar 12.5% per anak
Rumus perhitungan gajinya menjadi: Gaji = Gaji Pokok + Bonus + tunjangan keluarga
+ tunjangan anak
Bahasa Algoritmik(REPEAT) Bahasa C(REPEAT)
Judul : GajiKaryawan #include <stdio.h>
Kamus : float
Gaji,GajiPokok,Bonus,tunjangankelua Gaji,GajiPokok,Bonus,tunjanganke
rga,tunjangananak:real luarga,tunjangananak;
masakerja,Golongan,punyaanak : real int masakerja,Golongan,
menikah, ul : Character punyaanak;
Algoritma : char menikah, ul;
REPEAT main()
INPUT(Golongan) {
CASE(Golongan) do{
1: GajiPokok ← 500 printf("Golongan = Gaji
2: GajiPokok ← 1000 Pokok :\n");
3: GajiPokok ← 1500 printf("1.) 1 = 500\n");
4: GajiPokok ← 2000 printf("2.) 2 = 1000\n");
ENDCASE printf("3.) 3 = 1500\n");
INPUT(masakerja) printf("4.) 4 = 2000\n");
IF(masakerja = 3)THEN printf("Pilih No.
Bonus ← 50 ");scanf("%d",&Golongan);
ENDIF switch(Golongan)
IF(masakerja = 6)THEN {
Bonus ← 75 case 1:
ENDIF GajiPokok = 500;
IF(masakerja > 6)THEN break;
Bonus ← 100 case 2:
ENDIF GajiPokok = 1000;
INPUT(menikah) break;
IF(menikah = 'y' or menikah = 'Y') case 3:
THEN GajiPokok = 1500;
tunjangankeluarga ← break;
((10/100)*GajiPokok) case 4:
INPUT(punyaanak) GajiPokok = 2000;
IF(punyaanak <= 3)THEN break;
tunjangananak ← }
((12.5/100)*punyaanak)*GajiPokok printf("Masa kerja(tahun) :
ENDIF ");scanf("%d",&masakerja);
Gaji ← GajiPokok + Bonus + if( masakerja == 3 )Bonus =
tunjangankeluarga + tunjangananak 50;
ELSE if( masakerja == 6 )Bonus =
IF(menikah = 'n' or menikah = 75;
'N')THEN if( masakerja > 6 )Bonus =
Gaji ← GajiPokok + Bonus 100;
ENDIF printf("\nSudah menikah ?
OUTPUT(Gaji) (y/n) :");
INPUT(ul) fflush(stdin);
UNTIL ul = ‘y’ or ul = ‘Y’ scanf("%s", &menikah);
if( menikah == 'y' || menikah ==
'Y')
{
tunjangankeluarga =
((10/100)*GajiPokok);
printf("\nSudah Mempunyai
anak berapa(Maks. 3) :
");scanf("%d",&punyaanak);
if( punyaanak <= 3 )
{
tunjangananak =
((12.5/100)*punyaanak)*GajiPokok
;
}
Gaji = GajiPokok + Bonus +
tunjangankeluarga +
tunjangananak;
} else
if(menikah == 'n' || menikah ==
'N')
{
Gaji = GajiPokok + Bonus;
}
printf("\nGaji Karyawan :
%0.2f\n", Gaji);
printf("Menghitung Ulang ?
(y/n)");scanf("%s", &ul);
}while(ul =='y' || ul == 'Y');
}
Bahasa Algoritmik(WHILE-DO) Bahasa C(WHILE-DO)
Judul : GajiKaryawan #include <stdio.h>
Kamus : float
Gaji,GajiPokok,Bonus,tunjangankelua Gaji,GajiPokok,Bonus,tunjanganke
rga,tunjangananak : real luarga,tunjangananak;
masakerja,Golongan, punyaanak : int masakerja,Golongan,
real punyaanak;
menikah, ul: Character char menikah, ul;
Algoritma : main()
ul ← ‘y’ {
WHILE(ul = ‘y’ or ul = ‘Y’) ul = 'y';
INPUT(Golongan) while(ul == 'y' || ul == 'Y'){
CASE(Golongan) printf("Golongan = Gaji
1: GajiPokok ← 500 Pokok :\n");
2: GajiPokok ← 1000 printf("1.) 1 = 500\n");
3: GajiPokok ← 1500 printf("2.) 2 = 1000\n");
4: GajiPokok ← 2000 printf("3.) 3 = 1500\n");
ENDCASE printf("4.) 4 = 2000\n");
INPUT(masakerja) printf("Pilih No.
IF(masakerja = 3)THEN ");scanf("%d",&Golongan);
Bonus ← 50 switch(Golongan)
ENDIF {
IF(masakerja = 6)THEN case 1:
Bonus ← 75 GajiPokok = 500;
ENDIF break;
IF(masakerja > 6)THEN case 2:
Bonus ← 100 GajiPokok = 1000;
ENDIF break;
INPUT(menikah) case 3:
IF(menikah = 'y' or menikah = 'Y') GajiPokok = 1500;
THEN break;
tunjangankeluarga ← case 4:
((10/100)*GajiPokok) GajiPokok = 2000;
INPUT(punyaanak) break;
IF(punyaanak <= 3)THEN tunjangananak }
← ((12.5/100)*punyaanak)*GajiPokok printf("Masa
ENDIF kerja(tahun) :
Gaji ← GajiPokok + Bonus + ");scanf("%d",&mas
tunjangankeluarga + tunjangananak akerja);
ELSE if( masakerja == 3
IF(menikah = 'n' or menikah = )Bonus =
'N')THEN 50;
Gaji ← GajiPokok + Bonus ENDIF if( masakerja == 6
OUTPUT(Gaji) INPUT(ul) ENDWHILE )Bonus =
75;
if( masakerja >
6 )Bonus =
100;
printf("\nSudah
menikah ?
(y/n) :");
fflush(stdin);
scanf("%s",
&menikah);
if( menikah == 'y'
|| menikah == 'Y')
{
tunjangankeluarga
=
((10/100)*GajiPoko
k);
printf("\nSudah
Mempunyai anak
berapa(Maks. 3) :
");scanf("%d",&pun
yaanak);
if( punyaanak <= 3
)
{
tunjangananak =
((12.5/100)*punyaa
nak)*GajiPokok
;
}
Gaji = GajiPokok +
Bonus +
tunjangankeluarga
+ tunjangananak;
} else
if(menikah == 'n'
|| menikah == 'N')
{
Gaji = GajiPokok +
Bonus;
}
printf("\nGaji
Karyawan :
%0.2f\n", Gaji);
printf("Menghitung
Ulang ?
(y/n)");scanf("%s"
, &ul);
}
}

4. Buatlah algoritma dan bahasa C untuk menghitung dan menampilkan deret


berikut: Sum = 1 + 5 + 25 + 125 + 625 + ...
Input dari user: N yaitu jumlah suku. Buat 3 versi jawaban dengan menggunakan skema
looping FOR-DO , REPEAT-UNTIL, dan WHILE-DO!
Contoh:
Input : N = 3
Sum = 1 + 5 + 25 = 31
Input : N = 4

Sum = 1 + 5 + 25 + 125 = 156


Bahasa Algoritmik(FOR-DO) Bahasa C(FOR-DO)
Judul : pangkat5 #include <stdio.h>
Kamus Data : #include <math.h>
N, i, X, sum : Integer int N, i, X, sum;
Algoritma : main()
INPUT(N) {
OUTPUT('sum = ') printf("N : "); scanf("%d", &N);
FOR i = 0 TO N-1 DO
printf("sum = ");
X ← pow(5, i)
for (i=0; i<=N-1; i++)
OUTPUT(X)
{
IF(i ≠ N-1)THEN
X = pow(5, i);
OUTPUT(' + ')
ELSE printf("%d",X);
OUTPUT(' = ') if(i != N-1)
ENDIF {
sum ← sum + X printf(" + ");
ENDFOR }else{
OUTPUT(sum) printf(" = ");
}
sum = sum + X;
}
printf("%d", sum);
}
Bahasa Algoritmik(REPEAT-UNTIL) Bahasa C(REPEAT-UNTIL)
Judul : pangkat5 #include <stdio.h>
Kamus Data : #include <math.h>
N, i, X, sum : Integer int N, i, X, sum;
Algoritma : main()
INPUT(N) {
OUTPUT('sum = ') printf("N : ");scanf("%d", &N);
REPEAT
printf("sum = ");
X ← pow(5, i)
do{
OUTPUT(X)
X = pow(5, i);
IF(i ≠ N-1)THEN
printf("%d",X);
OUTPUT(' + ')
ELSE if(i != N-1)
OUTPUT(' = ') {
ENDIF printf(" + ");
sum ← sum + X }else{
i ← i+1 printf(" = ");
UNTIL i ≤ N-1 }
OUTPUT(sum) sum = sum + X;
i = i+1;
} while(i <= N-1);
printf("%d", sum);
}
Bahasa Algoritmik(WHILE-DO) Bahasa C(WHILE-DO)
Judul : pangkat5 #include <stdio.h>
Kamus Data : #include <math.h>
N, i, X, sum : Integer int N, i, X, sum;
Algoritma : main()
INPUT(N) {
OUTPUT('sum = ') printf("N : ");scanf("%d", &N);
WHILE(i ≤ N-1)DO printf("sum = ");
X ← pow(5, i) while(i <= N-1){
OUTPUT(X) X = pow(5, i);
IF(i ≠ N-1)THEN printf("%d",X);
if(i != N-1)
OUTPUT(' + ') {
ELSE printf(" + ");
OUTPUT(' = ') }else{
ENDIF printf(" = ");
sum ← sum + X }
i ← i+1 sum = sum + X;
ENDWHILE i = i+1;
OUTPUT(sum) }
printf("%d", sum);
}

5. Buatlah algoritma dan bahasa C untuk menampilkan deret


berikut: 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
Input dari user: N yaitu banyaknya angka, M yaitu banyaknya pengulangan.
Petunjuk: Gunakan skema looping bersarang.
Contoh:
Input : N = 3, M = 2
112233
Input : N = 4, M = 5
11111222223333344444
Bahasa Algoritmik Bahasa C
Judul : deretangkaseri #include <stdio.h>
Kamus Data : int N, M, I, J;
N, M, I, J : Integer main()
Algoritma : {
INPUT(N) printf("N = "); scanf("%d", &N);
INPUT(M) printf("M = "); scanf("%d", &M);
FOR I = 1 TO N DO for(I = 1;I<=N;I++)
FOR J = 1 TO M DO {
OUTPUT(I) for(J = 1;J<=M;J++)
ENDFOR {
ENDFOR printf("%d ", I);
}
}
}

6. Diketahui suatu data laundry sbb.


Id_laundry Jenis_laundry harga
L001 Jas 30000
L002 Kebaya 50000
L003 Kaos 20000
Buatlah algoritma dan program bahasa C untuk memasukkan data tersebut terhadap
struktur laundry ! Tampilkan data laundry yang dimasukkan, jika harganya lebih besar
dari 40000 setiap kali memasukkan data. Gunakan Looping !
Bahasa Algoritmik Bahasa C
Judul : DataLaundry #include <stdio.h>
Kamus : typedef struct{
Type Laundry = record char Id_laundry[4];
< Id_laundry : Character, char Jenis_laundry[20];
Jenis_laundry : Character, harga : int harga;
integer > }Laundry; Laundry L; char tambah;
L : Laundry tambah : string main()
Algoritma : {
REPEAT do{
INPUT(L.Id_laundry) printf("Input Id Laundry : ");
INPUT(L.Jenis_laundry) scanf("%s", &L.Id_laundry);
INPUT(L.harga) printf("Input Jenis Laundry : ");
IF (L.harga ≥ 40000) THEN scanf("%s", &L.Jenis_laundry);
OUTPUT('Id Laundry : ', printf("Input Harga Laundry : ");
L.Id_laundry) OUTPUT('Jenis scanf("%d", &L.harga);
Laundry : ', L.Jenis_laundry) if( L.harga >= 40000){ printf("Id
OUTPUT('Harga : ', L.harga) ENDIF Laundry : %s\n", L.Id_laundry);
OUTPUT('Input Berhasil !!! Tambah printf("Jenis Laundry : %s\n",
data ? (y/n) : ') L.Jenis_laundry); printf("Harga
INPUT(tambah) Laundry : %d\n", L.harga);
UNTIL (tambah = 'Y')or(tambah = 'Y') }
OUTPUT('Keluar Program') printf("Input Berhasil !!! Tambah
data ? (y/n) : ");
scanf("%s", &tambah);
}while(tambah == 'Y' or tambah ==
'y');
printf("Keluar Program”);
}

Anda mungkin juga menyukai