Anda di halaman 1dari 7

Praktikum 14

Array (lanj.)
NIM/Nama : Rengko Panusunan Malau/3311811031
Pengumpulan tugas praktikum:
Simpan laporan praktikum ini dengan nama P14_NIM.docx di folder yang sama dengan folder tempat
kode program. Namai folder dengan P14_NIM, kemudian zip. File EXE tidak perlu diikutkan dalam zip.
Upload ke http://learning-if.polibatam.ac.id.

Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:


1. Membuat variabel array dari berbagai macam tipe data
2. Mengenali permasalahan yang membutuhkan variabel array
3. Melakukan proses-proses pada array sesuai kebutuhan penyelesaian permasalahan

Bagian 1: Juara Nilai Ujian


Buatlah program yang dapat memproses nilai ujian suatu kelas. Pertama, pengguna memasukkan
banyaknya siswa (n), setelah itu memasukkan nama dan nilai ujian siswa-siswa tersebut.
Program kemudian menampilkan ucapan selamat kepada siswa yang nilainya paling tinggi.

Contoh:

Banyaknya siswa: 4
Nama Siswa 1 : Rini
Nilai Siswa 1 : 46
Nama Siswa 2 : Juan
Nilai Siswa 2 : 98
Nama Siswa 3 : Marinka
Nilai Siswa 3 : 77
Nama Siswa 4 : Aldo
Nilai Siswa 4 : 87

Selamat, Juan, kamu juara!

Simpan dengan nama 1_nilaiJuara.c.

Apakah program memerlukan tipe terstruktur? Jika iya, tuliskan deklarasi tipe terstruktur yang
diperlukan di sini (dalam bahasa C).

typedef struct{
char nama [20];
int nilai;
}datassw;
Tuliskan algoritma (notasi bebas) di sini.

Program Juara Nilai Ujian


{Menampilkan nama dan nilai dari siswa yang memiliki nilai tinggi}
Deklarasi
Nmaks = 100
Type datassw : record<nama: string, nilai: integer>
datassw siswa [Nmaks]
a,b, mini, maks : integer
mini = 0
maks = 0
Algoritma
Input banyaknya siswa (b)
For a = 0 to b do
Input(siswa[a].nama, siswa[a].nilai)
If siswa[a].nilai<mini then
Mini=siswa[a].nilai
juara=siswa[a].nama
else if siswa[a].nilai > maks then
maks= siswa[a].nilai
juara=siswa[a].nama
endif
endfor
output(juara)
Salin kode program di sini.

#include <stdio.h>
#define Nmaks 100
main (){
typedef struct{
char nama [20];
int nilai;
}datassw;
datassw siswa [Nmaks];
int a,b, mini, maks;
char *juara;
mini=0;
maks=0;
printf("PROGRAM JUARA NILAI UJIAN \n");
printf("------------------------------- \n");
printf("Banyaknya siswa : ");
scanf("%d", &b);
printf("\n");
for(a=0 ; a<b; a++){
printf("Nama : ");
scanf("%s", &siswa[a].nama);
printf("\n");
printf("Nilai Ujian : ");
scanf("%d", &siswa[a].nilai);
printf("\n");
printf("------------------\n\n");
if (siswa[a].nilai < mini){
mini=siswa[a].nilai;
juara=siswa[a].nama;
} else if(siswa[a].nilai > maks){
maks=siswa[a].nilai;
juara=siswa[a].nama;
}
}
printf("Selamat , %s , kamu juara !", juara, maks);
return 0;
}
Jelaskan hasil running program!
Setelah program dicompile run program meminta memasukkan banyak nya siswa, setelah itu program
akan meminta input nama dan nilai ujian sesuai banyaknya siswa dan setelah itu program akan
menampilkan output dengan nama siswa yang nilai nya paling tinggi (juara)

Bagian 2: Balik Kata


