Program ini membahas tentang array of record, yang merupakan array dimana elemennya adalah record. Program ini menjelaskan konsep array, record, dan array of record beserta contoh kode programnya. Program ini juga memberikan latihan dan tugas untuk mempraktikkan penggunaan array of record dalam mengolah data mahasiswa dan pegawai.
Pada dasarnya, tugas utama komputer adalah processing dan I/O (Input dan Output). Bahkan, sebagian besar waktunya digunakan untuk mengolah I/O sedangkan processing hanya bersifat insidental. Jadi, pada konteks I/O, peranan sistem operasi adalah mengatur dan mengontrol perangkat I/O dan operasi I/O.
Pada dasarnya, tugas utama komputer adalah processing dan I/O (Input dan Output). Bahkan, sebagian besar waktunya digunakan untuk mengolah I/O sedangkan processing hanya bersifat insidental. Jadi, pada konteks I/O, peranan sistem operasi adalah mengatur dan mengontrol perangkat I/O dan operasi I/O.
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondelferrydmn1999
Indonesia, negara kepulauan yang kaya akan keragaman budaya, suku, dan tradisi, memiliki Jakarta sebagai pusat kebudayaan yang dinamis dan unik. Salah satu kesenian tradisional yang ikonik dan identik dengan Jakarta adalah ondel-ondel, boneka raksasa yang biasanya tampil berpasangan, terdiri dari laki-laki dan perempuan. Ondel-ondel awalnya dianggap sebagai simbol budaya sakral dan memainkan peran penting dalam ritual budaya masyarakat Betawi untuk menolak bala atau nasib buruk. Namun, seiring dengan bergulirnya waktu dan perubahan zaman, makna sakral ondel-ondel perlahan memudar dan berubah menjadi sesuatu yang kurang bernilai. Kini, ondel-ondel lebih sering digunakan sebagai hiasan atau sebagai sarana untuk mencari penghasilan. Buku foto Lensa Kampung Ondel-Ondel berfokus pada Keluarga Mulyadi, yang menghadapi tantangan untuk menjaga tradisi pembuatan ondel-ondel warisan leluhur di tengah keterbatasan ekonomi yang ada. Melalui foto cerita, foto feature dan foto jurnalistik buku ini menggambarkan usaha Keluarga Mulyadi untuk menjaga tradisi pembuatan ondel-ondel sambil menghadapi dilema dalam mempertahankan makna budaya di tengah perubahan makna dan keterbatasan ekonomi keluarganya. Buku foto ini dapat menggambarkan tentang bagaimana keluarga tersebut berjuang untuk menjaga warisan budaya mereka di tengah arus modernisasi.
Sebagai salah satu pertanggungjawab pembangunan manusia di Jawa Timur, dalam bentuk layanan pendidikan yang bermutu dan berkeadilan, Dinas Pendidikan Provinsi Jawa Timur terus berupaya untuk meningkatkan kualitas pendidikan masyarakat. Untuk mempercepat pencapaian sasaran pembangunan pendidikan, Dinas Pendidikan Provinsi Jawa Timur telah melakukan banyak terobosan yang dilaksanakan secara menyeluruh dan berkesinambungan. Salah satunya adalah Penerimaan Peserta Didik Baru (PPDB) jenjang Sekolah Menengah Atas, Sekolah Menengah Kejuruan, dan Sekolah Luar Biasa Provinsi Jawa Timur tahun ajaran 2024/2025 yang dilaksanakan secara objektif, transparan, akuntabel, dan tanpa diskriminasi.
Pelaksanaan PPDB Jawa Timur tahun 2024 berpedoman pada Peraturan Menteri Pendidikan dan Kebudayaan RI Nomor 1 Tahun 2021 tentang Penerimaan Peserta Didik Baru, Keputusan Sekretaris Jenderal Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi nomor 47/M/2023 tentang Pedoman Pelaksanaan Peraturan Menteri Pendidikan dan Kebudayaan Nomor 1 Tahun 2021 tentang Penerimaan Peserta Didik Baru pada Taman Kanak-Kanak, Sekolah Dasar, Sekolah Menengah Pertama, Sekolah Menengah Atas, dan Sekolah Menengah Kejuruan, dan Peraturan Gubernur Jawa Timur Nomor 15 Tahun 2022 tentang Pedoman Pelaksanaan Penerimaan Peserta Didik Baru pada Sekolah Menengah Atas, Sekolah Menengah Kejuruan dan Sekolah Luar Biasa. Secara umum PPDB dilaksanakan secara online dan beberapa satuan pendidikan secara offline. Hal ini bertujuan untuk mempermudah peserta didik, orang tua, masyarakat untuk mendaftar dan memantau hasil PPDB.
2. Tujuan
Mahasiswa dapat menjelaskan pengertian
array of record dan bisa menerangkan
operasi dasar menggunakan record dan
Array or Record dengan benar
Mahasiswa dapat : Mengoperasikan dan
membuat program dari semua algoritma
menggunakan record dan array of record
dengan benar.
4. Array / Larik
Array adalah suatu tipe data bentukan yang menyimpan
sekumpulan elemen data yang bertipe sama, dan memiliki indeks.
Indeks array harus tipe data yang menyatakan keterurutan,
misalnya integer atau karakter
Penyimpanan di memori secara kontigu.
Array 1 Dimensi
Setiap elemen larik ditulis dengan notasi :
n-1
∑ A[i] = A[ 0 ], A[ 1 ], A[ 2 ], A[ 3 ], A[ 4 ], …. , A[ n-1 ]
i=0
Angka di dalam kurung siku menyatakan indeks array yang
dimulai dari 0 sampai dengan (n-1) yang diinginkan.
5. Deklarasi
Untuk bisa membuat program modular dengan melewatkan
(passing) array baik by value atau by referensi maka
disarankan untuk membuat cara sebagai berikut:
Definisikan suatu tipe alias dari data bertipe array
Variabel array kemudian mengacu ke tipe alias tersebut
Contoh :
typedef int larik[10];
larik A;
A merupakan sebuah variabel yang bertipe array of integer
dengan ukuran maksimal 10 elemen dengan index 0 .. 9
6. typedef int larik[10]; //pendefinisian alias array int
void banyakData(int& n);
void isiLarik(larik& a, int n);
void printLarik(larik a, int n);
void cariRata(larik a, int n, float& rata);
main() {
larik x; // variabel array x bertipe alias larik
float rata2;
int n;
banyakData(n)
isiLarik(x,n);
printLarik(x,n);
cariRata(x,n,rata2);
cout<<"Rata-rata = "<<rata2<<endl;
}
void banyakData(int& n);{ // Input banyak data
cout<<"Banyak data : "; cin>>n;
}
void isiLarik(larik& a, int n){ // Input data larik
for (int i=0;i<n;i++) {
cout<<"Masukkan data ke- "<<(i+1)<<" : "; cin>>a[i];
}
}
void printLarik(larik a, int n){ //Mencetak data larik
cout <<"Data yang sudah dimasukkan" <<endl;
cout <<"-----------------------------"<<endl;
for(int i=0;i<n;i++) {
cout <<"Data ke-"<<(i+1)<<" = "<< a[i] <<endl;
}
}
void cariRata(larik a, int n, float& rata){
float jumlah=0; // Ubah jadi fungsi ?
for (int i=0;i<n;i++) {
jumlah=jumlah+a[i];
}
rata=jumlah/n;
}
7. Record / Structure
Record adalah suatu tipe data bentukan
yang merupakan kumpulan dari atribut-
atribut suatu objek.
Pada record tipe elemen bisa berbeda-
beda tidak seperti array yang
mengharuskan mempunyai tipe elemen
yang sama.
8. Deklarasi record / structure
Cara mengakses variabel di dalam record/struct adalah
dengan operator (.).
Misalkan terdapat nama record/struct mhs, dan variabel
yang akan diakses di dalamnya adalah NPM, maka cara
mengaksesnya adalah “ mhs.npm “yang artinya kita
mengakses npm yang merupakan satu atribut dari data
mhs.
struct namaRecord {
<tipe Atribut 1> Atribut1;
<tipe Atribut 2> Atribut2;
. . . . . . . . . . . . . . .
<tipe Atribut n> Atributn;
};
9. Contoh:
Akan dibuat sebuah program untuk mengelola koordinat kartesius yang memiliki
koordinat (absis, ordinat).
Program akan dipecah menjadi input, proses dan output.
Struktur data yang digunakan adalah tipe record.
A, B, C, D, T adalah titik-titik yang ada
dalam koordinat kartesian
T merupakan titik tengah dari 2 titik A dan B,
C merupakan titik hasil dari pencerminan
titik A terhadap sumbu X
D merupakan titik hasil dari pencerminan
titik A terhadap sumbu Y
1 2 3 4 5 6-1-2-3
1
2
3
4
5
-1
-2
-3
A(2,1)
T(4,2)
B(6,3)
C(2,-1)
D(-2,1)
X (Absis)
Y (Ordinat)
11. Latihan dan Tugas
1. Buatlah fungsi untuk :
a. Mencari titik tengah (T) dari 2 buah koordinat A dan B.
Diketahui rumus untuk titik tengah adalah:
T.absis = (A.absis + B.ordinat) / 2
T.ordina t= (A.ordinat + B.ordinat) / 2
b. Mencari koordinat hasil pencerminan terhadap sumbu X dan terhadap sumbu Y
2. Buatlah program untuk mencari jumlah biaya parkir dari selisih 2 waktu (datang dan
pulang) dengan aturan 1 jam pertama = Rp. 2000 dan per jam berikutnya = Rp.
2000. Skema jam (00-23)
Contoh tampilan yang diinginkan:
Jam Datang =
Jam Pulang = 11 : 13 : 25
Lama Parkir = 1 : 3 : 15
Bayar = Rp. 4000
12. Array of Record
Elemen array dapat juga digunakan untuk
data yang bertipe terstruktur (record).
Caranya :
1. membuat tipe nama record / structure
2. membuat nama alias tipe array yang
elemennya record/struct
3. deklarasikan variable-variabel yang
mengacu pada nama tipe alias array.
13. Contoh deklarasi array of record
Misalkan akan dibuat 3 buah fungsi untuk menentukan ukuran dari array,
input data dan pencetakan data dengan header sbb :
void banyakData(int& n);
void inputMahasiswa (LarikMhs& Mhs, int n);
void cetakMahasiswa (LarikMhs Mhs, int n);
struct mahasiswa {
char NPM[8] ;
char nama[20];
int nilai;
};
typedef mahasiswa LarikMhs[10];
LarikMhs mhs;
14. void banyakData(int& n);
void inputMahasiswa (LarikMhs& Mhs, int n);
void cetakMahasiswa(LarikMhs Mhs, int n);
main(){
LarikMhs mhs;
int n;
banyakData(n);
inputMahasiswa(mhs,n);
cetakMahasiswa(mhs,n);
getch();
}
void banyakData(int& n){ // Input banyak data
cout<<"Banyak data : "; cin>>n;
}
void inputMahasiswa (LarikMhs& Mhs, int n) {
for (int i=0;i<n;i++) {
cout<<"masukan data mahasiswa ke- "<<(i+1)<<endl;
cout<<"NPM : "; cin>>Mhs[i].NPM;
cout<<"Nama : "; cin>>Mhs[i].nama;
cout<<"Nilai : "; cin>>Mhs[i].nilai;
}
}
void cetakMahasiswa(LarikMhs Mhs, int n){
cout<<"PENCETAKAN DATA MAHASISWA "<<endl;
for (int i=0;i<n;i++) {
cout<<Mhs[i].NPM<<Mhs[i].nama<<Mhs[i].nilai<<endl;
}
}
15. Latihan
Buatlah fungsi untuk
Array of record
mahasiswa:
Mencari nilai rata-rata
mhs
Mencari nilai tertinggi mhs
Mencari nilai terendah
mhs
Sorting (bubble sort
ascending) berdasarkan
npm
16. Tugas
Buatlah program modular untuk menghitung rata-rata gaji, gaji tertinggi, gaji terendah dan
mengurutkan daftar pegawai berdasarkan NIP secara ascending dari suatu kumpulan data record
pegawai yang memiliki atribut (NIP : string, nama : string dan gol : int). Aturan gaji adalah :
Golongan Gaji
1 2.000.000
2 3.000.000
3 5.000.000
4 8.000.000
Fungsi yang diperlukan antara lain : main, inputPegawai, cetakDaftar, cariGaji, rataRataGaji,
gajiTerendah, gajiTertinggi, sorting , dll
Bentuk tampilan daftar pegawai adalah sebagai berikut :
DAFTAR GAJI PEGAWAI PT. INGIN SUKSES
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
No NIP NAMA Gol Gaji
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 120001 Ali Sukiman 2 3.000.000
2. 120005 Iman Wardiman 3 5.000.000
.......
N ........... .......................... ................
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Gaji Tertinggi : 5.000.000
Gaji Terendah : 3.000.000
Rata-rata Gaji : 4.000.000
17. Pengayaan
Bagaimana cara input data nama yg lebih
dari satu kata (contoh : Erick Paulus)
Bagaimana membuat sort data untuk tipe
String