Publicité
Publicité

Contenu connexe

Publicité

Materi 1

  1. STRUKTUR DATA RAMADHANI,S.KOM
  2. array • Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. • Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
  3. DEKLARASI • tipe_data nama_var_array [ukuran]; • tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll) • nama_var_array : menyatakan nama variabel yang dipakai. • ukuran : menunjukkan jumlah maksimal elemen larik. • Contoh : • Int nilai[6];
  4. INISIALISASI • Menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. • int nilai[6] = {8,7,5,6,4,3};­­­­­ • Contoh diatas berarti berarti anda memesan tempat di memori komputer sebanyak 6 tempat dengan indeks dari 0-5, dimana indeks ke-0 bernilai 8, ke-1 bernilai 7, dst, dan dimana semua elemennya bertipe data integer.
  5. PENGAKSESAN nama_var_array [indeks]; • Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.
  6. Contoh pengisian langsung saat deklarasi: #include <stdio.h> void main () { int billy [] = {16, 2, 77, 40, 12071}; int n, result=0; for ( n=0 ; n<5 ; n++ ) { result += billy[n]; } printf("%d",result); }
  7. Contoh pengaksesan dan pengisian langsung ke tiap elemen dari array: #include <stdio.h> #include <conio.h> void main () { int A [5]={20,9,1986,200,13},n,edit; clrscr(); printf("Data yang laman"); for (n=0;n<5;n++) { printf("%i ",A[n]); } printf("nData yang baru : n"); A[0]=4; A[1]=2; A[2]=1; A[3]=3; A[4]=5; for (n=0;n<5;n++) { printf("%i ",A[n]); } }
  8. Contoh penghapusan data(elemen) pada array: #include <stdio.h> #include <conio.h> void main () { int A [5]={20,9,1986,200,13},n,hapus; clrscr(); printf("Data yang laman"); for (n=0;n<5;n++) { printf("%i ",A[n]); } printf("data yang ingin dihapus : "); scanf("%i",&hapus); printf("nData yang baru : n"); for (n=hapus­1;n<5­1;n++) { A[n]=A[n+1]; } for (n=0;n<4;n++) { printf("%i ",A[n]); }}
  9. Stuct • Struct adalah tipe data yang berisi kumpulan variabel- variabel yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain. • Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki variabel- variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct itu sendiri. • Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct.
  10. Bentuk Umum • Bentuk umum: • typedef struct <nama_struct> { • tipe_data <nama_var>; • tipe_data <nama_var>; • .... •}
  11. Ada 2 cara pendeklarasian struct, yaitu : • Deklarasi 1: • Deklarasi 2 : • typedef struct Mahasiswa • Struct { • { • char NIM[8]; • char NIM[8]; • char nama[50]; • char nama[50]; • float ipk; • float ipk; • }; • } • mhs;
  12. Pendeklarasian dan penggunaan Struct (1) (menggunakan typedef) • typedef struct Mahasiswa { • char NIM[8]; • char nama[50]; • float ipk; • }; • untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2 • Mahasiswa mhs,mhs2; • untuk menggunakan struct Mahasiswa dengan membuat variabel array m; • Mahasiswa m[100];
  13. Pendeklarasian dan penggunaan Struct (2) (tanpa menggunakan typedef) • struct { • char NIM[8]; • char nama[50]; • float ipk; • } mhs; • Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas.
  14. Cara penggunaan struct dan pengaksesan elemen- elemennya • Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut • Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.) • Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemen- elemennya seperti contoh berikut:
  15. Program • Contoh 1 • #include <stdio.h> • #include <conio.h> • //Pendeklarasian tipe data baru struct Mahasiswa • typedef struct Mahasiswa{ • char NIM[9]; • char nama[30]; • float ipk; • }; • void main(){ • //Buat variabel mhs bertipe data Mahasiswa • Mahasiswa mhs; • clrscr(); • printf("NIM = ");scanf("%s",mhs.NIM); • printf("Nama = ");scanf("%s",mhs.nama); • printf("IPK = ");scanf("%f",&mhs.ipk); • • printf("Data Anda : n"); • printf("NIM : %sn",mhs.NIM); • printf("Nama : %sn",mhs.nama); • printf("IPK : %fn",mhs.ipk); • getch(); • }
  16. Hasil
  17. Program • #include <stdio.h> • #include <conio.h> • #define phi 3.14 • //langsung dianggap variabel 'lingkaran' • struct { • float jari2; • float keliling; • float luas; • } lingkaran; • //fungsi void untuk menghitung luas ingkaran • void luasLingkaran(){ • //langsung menggunakan luas lingkaran asli • lingkaran.luas = lingkaran.jari2 * lingkaran.jari2 * phi; • printf("nLuas lingkaran = %f",lingkaran.luas); • } • //fungsi yang mengembalikan nilai float untuk menghitung keliling lingkaran • float kelLingkaran(float j){ • return 2*phi*lingkaran.jari2; • } • int main(){ • clrscr(); • printf("Jari-jari = ");scanf("%f",&lingkaran.jari2); • //panggil fungsi luasLingkaran • luasLingkaran(); • //panggil fungsi keliling, nilai kembaliannya dikirim ke keliling lingkaran asli • lingkaran.keliling = kelLingkaran(lingkaran.jari2); • //tampilkan keliling lingkaran asli • printf("nKeliling lingkaran = %f",lingkaran.keliling); • getch(); }
  18. Hasil
  19. lain • #include <stdio.h> • #include <conio.h> • typedef struct Date{ • int dd; • int mm; • int yyyy; • }; • typedef struct Time{ • int h; • int m; • int s; • }; • typedef struct Login{ • int ID; • Date tglLogin; • Time waktuLogin; • }; • int main(){ • Login user1; • • printf("USER 1n"); • printf("ID : ");scanf("%d",&user1.ID); • printf("Tanggal Loginn"); • printf("Hari : ");scanf("%d",&user1.tglLogin.dd); • printf("Bulan : ");scanf("%d",&user1.tglLogin.mm); • printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy); • printf("Waktu Loginn"); • printf("Jam : ");scanf("%d",&user1.waktuLogin.h); • printf("Menit : ");scanf("%d",&user1.waktuLogin.m); • printf("Detik : ");scanf("%d",&user1.waktuLogin.s); • printf("Terimakasihn"); • • printf("Data Anda :n"); • printf("ID : %dn",user1.ID); • printf("Date : %d - %d - %dn",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy); • printf("ID : %d:%d:%dn",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s); • • getch(); • }
  20. Hasil
  21. LATIHAN • Buatlah program menu yang berisi data-data KTP penduduk yang disimpan dalam array struct 1 dimensi dan dapat dilakukan penambahan data, pencarian data, penampilan data dan penghapusan data. • Buatlah struct untuk data lagu yang berisi tentang judul lagu, penyanyi, tahun produksi, nomor track dan kode album. Ketentuan : • Jumlah data yang diinputkan dinamis (maks. 20 lagu)
Publicité