Upload
vuongkiet
View
224
Download
0
Embed Size (px)
Citation preview
LAPORAN RESMIPRAKTIKUM ALGORITMA PEMROGRAMAN
MODUL 6RECORD
Disusun Oleh :
LABORATORIUM PEMROGRAMANJURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIKUNIVERSITAS TRUNOJOYO MADURA
2011
TGL. PRAKTIKUM : 13 Maret 2011NAMA : Gerry KuswantoNRP : 090411100034KELOMPOK : IDOSEN : Kurniawan Dwi Hermanto, S.Kom.
TELAH DISETUJUI TANGGAL : ........../............/2011ASISTEN DOSEN
Andi SolihinNRP. 090411100011
BAB IPENDAHULUAN
1.1 Latar Belakang
suatu objek benda biasanya mempunyai beberapa atribut yang perlu
dicatat. Seseorang yang namanya Naufal setidaknya mempunyai atribut nama,
tanggal lahir, pekerjaa, status, alamat dan lain-lain seperti tertulis pada kartu
identitasnya. Apabila naufal menjadi seorang mahasiswa maka ia akan
mempunyai atribut lain, misalnya nomor mahasiswa, jurusan, program studi, mata
kuliah yang diambil, nilai-nilai mata kuliah, ipk dan lain –lain. Jadi untuk satu
benda yang sama dimungkinkan mempunyai atribut yang berbeda-beda sesuai
dengan dari sudut mana objek itu dipandang. Untuk mengumpulkan semua atribut
atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data
STRUKTUR./Record
1.2 Tujuan
Tujuan dari Praktikum kali ini adalah:1. Praktikan mengetahui keuntungan-keuntungan penggunaan Struktur!
2. Praktikan mengetahui Kapan sebaiknya record digunakan.
3. Praktikan dapat membuat algoritma untuk mengurutkan data berdasarkan
nomor mahasiswa (NPM) dengan urutan dari yang terkecil ke yang
terbesar serta mempunyai kemampuan untuk menampilkan jumlah total
mahasiswa sesuai dengan kriteria yang dimasukkan oleh user. Serta dapat
menerjemahkan dalam bahasa C
BAB IIDASAR TEORI
2.1 Teori Singkat
Record adalah elemen larik yang bertipe terstruktur. Dengan menggunakan
tipe data record, beberapa item data yang masing-masing dapat mempunyai tipe
data berbeda-beda dapat dikumpulkan. Masing-masing item data disebut dengan
field. Jadi record terdiri dari kumpulan field yang dapat berbeda tipe. Biasanya
suatu record berisi beberapa field untuk sebuah subyek tertentu.
Misalnya record TabelMhs dalam Gambar 6.1. adalah sebuah larik (sejumlah
100 elemen) yang elemennya menyatakan nilai ujian mata kuliah (MK) yang
diambil seorang mahasiswa. Data (field) setiap mahasiswa adalah NIM (Nomor
Induk Mahasiswa), nama mahasiswa, mata kuliah yang diambil, dan nilai mata
kuliah tersebut.
Tabel Mhs
NIM NamaMhs KodeMK Nilai
1 0604100001 M. Khairuddin FTC155 A
2 0604100002 Agastya FTC165 B
3 0604100003 Budi Kusuma FTC177 D
4 0604100004 Marina FTC178 B
5 0604100005 Eliawati FTC180 A
.
.
100 0604100100 Prasetyo FTC185 C
Gambar 6.1. Struktur Record TabelMhs
BAB III
TUGAS PENDAHULUAN
Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.
4. Sebutkan dan jelaskan keuntungan-keuntungan penggunaan record!
Pembahasan:
Record adalah elemen larik yang bertipe terstruktur.
Dengan menggunakan tipe data record, beberapa item data yang
masing-masing dapat mempunyai tipe data berbeda-beda dapat
dikumpulkan.
Masing-masing item data disebut dengan field. Jadi record terdiri dari
kumpulan field yang dapat berbeda tipe.
Biasanya suatu record berisi beberapa field untuk sebuah subyek
tertentu.
5. Kapankan sebaiknya record digunakan? Jelaskan!
Pembahasan:
Record digunakan saat program yang kita buat meminta untuk
menampilkan macam-macam data, misal data mahasiswa yang terdiri dari
NPM,Nama,Nilai dll.
6. Buatlah algoritma untuk mengurutkan data berdasarkan nomor mahasiswa
(NPM) dengan urutan dari yang terkecil ke yang terbesar serta mempunyai
kemampuan untuk menampilkan jumlah total mahasiswa sesuai dengan
kriteria yang dimasukkan oleh user.
Misalnya: user ingin mengetahui jumlah mahasiswa yang mempunyai nilai
A untuk mata kuliah X, maka algoritma akan menampilkan jumlah
mahasiswa yang mempunyai nilai A untuk mata kuliah X .
Masukan : jumlah mahasiswa.
Selanjutnya memasukkan record data mahasiswa. Data (field)
setiap mahasiswa adalah NPM (Nomor Pokok Mahasiswa),
nama mahasiswa, mata kuliah yang diambil, dan nilai mata
kuliah tersebut
Keluaran : hasil pengurutan data berdasarkan NPM
Hasil ditampilan dalam bentuk tabel seperti di bawah ini
NPM Nama Kode Nilai
Pembahasan :Algoritma DATA_MAHASISWA;Const Mhs = record
Nim : string [14]Nama_mhs : string [25]Matkul : string [25]Nilai : string [25]
DeklarasiDta : array [1....nmaks] of mhs Kota,n,i,j,temp : integerPil,jwb :char
Fungsi inputDeskripsiRead (n)For j 1 to n dowrite(‘masukkan data mahasiswa ke-’,j)Write (‘masukkan NIM = ’) {readln(dta[j],matkul)}Write (‘Masukkan nama mahasiswa’) {readln(dta[j],nilai)}RepeatRead (dta[j].nama_mhs)Until(dta[j].nama_mhs <>)RepeatRead (dta[j].nama_nilai)Until(dta[j].nama_nilai<>)
Fungsi outputDeskripsiFor j 1to n doWrite(‘’dta[j].nim14,dta[j].nama_mhs:19, dta[j].matkul:[24],dta[j].nilaia;15’)Endfor
Fungsi tukar (deklarasi =a,b:mhs)Deklarasi=temp.mhsDeskripsiTemp aa bb temp
fungsi urut_nim_ascendingdeklarasitmp : stringfor 1 to n dodeskripsi tmp dt[I].nimj i -1while (dta[j].nim>tmp) and (j>0) do tukars (dta[j+1], dta[j])dec (j)dta[j+1].nim tmpendforfungsi searchdeklarasicari : string[10]ketemu: booleanletak : integerketemu falseletak 0read (cari)for j 1 to n do if (dta[j].nilai=cari) then ketemu trueletak jelse if ketemu = true thenwrite (‘perintah’)with dta[letak] dowrite (nim:16+j, nma_mhs:22 +j, matkul:17+j,nilai:14+j)elsewrite(‘data yang anda cari tidak ada’)endifendifendfor
Program Utma
InputUrut_nim_ascendingOutputWriteWrite(‘tekan enter’)Readsearch
BAB IV
IMPLEMENTASI
4.1 Tugas Praktikum
Pada saat praktikum, kerjakan tugas-tugas berikut ini:
1. Buat program untuk tugas prepraktikum 3!
Pembahasan:
typedef struct mhs{
int npm,nilai;
char nama[20],mata_kul[10];
} mhs;
mhs mahasiswa[50];
DESKRIPSI
int main(){
int n;
printf("Masukkan jumlah mahasiswa : "); scanf("%d", &n);
int i;
int j;
for( i=1;i<=n;i++){
printf("\nData ke-%d\n", i);
printf("NPM\t\t: "); scanf("%d", &mahasiswa[i].npm);
printf("Nama\t\t: "); scanf("%s", mahasiswa[i].nama);
printf("Mata kuliah\t: "); scanf("%s", mahasiswa[i].mata_kul);
printf("Nilai\t\t: "); scanf("%d", &mahasiswa[i].nilai);
}
//Proses mengurutkan NPM metode bubble sort
for(i=1;i<=n;i++){
for( j=1;j<=n;j++){
if (mahasiswa[i].npm < mahasiswa[j].npm){
int bantu = mahasiswa[i].npm;
mahasiswa[i].npm = mahasiswa[j].npm;
mahasiswa[j].npm = bantu;}
}
}
printf("\Data Mahasiswa Berdasarkan NPM\n");
printf("-----------------------------------------------------------------");
printf("\n|NRP\t|\tNama\t|\tMata Kuliah\t|\tNilai\t|\n");
printf("-----------------------------------------------------------------");
for( i=1;i<=n;i++){
printf("\n|%d\t|\t%s\t|\t%s\t\t|\t%d\t|", mahasiswa[i].npm,mahasiswa[i].nama,mahasiswa[i].mata_kul,mahasiswa[i].nilai);
}
Hasil running program
Tugas Akhir
Buatlah algoritma dan terjemahkan dalam bahasa C untuk memasukkan data
belanja dan menampilkannya dalam bentuk nota Belanja. Total Harga dan Total
belanja didapat dengan melakukan proses perhitungan kemudian hasil nya
ditampilkan dalam bentuk seperti contoh dibawah ini.
Algoritma :read.(n)
for a 1 to n do
write (‘Barang ke-n’)
write (barang[n].kode)
write (barang[n].nama)
write (barang[n].harga)
write (barang[n].satuan)
endfor
Harga jumlah (barang[n].jumlah) = barang[n].satuan * barang[n].harga.
Source coding program
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void input();
void tampil();
void clrscr();
void coba_lagi();
void satuan_x_harga();
struct data_barang{
char kode[20];
char nama[20];
int harga, satuan,total;
}brng[20];
int j,i,n;
void input(){
printf("Jumlah Barang : ");scanf("%d",&n);
for (j=1;j<=n;j++){
printf("Barang ke- %d\n", j);
printf("Kode Barang : ");scanf("%s", brng[j].kode);
printf("Nama Barang : ");scanf("%s", brng[j].nama);
printf("Harga Satuan : ");scanf("%d", &brng[j].harga);
printf("Jumlah : ");scanf("%d",&brng[j].satuan);
}
}
//tampil
void tampil(){
int jumlah;
printf("=====================================================
====================\n");
printf("= No = Kode = Nama = Harga = Jumlah = Harga x Jumlah\n");
printf("=========================================================================\n");
for (j=1;j<=n;j++){
printf("= %d = %s = %s = %d = %d = %d\n",j,brng[j].kode,brng[j].nama,brng[j].harga,brng[j].satuan,brng[j].total);
}
printf("=========================================================================\n");
};
//clrscr
void clrscr() {
if (system( "clear" )) system( "cls" );
};
void satuan_x_harga(){
for (j=1;j<=n;j++){
brng[j].total = brng[j].harga * brng[j].satuan;}}
int main(){
input();
satuan_x_harga();
tampil();
printf("\n\n");
coba_lagi();}void coba_lagi(){
int pil2;
printf("Coba lagi ?? \n[1]Yes. [2]No.\n");
scanf("%d", &pil2);
switch (pil2){
case 1 : clrscr(); main(); break;
case 2 : system("exit"); break;
default : printf("Inputan anda salah.\n\n"); coba_lagi(); break;
}}
Hasil running program
BAB VPENUTUP
5.1 Analisa
Dengan menggunakan record, data-data yang kita gunakan dapat lebih tertata dan
berkategori.
5.2 Kesimpulan
Pendeklarasian record harus diperiksa dengan cermat, agar elemen-elemennya
dapat terpanggil dengan baik