Anda di halaman 1dari 7

1. Diketahui sebuah array tetap A = {a, k, u, c, i, n, t, a, i, n, d, o, n, e, s, i, a}.

Tentukan 3 nilai indeks


terbesar yang nilai arraynya huruf konsonan menggunakan algoritma, Bahasa Pascal dan Bahasa C!
Bahasa Algoritmik Bahasa Pascal Bahasa C
Judul : HurufKonsonan program #include <stdio.h>
Kamus Data : HurufKonsonan; char A[]={'a',
A : array[0..16] of const 'k','u','c',
Character = ('a', A : array[0..16] of 'i','n','t','a',
'k','u','c', char = ('a', 'i','n','d','o',
'i','n','t','a', 'k','u','c', 'n','e','s','i','a'};
'i','n','d','o', 'i','n','t','a', int i;
'n','e','s','i','a') 'i','n','d','o', main()
i : Integer 'n','e','s','i','a'); {
Algoritma : var printf("3 Indeks
OUTPUT('3 Indeks i : integer; terbesar berisi
terbesar berisi begin konsonan :\n");
konsonan : ') writeln('3 Indeks for(i = 0;i<=16;i++)
FOR i = 0 TO 16 DO terbesar berisi {
IF i ≥ 13 THEN konsonan : '); if(i > 13){
OUTPUT('A[',i,'] = for i := 0 to 16 do printf("A[%d] =
',A[i]) begin %c\n",i ,A[i]);
ENDFOR if i > 13 then }
writeln('A[',i,'] = }
',A[i]); }
end; readln; end.

2. Diketahui sebuah array tetap A={a,l,g,o,r,i,t,m,a,p,e,m,r,o,g,r,a,m,a,n}. Hitunglah rata- rata nilai


indeks array yang nilai array nya huruf konsonan menggunakan algoritma, Bahasa Pascal dan
bahasa C !
Bahasa Algoritmik Bahasa Pascal Bahasa C
Judul : program #include <stdio.h>
HitungNRRIndex HitungNRRIndex; char A[20] =
Kamus Data : const {'a','l','g','o',
A: array [1..20] of A:array [1..20] of 'r','i','t','m',
Character char 'a','p','e','m',
=('a','l','g','o', =('a','l','g','o', 'r','o','g','r',
'r','i','t','m', 'r','i','t','m', 'a','m','a','n'};
'a','p','e','m', 'a','p','e','m', int i, r, sum;
'r','o','g','r', 'r','o','g','r', main()
'a','m','a','n') 'a','m','a','n'); {
i, r, sum: Integer var sum = 0;
Algoritma : i, r, sum : integer; for (i=0;i<20;i++){
sum ← 0 begin sum = sum+i;
FOR i = 1 TO 20 DO sum := 0; }
sum ← sum+i for i := 1 to 20 do r = sum / 20;
ENDFOR begin printf("rata-rata
r ← sum / 20 sum:=sum+i; huruf konsonan : %c",
OUTPUT('rata-rata end; A[r]);
huruf konsonan : ', r := sum div 20; }
A[r]) write('rata-rata
huruf konsonan : ',
A[r]); readln; end.
3. Diketahui sebuah array tetap A={1,2,3,5,7,9,11,23,10,21,23,22,24,25,26,77}. Hitunglah rata-
rata nilai array yang jika nilai indeksnya ditambahkan 5 akan habis dibagi 4 menggunakan
algoritma, Bahasa Pascal dan bahasa C !
Bahasa Algoritmik Bahasa Pascal Bahasa C
Judul : HitungNRR program HitungNRR; #include <stdio.h>
Kamus Data : const
A: array[1..16] of A : array[1..16] of int A[16]={1,2,3,5,
integer = (1,2,3,5, integer = (1,2,3,5, 7,9,11,23,
7,9,11,23, 7,9,11,23, 10,21,23,22,
10,21,23,22, 24,25,26,77
24,25,26,77) 10,21,23,22, };
i , sum: Integer 24,25,26,77); int i, sum;
avg : Integer var int avg;
Algoritma : i, sum : Integer;
avg : Integer; main()
sum ← 0
begin {
FOR i = 1 TO 16 DO sum=0;
IF i = 5 THEN sum := 0;
for(i=0; i<16; i++)
sum ← sum+A[i]/4 for i:=1 to 16 do {
ELSE begin if (i == 5){
sum ← sum+A[i] if i = 5 then sum=sum+A[i]/4;
ENDIF sum :=sum+A[i] div 4 }else{
ENDFOR else sum=sum+A[i];
avg ← sum/16 sum := sum+A[i]; }
OUTPUT(avg) end; }
avg := sum div 16; avg = sum/16;
write(avg); printf("%d",avg);
readln; }
end.

4. Diketahui suatu data tiket sbb.


Id_tiket Jurusan harga
T001 Bandung-Jakarta 85000
T002 Bandung-Bekasi 50000
Buatlah algoritma, bahasa Pascal dan bahasa C untuk memasukkan data tersebut
terhadap struktur tiket menggunakan array! Program yang dibuat harus menggunakan
3 pilihan menu (1. Isi Data, 2. Tampilkan Data, 3. Keluar Program)
Bahasa Algoritmik Bahasa Pascal Bahasa C
Judul : DatabaseTiket program DatabaseTiket; #include <stdio.h>
Kamus Data : type datatiket = typedef struct{
type datatiket : record char Id[5];
record < Id : string; char Jurusan[100];
Id : Character Jurusan : string; int Harga;
Jurusan : Character harga : integer; }datatiket;
harga : Integer
end; datatiket DT[2];
>
DT : array[1..2] of var int Menu, i;
datatiket DT : array[1..2] of main(){
Menu, i : Integer datatiket; do{ printf("1.
Algoritma : Menu, i : integer; Isi Data\n");
REPEAT begin printf("2. Tampilkan
OUTPUT('1. Isi Data') repeat Data\n"); printf("3.
OUTPUT('2. Tampilkan WriteLn('1. Isi Keluar Program\n");
Data') Data'); printf("Masukkan No.
OUTPUT('3. Keluar WriteLn('2. Tampilkan Menu : ");
Program') Data');
WriteLn('3. Keluar

OUTPUT('Masukkan No. Program'); scanf("%d",&Menu);


Menu : ') write('Masukkan No. for (i = 0;i<=1;i++)
INPUT(Menu) Menu : '); switch(Menu)
FOR i = 1 TO 2 DO readln(Menu); {
CASE (Menu) for i := 1 to 2 do case 1 :
1 : case Menu of { printf("Masuk
OUTPUT('Masukkan Id 1 : begin kan Id Tiket : ");
Tiket : ') write('Masukkan Id scanf("%s",
INPUT(DT[i].Id) Tiket : '); &DT[i].Id);
OUTPUT('Masukkan readln(DT[i].Id); fflush(stdin);
Jurusan : ') write('Masukkan printf("Masukkan
INPUT(DT[i].Jurusan) Jurusan : '); Jurusan : ");
OUTPUT('Masukkan readln(DT[i].Jurusan); scanf("%s",
Harga : ') write('Masukkan &DT[i].Jurusan);
INPUT(DT[i].Harga) Harga : '); fflush(stdin);
2 : readln(DT[i].Harga); printf("Masukkan
OUTPUT('Id Tiket : end; Harga : ");
',DT[i].Id) 2 : begin scanf("%d",
OUTPUT('Jurusan : writeln('Id Tiket : &DT[i].Harga);
',DT[i].Jurusan) ',DT[i].Id); }break;
OUTPUT('Harga : ', writeln('Jurusan : case 2 : {
DT[i].Harga) ',DT[i].Jurusan); printf("Id Tiket :
3 : writeln('Harga : ', %s\n",DT[i].Id);
OUTPUT('Program DT[i].Harga); printf("Jurusan :
Keluar!') end; %s\n",DT[i].Jurusan);
ENDCASE 3 : begin printf("Harga :
UNTIL Menu = 3 writeln('Program %d\n", DT[i].Harga);
Keluar!'); }break;
end; case 3 : {
end; printf("Program
until Menu = 3; Keluar!\n");
end. }break;
}
}while(Menu !=3);
}

5. Diketahui sebuah tiket untuk alat transportasi yang dipakai untuk mudik dengan harga
tetap kemanapun sebagai berikut :
Kode Jenis_transportasi Harga
1 Bus 50.000
2 Kereta Api 100.000
3 Ferry 75.000
4 Pesawat 200.000
Jika calon penumpang membeli tiket lebih dari 3, maka berhak mendapat diskon
sebesar 10% dari total pembelian. Buatlah program dengan bahasa C untuk
memasukkan data rekap penjualan tiket dengan struktur: nama_pemesan,
jenis_transportasi, total penjualan menggunakan array berdasarkan inputan :
nama_pemesan, kode_transportasi, dan jumlah_tiket. Kemudian tampilkan
keseluruhan hasil struktur rekap penjualan !
keseluruhan hasil struktur rekap penjualan !

INPUT Nama Pemesan : Rina Kode Transportasi : 1 Jumlah Tiket : 2


Data Berhasil Input ! Tambah lagi ?Ya

Nama Pemesan : Rini


Kode Transportasi : 4
Jumlah Tiket : 3
Data Berhasil Input ! Tambah lagi ?Tidak
OUTPUT Rekap Penjualan Tiket :
1.
Nama Pemesan : Rina
Jenis Transportasi : Bus
Total Penjualan :
100000 2.
Nama Pemesan : Rini
Jenis Transportasi :
Pesawat Total Penjualan :
540000

Total : 640000
Bahasa Algoritmik Bahasa C
Judul : RekapPenjualaTiket #include <stdio.h>
Kamus Data : #include <stdlib.h>
type DataRekap : record < #include <iostream>
nama_pemesan: Character #include <string>
Jumlahtiket : Integer using namespace std;
jenis_transportasi : Character typedef struct{
Harga : Integer char nama_pemesan[100];
total_penjualan : Integer > int jumlahtiket;
DR : array[0..10] of DataRekap int kode;
i, j, diskon, total: integer string jenis_transportasi;
tambah : Character int Harga;
Algoritma : int total_penjualan;
FOR i = 0 TO 10 DO }DataRekap;
OUTPUT('Nama Pemesan : ') DataRekap DR[10];
INPUT(DR[i].nama_pemesan) int i, j, diskon, total;
OUTPUT('Kode Transportasi : ') char tambah;
INPUT(DR[i].kode) main()
CASE (DR[i].kode) {
1 : for(i=0;i<=10;i++)
DR[i].jenis_transportasi ← 'Bus' {
DR[i].Harga ← 50000 printf("Nama Pemesan : ");
2 : scanf("%s", &DR[i].nama_pemesan);
DR[i].jenis_transportasi ← 'Kereta printf("Kode Transportasi : ");
Api' scanf("%d", &DR[i].kode);
DR[i].Harga ← 100000 switch(DR[i].kode)
3 : {
DR[i].jenis_transportasi ← 'Ferry' case 1 : {
DR[i].Harga ← 75000 DR[i].jenis_transportasi= "Bus";
4 : DR[i].Harga = 50000;
DR[i].jenis_transportasi ← break;
'Pesawat' }
DR[i].Harga ← 200000 case 2 : {
ENDCASE DR[i].jenis_transportasi= "Kereta
OUTPUT('Jumlah Tiket : ') Api";
INPUT(DR[i].jumlahtiket) DR[i].Harga = 100000;
IF(DR[i].jumlahtiket ≥ 3)THEN break;
diskon ← DR[i].Harga* }
DR[i].jumlahtiket*10/100 case 3 : {
DR[i].total_penjualan ← DR[i].jenis_transportasi= "Ferry";
DR[i].Harga*DR[i].jumlahtiket- DR[i].Harga = 75000;
diskon break; }
ELSE case 4 : {
DR[i].total_penjualan = DR[i].jenis_transportasi="Pesawat"
DR[i].Harga*DR[i].jumlahtiket ; DR[i].Harga = 200000;
ENDIF break;
OUTPUT('Data Berhasil Input ! }
Tambah lagi ?') }
INPUT(tambah) printf("Jumlah Tiket : ");
IF(tambah = 'N')THEN scanf("%d",
j ← i &DR[i].jumlahtiket);
i ← 10 if(DR[i].jumlahtiket >= 3)
ENDIF {
ENDFOR diskon = DR[i].Harga *
i ← 0 DR[i].jumlahtiket * 10/100;
OUTPUT('Rekap Penjualan Tiket :') DR[i].total_penjualan =
WHILE(i ≤ j) DR[i].Harga*DR[i].jumlahtiket -
OUTPUT(DR[i].kode) diskon;
OUTPUT('Nama Pemesan : ', }else{
DR[i].nama_pemesan) DR[i].total_penjualan =
OUTPUT('Jenis Transportasi : DR[i].Harga*DR[i].jumlahtiket;
',DR[i].jenis_transportasi) }
OUTPUT('Total Penjualan : ', fflush(stdin);
DR[i].total_penjualan) printf("Data Berhasil Input !
total = Tambah lagi ?");
total+DR[i].total_penjualan scanf("%c", &tambah);
i ← i + 1 if(tambah == 'N')
ENDWHILE {
OUTPUT(total) j = i; i = 10;
}
}
i = 0;
system("CLS");
printf("Rekap Penjualan Tiket
:\n");
while(i <= j)
{
printf("%d.\n", DR[i].kode);
printf("Nama Pemesan : %s\n",
DR[i].nama_pemesan);
cout << "Jenis Transportasi :
"+DR[i].jenis_transportasi <<
endl; printf("Total Penjualan :
%d\n", DR[i].total_penjualan);
total =
total+DR[i].total_penjualan;
i++;
}
printf("----------------------------------\n");
printf("Total : %d\n", total);
}

6. Buatlah algoritma untuk mengecek apakah sebuah kata yang diinputkan user
termasuk polindrom atau tidak. Polindrom adalah kata yang jika dibalik urutan
hurufnya, hasil bacanya tetap sama, contoh : katak, kasur rusak, dsb.
Contoh :
INPUT : Masukkan kata : katak
OUTPUT : Polindrom
INPUT: Masukkan kata : bisa
OUTPUT : Bukan Polindrom
Judul : PolindromKata #include <iostream>
Kamus Data : #include <mem.h>
kata : array[0..20] of char using namespace std;
i , pjg : Integer char kata[20];
kondisi : Boolean int i, pjg;
bool kondisi;
main(){
kondisi = false;
cout << "Masukkan kata : ";
Algoritma : cin >> kata;
kondisi ← false pjg = strlen(kata);
INPUT(kata) for(i=0;i < pjg;i++){
pjg ← strlen(kata) if(kata[i] != kata[pjg-i-1]){
FOR i = 0 TO pjg DO kondisi = true;
IF (kata[i] ≠ kata[pjg -i-1]) THEN i = pjg;
kondisi ← true }
i ← pjg }
ENDIF
if(kondisi){
ENDFOR
IF(kondisi)THEN cout << "Bukan Polindrom" << endl;
OUTPUT('Bukan Polindrom') } else {
ELSE cout << "Polindrom" << endl;
OUTPUT('Polindrom') }
ENDIF }

Anda mungkin juga menyukai