web viewuntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan...

20
LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL 6 RECORD Disusun Oleh : TGL. PRAKTIKUM : 13 Maret 2011 NAMA : Gerry Kuswanto NRP : 090411100034 TELAH DISETUJUI TANGGAL : ........../........... ./2011 ASISTEN DOSEN

Upload: vuongkiet

Post on 01-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 2: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 3: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 4: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 5: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 6: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 7: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

InputUrut_nim_ascendingOutputWriteWrite(‘tekan enter’)Readsearch

Page 8: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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);

}

Page 9: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

//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

Page 10: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

 

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.

Page 11: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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();

Page 12: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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("=====================================================

Page 13: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

====================\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(){

Page 14: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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

Page 15: Web viewUntuk mengumpulkan semua atribut atau data-data yang sejenisnya tidak sama dapat menggunakan struktur data ... C untuk memasukkan data belanja dan

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