SlideShare a Scribd company logo
STRUKTUR DATA (1)
PENGANTAR
• Bagaimana cara mengatasi masalah
implementasi program dengan komputer?
• Pemahaman masalah secara menyeluruh dan
persiapan data
• Keputusan operasi-operasi yang dilakukan
terhadap data
• Penyimpanan data-data pada memori sehingga
tersimpan dan terstruktur secara logis, operasinya
efisien
• Pengambilan keputusan terhadap bahasa
pemrograman mana yang paling cocok untuk
jenis data yang ada
Perbedaan Tipe Data, Obyek Data &
Struktur Data (1)
• Tipe data adalah jenis data yang mampu
ditangani oleh suatu bahasa pemrograman
pada komputer.
• Tiap-tiap bahasa pemrograman memiliki tipe
data yang memungkinkan:
• Deklarasi terhadap variabel tipe data tersebut
• Menyediakan kumpulan operasi yang mungkin
terhadap variabel bertipe data tersebut
• Jenis obyek data yang mungkin
• Contoh tipe data di C? Java? Pascal? .NET?
Perbedaan Tipe Data, Obyek Data &
Struktur Data (2)
• Obyek Data adalah kumpulan elemen yang
mungkin untuk suatu tipe data tertentu.
• Mis: integer mengacu pada obyek data -32768 s/d
32767, byte 0 s/d 255, string adalah kumpulan
karakter maks 255 huruf
• Struktur Data adalah cara penyimpanan dan
pengorganisasian data-data pada memori
komputer maupun file secara efektif
sehingga dapat digunakan secara efisien,
termasuk operasi-operasi di dalamnya.
Aktivitas Struktur Data
• Di dalam struktur data kita berhubungan
dengan 2 aktivitas:
• Mendeskripsikan kumpulan obyek data yang sah
sesuai dengan tipe data yang ada
• Menunjukkan mekanisme kerja operasi-operasinya
• Contoh: integer (-32768 s/d 32767) dan jenis operasi yang
diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.
• Struktur data = obyek data + [operasi
manipulasi data]
Hubungan SD dan Algoritma
• Dengan pemilihan struktur data yang baik,
maka problem yang kompleks dapat
diselesaikan sehingga algoritma dapat
digunakan secara efisien, operasi-operasi
penting dapat dieksekusi dengan sumber
daya yang lebih kecil, memori lebih kecil, dan
waktu eksekusi yang lebih cepat.
• Tidak semua struktur data baik dan sesuai.
Contoh untuk problem pemrosesan image,
record informasi mahasiswa.
Ciri Algoritma
• Ciri algoritma yang baik menurut
Donald E.Knuth:
• Input: ada minimal 0 input atau lebih
• Ouput: ada minimal 1 output atau lebih
• Definite: ada kejelasan apa yang dilakukan
• Efective: langkah yang dikerjakan harus
efektif
• Terminate: langkah harus dapat berhenti
(stop) secara jelas
ADT dan UDT atau Tipe Data
Bentukan
• Bahasa pemrograman bisa memiliki tipe data:
• Built-in : sudah tersedia oleh bahasa
pemrograman tersebut
• Tidak berorientasi pada persoalan yang dihadapi.
• UDT : User Defined Type, dibuat oleh pemrogram.
• Mendekati penyelesaian persoalan yang dihadapi
• Contoh: record pada Pascal, struct pada C.
• ADT : Abstract Data Type
• memperluas konsep UDT dengan menambahkan
pengkapsulan atau enkapsulasi, berisi sifat-sifat dan
operasi-operasi yang bisa dilakukan terhadap kelas
tersebut.
• Contoh: class pada Java
UDT (2)
• Bahasa C memiliki tipe data numerik dan
karakter (seperti int, float, char dan lain-
lain). Disamping itu juga memiliki tipe
data enumerasi dan structure. Bagaimana
jika kita ingin membuat tipe data baru?
• Untuk pembuatan tipe data baru
digunakan keyword typedef
• Bentuk umum:
typedef <tipe_data_lama> <tipe_data_baru>;
Program
• Contoh:
• #include <stdio.h>
• #include <conio.h>
• typedef int angka;
• typedef float pecahan;
• typedef char huruf;
• void main(){
• clrscr();
• angka umur;
• pecahan pecah;
• huruf h;
•
huruf nama[10];
• printf("masukkan umur anda : ");scanf("%d",&umur);
• printf("Umur anda adalah %d",umur);
• printf("nmasukkan bilangan pecahan : ");scanf("%f",&pecah);
• printf("Bilangan pecahan %f",pecah);
• printf("nmasukkan huruf : ");h=getche();
• printf("nHuruf anda %c",h);
• printf("nmasukkan nama : ");scanf("%s",nama);
• printf("Nama anda %s",nama);
• getch();
• }
Hasil Program
Struct / record
• Struct adalah tipe data bentukan 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.
Bentuk Umum
• Bentuk umum:
• typedef struct <nama_struct> {
• tipe_data <nama_var>;
• tipe_data <nama_var>;
• ....
• }
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];
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.
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:
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();
• }
Hasil
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();
• }
Hasil
Struct yang berisi struct 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();
• }
Hasil
Array of Struct
• #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 user[3];
•
• //3 user
• for(int i=0;i<3;i++){
• printf("nUSER ke-%dn",i+1);
• printf("ID : ");scanf("%d",&user[i].ID);
• printf("Tanggal Loginn");
• printf("Hari : ");scanf("%d",&user[i].tglLogin.dd);
• printf("Bulan : ");scanf("%d",&user[i].tglLogin.mm);
• printf("Tahun : ");scanf("%d",&user[i].tglLogin.yyyy);
• printf("Waktu Loginn");
• printf("Jam : ");scanf("%d",&user[i].waktuLogin.h);
• printf("Menit : ");scanf("%d",&user[i].waktuLogin.m);
• printf("Detik : ");scanf("%d",&user[i].waktuLogin.s);
• printf("Terimakasih Atas Pengisiannyan");
•
• printf("nData User ke-%d:n",i+1);
• printf("Login ID : %dn",user[i].ID);
• printf("Login Date : %d - %d - %dn",user[i].tglLogin.dd,user[i].tglLogin.mm,user[i].tglLogin.yyyy);
• printf("Login Time : %d:%d:%dn",user[i].waktuLogin.h,user[i].waktuLogin.m,user[i].waktuLogin.s);
• }
•
• getch();
• }
Hasil
Operasi data pada array of
struct
• Tambah
• Hapus
• Edit
• Lihat contoh!
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.
• NEXT : SEARCHING ARRAY