Buatlah program yang dapat menerima masukan suatu kata. Program kemudian menampilkan dalam
kondisi terbalik, huruf yang di depan ditampilkan di belakang.

Contoh:

Masukkan kata: poltek


Kata dibalik: ketlop

Petunjuk: Hitung panjang kata masukan dulu. Anda dapat menggunakan fungsi strlen() untuk
mendapatkan panjang kata yang dimasukkan. Masukan dari strlen adalah string, hasilnya adalah angka
integer yang menunjukkan banyaknya karakter string tersebut. Lakukan #include <string.h>
Simpan dengan nama 2_balikKata.c

Tuliskan algoritma (notasi bebas) di sini.

Program Balik Kata


{Menerima masukkan kata dan akan menampilkan kata yang dibalik}
Deklarasi
kata1 : integer
kata : string
Algoritma
Input (kata)
Kata1 strlen(kata)
For kata1-1; kata1>0; kata1- - do
Output (kata1)
endfor
Salin kode program di sini.

#include <stdio.h>
#include <string.h>
main()
{
int kata1;
char kata[100];
printf("PROGRAM BALIK KATA \n");
printf("------------------ \n");
printf("Masukkan kata : ");
scanf("%s", &kata);
kata1=strlen(kata);
printf("Kata dibalik : ");
for(kata1-1; kata1>0; kata1--){
printf("%c", kata[kata1-1]);
}
printf("\n");
}
Jelaskan hasil running program!
Setelah Program dicompile dan run program akan meminta memasukkan kata , setelah itu program
akan menampilkan output kata yang kita yang masukkan dengan posisi terbalik

Ekstra: Cek Palindrom


Palindrom adalah kata/frase/kalimat yang dibaca dari depan atau belakang sama saja.
Buatlah program yang dapat menerima masukan 1 kata, kemudian mengecek apakah kata tersebut
palindrom atau bukan.

Contoh:

Masukkan kata: malam


>> palindrom

Masukkan kata: siang


>> bukan palindrom

Simpan dengan nama 3_cekPalindrom.c.

Tuliskan algoritma (notasi bebas) di sini.

Program Cek Palindrom


{Menerima masukan 1 kata dan kemudian akan di cek kata tersebut palindrom atau tidak}
Deklarasi
kata , cek : string
Algoritma
Input (kata)
Strcpy (cek, kata)
Strrey (cek)
If strcmp (cek,kata) = 0 then
Output (Kata tersebut adalah Palindrom)
Else
Output(Kata tersebut bukan Palindrom)
endif
Salin kode program di sini.

#include <stdio.h>
#include <string.h>
int main()
{
char kata[100];
char cek[50];
printf("PROGRAM CEK PALINDROM \n");
printf("----------------------- \n");
printf("Masukkan Kata : ");
gets(kata);
strcpy(cek, kata);
strrev(cek);
if(strcmp(kata, cek) == 0){
printf("\n");
printf("Kata '%s' Adalah Palindrom\n\n", kata);
} else {
printf("\n");
printf("Kata '%s' Bukan Palindrom\n\n", kata);
}
printf("\n");
printf("Kata yang dibalik : %s\n\n\n", cek);
return 0;
}
Jelaskan hasil running program!

Setelah program dicompile dan dirun program akan meminta memasukkan kata, setelah itu program
akan memproses input yang dimasukkan . Jika kata yang dimasukkan setelah dibalik katanya masih sama
berarti kata tersebut adalah polindrom jika tidak maka bukan polindrom

Kesimpulan
Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Praktikum ini mempelajari Membuat variabel array dari berbagai macam tipe data, Mengenali
permasalahan yang membutuhkan variabel array, Melakukan proses-proses pada array sesuai kebutuhan
penyelesaian permasalahan

Kesimpulan : setelah mengerjakan praktikum ini saya dapat membuat suatu program array untuk
permasalahan sebuah kasus , dan dapat mempelajari kesalahan dari program yang saya buat