More Related Content

PPT
Tipe Data Terstruktur Materi Struktur Data
PPT
Tipe_Data_Terstruktur pada perkuliahan.ppt
PPT
Tistrukdat1
PPT
Materi 1
PPT
Nested struct
PPT
Kontrak Perkuliahan
PPT
Kontrak Perkuliahan
PPTX
Abstract Data tipe untuk menenyukan data.pptx
Tipe Data Terstruktur Materi Struktur Data
Tipe_Data_Terstruktur pada perkuliahan.ppt
Tistrukdat1
Materi 1
Nested struct
Kontrak Perkuliahan
Kontrak Perkuliahan
Abstract Data tipe untuk menenyukan data.pptx

Similar to Tieeeeeeeeeeeeeeeeeepe_Data_Terstruktur.ppt (20)

DOCX
Laporan praktikum modul vii
PPT
Abstraksi tipe data
PPT
Bab 1 abstraksi_tipe_data
PPT
1_STRUKTUR_DATA_ooooooooooouuuuuuuuuuuuuuuuuuuuuuuPPT.ppt
PPTX
Struktur data
DOC
Materi ap#2
PDF
Pertemuan 1 revisijan2013-mhs
PPTX
Sd pertemuan 1 & 2
PPTX
Sd pertemuan 1 & 2
PPTX
Sd pertemuan 1 & 2
PPTX
Sd pertemuan 1 & 2
PPTX
STRUKTUR DATA
PPTX
Struktur data pertemuan 1 & 2
PDF
pengenalan dasar algoritma dan struktur data
PPT
1 STRUKTUR DATA,TIPE DATA, ARRAY dan STRUCT.ppt
PDF
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
PPTX
Rpl upload #8
PDF
C programming language notes (9)
DOCX
BAB 1 PBO C++ Struktur
PPTX
PEMROGRAMAN C++ MENGGUNAKAN DEV C++.pptx
Laporan praktikum modul vii
Abstraksi tipe data
Bab 1 abstraksi_tipe_data
1_STRUKTUR_DATA_ooooooooooouuuuuuuuuuuuuuuuuuuuuuuPPT.ppt
Struktur data
Materi ap#2
Pertemuan 1 revisijan2013-mhs
Sd pertemuan 1 & 2
Sd pertemuan 1 & 2
Sd pertemuan 1 & 2
Sd pertemuan 1 & 2
STRUKTUR DATA
Struktur data pertemuan 1 & 2
pengenalan dasar algoritma dan struktur data
1 STRUKTUR DATA,TIPE DATA, ARRAY dan STRUCT.ppt
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
Rpl upload #8
C programming language notes (9)
BAB 1 PBO C++ Struktur
PEMROGRAMAN C++ MENGGUNAKAN DEV C++.pptx
Ad

More from ssuser92549b1 (6)

PPTX
PPT-UEU-Managgggggggggggggggggjemen-Proyek-SI-Pertemuan-8.pptx
PPTX
Dog Diseases bjjjjjjjjjjjjjy Slidesgo.pptx
DOCX
Template Rubrik Pasdasdasdasdaenilaian.docx
DOCX
111-Articledsd Text-737-1-2-20230905.docx
DOCX
Template Rubrik Pesdfsdfsdfsdfnilaian.docx
DOCX
Template Rencana Tugas Mahasiswa (RTM).docx
PPT-UEU-Managgggggggggggggggggjemen-Proyek-SI-Pertemuan-8.pptx
Dog Diseases bjjjjjjjjjjjjjy Slidesgo.pptx
Template Rubrik Pasdasdasdasdaenilaian.docx
111-Articledsd Text-737-1-2-20230905.docx
Template Rubrik Pesdfsdfsdfsdfnilaian.docx
Template Rencana Tugas Mahasiswa (RTM).docx
Ad

Recently uploaded (9)

PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
PPTX
Materi asdsa asd asd sad sa dsa dsa d sa
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPT
pengantar-sistem-informasi manajemen.ppt
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PPTX
Implementasi Microservices pada Manufaktur
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Modul_Pemula_Merakit_Komputer untuk smppdf
Materi asdsa asd asd sad sa dsa dsa d sa
Materi_Array_Karakter_String untuk kelas XI sma.pptx
pengantar-sistem-informasi manajemen.ppt
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Implementasi Microservices pada Manufaktur
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya

Tieeeeeeeeeeeeeeeeeepe_Data_Terstruktur.ppt

  • 2. PENGANTAR • Bagaimana cara mengatasi masalah implementasi program dengan komputer? • Pemahaman masalah secara menyeluruh dan persiapan data • Keputusan operasi-operasi yang dilakukan terhadap data • Penyimpanan data-data pada memori sehingga tersimpan dan terstruktur secara logis, operasinya efisien • Pengambilan keputusan terhadap bahasa pemrograman mana yang paling cocok untuk jenis data yang ada
  • 3. Perbedaan Tipe Data, Obyek Data & Struktur Data (1) • Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer. • Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan: • Deklarasi terhadap variabel tipe data tersebut • Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut • Jenis obyek data yang mungkin • Contoh tipe data di C? Java? Pascal? .NET?
  • 4. Perbedaan Tipe Data, Obyek Data & Struktur Data (2) • Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu. • Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf • Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.
  • 5. Aktivitas Struktur Data • Di dalam struktur data kita berhubungan dengan 2 aktivitas: • Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada • Menunjukkan mekanisme kerja operasi-operasinya • Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb. • Struktur data = obyek data + [operasi manipulasi data]
  • 6. Hubungan SD dan Algoritma • Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat. • Tidak semua struktur data baik dan sesuai. Contoh untuk problem pemrosesan image, record informasi mahasiswa.
  • 7. Ciri Algoritma • Ciri algoritma yang baik menurut Donald E.Knuth: • Input: ada minimal 0 input atau lebih • Ouput: ada minimal 1 output atau lebih • Definite: ada kejelasan apa yang dilakukan • Efective: langkah yang dikerjakan harus efektif • Terminate: langkah harus dapat berhenti (stop) secara jelas
  • 8. ADT dan UDT atau Tipe Data Bentukan • Bahasa pemrograman bisa memiliki tipe data: • Built-in : sudah tersedia oleh bahasa pemrograman tersebut • Tidak berorientasi pada persoalan yang dihadapi. • UDT : User Defined Type, dibuat oleh pemrogram. • Mendekati penyelesaian persoalan yang dihadapi • Contoh: record pada Pascal, struct pada C. • ADT : Abstract Data Type • memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi, berisi sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut. • Contoh: class pada Java
  • 9. UDT (2) • Bahasa C memiliki tipe data numerik dan karakter (seperti int, float, char dan lain- lain). Disamping itu juga memiliki tipe data enumerasi dan structure. Bagaimana jika kita ingin membuat tipe data baru? • Untuk pembuatan tipe data baru digunakan keyword typedef • Bentuk umum: typedef <tipe_data_lama> <tipe_data_baru>;
  • 10. Program • Contoh: • #include <stdio.h> • #include <conio.h> • typedef int angka; • typedef float pecahan; • typedef char huruf; • void main(){ • clrscr(); • angka umur; • pecahan pecah; • huruf h; • huruf nama[10]; • printf("masukkan umur anda : ");scanf("%d",&umur); • printf("Umur anda adalah %d",umur); • printf("nmasukkan bilangan pecahan : ");scanf("%f",&pecah); • printf("Bilangan pecahan %f",pecah); • printf("nmasukkan huruf : ");h=getche(); • printf("nHuruf anda %c",h); • printf("nmasukkan nama : ");scanf("%s",nama); • printf("Nama anda %s",nama); • getch(); • }
  • 12. Struct / record • Struct adalah tipe data bentukan 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.
  • 13. Bentuk Umum • Bentuk umum: • typedef struct <nama_struct> { • tipe_data <nama_var>; • tipe_data <nama_var>; • .... • }
  • 14. 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];
  • 15. 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.
  • 16. 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:
  • 17. 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(); • }
  • 18. Hasil
  • 19. 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(); • }
  • 20. Hasil
  • 21. Struct yang berisi struct 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(); • }
  • 22. Hasil
  • 23. Array of Struct • #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 user[3]; • • //3 user • for(int i=0;i<3;i++){ • printf("nUSER ke-%dn",i+1); • printf("ID : ");scanf("%d",&user[i].ID); • printf("Tanggal Loginn"); • printf("Hari : ");scanf("%d",&user[i].tglLogin.dd); • printf("Bulan : ");scanf("%d",&user[i].tglLogin.mm); • printf("Tahun : ");scanf("%d",&user[i].tglLogin.yyyy); • printf("Waktu Loginn"); • printf("Jam : ");scanf("%d",&user[i].waktuLogin.h); • printf("Menit : ");scanf("%d",&user[i].waktuLogin.m); • printf("Detik : ");scanf("%d",&user[i].waktuLogin.s); • printf("Terimakasih Atas Pengisiannyan"); • • printf("nData User ke-%d:n",i+1); • printf("Login ID : %dn",user[i].ID); • printf("Login Date : %d - %d - %dn",user[i].tglLogin.dd,user[i].tglLogin.mm,user[i].tglLogin.yyyy); • printf("Login Time : %d:%d:%dn",user[i].waktuLogin.h,user[i].waktuLogin.m,user[i].waktuLogin.s); • } • • getch(); • }
  • 24. Hasil
  • 25. Operasi data pada array of struct • Tambah • Hapus • Edit • Lihat contoh!
  • 26. 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. • NEXT : SEARCHING ARRAY