Struktur Data | Error Code | be a true student

Pages

Subscribe:
No.ProdukBeli
1. Beli... klik di sini
Tampilkan postingan dengan label Struktur Data. Tampilkan semua postingan
Tampilkan postingan dengan label Struktur Data. Tampilkan semua postingan

Rabu, 02 Januari 2013

MATRIKS dan Contoh Program dengan Bahasa C

Download programnya di sini
password if needed : babylin
Pendahuluan

Matriks adalah kumpulan elemen berbentuk persegi panjang yang disusun menurut baris dan kolom. Bilangan yang terdapat di dalam matriks disebut dengan elemen atau anggota matriks. Karena mempunyai baris dan kolom matriks pada komputer dapat diibaratkan sebagai sebuah array 2 dimensi yang memilik 2 indeks untuk menyimpan suatu nilai. Indeks matriks dapat di representasikan sebagai berikut:
Gambar sisip 1
Matriks dapat dilakukan beberapa operasi matematika yaitu penjumlahan, pengurangan, perkalian. Matriks tidak dapat dibagi namun operasi pembagian pada matriks dapat dimaipulasi dengan menggunakan invers. Invers matriks bentuk matematikannya menyerupai pembagian invers dari A adalah A^-1= 1/A. Pada kali ini kami akan membahas penjumlahan,pengurangan, dan perkalian matriks menggunakan metode matematika biasa dan menggunakan metode numerik, meliputi analisis, algoritma (flow chart ),dan listing program.
PENJUMLAHAN MATRIKS
2 matriks bisa dijumlahkan jika ordonya sama dan penjumlahan dilakukan dengan cara menjumlahkan elemen yang seletak atau memiliki letak elemen yang sama.
Misalnya Matriks A + B = C
Gambar sisip 2
Operasi di atas dapat dinyatakan dalam bentuk indeks masing masing dari kedua matriks tersebut, yaitu
Gambar sisip 3
Gambar sisip 5
Dari data di atas penjumlahan matriks dapat di ambil rumus 
Gambar sisip 6
Dimana i adalah indeks pertama dan j adalh indeks kedua, i dan j ini digunakan untuk menentukan letak dimana suatu elemen matriks di simpan.
PENGURANGAN MATRIKS
2 matriks bisa dikurangkan jika ordonya sama dan pengurangan dilakukan dengan cara mengurangkan dari elemen yang seletak.
Misalnya Matriks A - B = C
Gambar sisip 7
Operasi di atas dapat dinyatakan dalam bentuk indeks masing masing dari kedua matriks tersebut, yaitu
Gambar sisip 8
Dari data di atas pengurangan matriks dapat di ambil rumus
Gambar sisip 9
 Dimana i adalah indeks pertama dan j adalh indeks kedua, i dan j ini digunakan untuk menentukan letak dimana suatu elemen matriks di simpan.

PERKALIAN MATRIKS
Ada dua jenis perkalian matriks yaitu perkalian antara matriks dengan bilangan scalar, dan perkalian antara matriks dengan matriks, namun yang akan kita bahas adalah perkalian matriks dengan matriks.
Perkalian antara matriks A yang mempunyai ukuran m x n dan matriks B yang mempunyai ukuran n x l akan menghasilkan matriks dengan ukuran m x l. perkalian matriks dilakukan jika baris pada matriks pertama sama dengan jumlah kolom  matriks ke dua.
Cmxl = Amxn X Bnxl
Secara umum perkalian matriks adalah penjumlahan dari perkalian antar baris matriks pertama dengan kolom matriks kedua. Untuk menyusun program perkalian, akan dibuat suatu algoritma perhitungan. Setiap bagian dari elemen-elemen matriks A dan matriks B dan C dinyatakan dalam persamaan berikut : 
Gambar sisip 10
Apabila diperhatikan, proses perkalian antara matriks A dengan matriks B yang akan menghasilkan matriks C akan menunjukan suatu proses yang berulang, dengan bentuk sebagai berikut:
Gambar sisip 11
Algoritma-Algoritma Operasi Penjumlahan, Pengurangan Dan Perkalian

  1. Algoritma penjumlahan
    Gambar sisip 12
  2. Algoritma Pengurangan
    Gambar sisip 13
  3. Algoritma Perkalian
    Gambar sisip 14



Lanjut baca - MATRIKS dan Contoh Program dengan Bahasa C

Sabtu, 04 Agustus 2012

Searching Array : Job Sheet 2

Setelah kita memahami apa itu array. Pada kali ini kita akan mempelajari bagaimana data dalam array itu dapat dimanipulasi, beberapa manipulasi array diantaranya adalah penambahan data, penghapusan data, pengeditan data, pencarian data, penampilan data.

Pada postingan ini kami akan menjelaskan beberapa metode searching beserta cara implementasinya, kelebihan dan kekurangan dari masing-masing metode. Pada dasarnya konsep dari searching itu sendiri adalah meminta inputan dari user data apa yang akan dicari, kemudian disimpan dalam variabel kemudian dibandingkan dengan data yang tersimpan dalam indeks array, apabila data pembanding itu sama maka akan data tersebut akan ditampilkan. Apabilwa data pembanding tidak sesuai dengan yang dicari maka akan muncul pemberitahuan kalo data yang dicari itu tida terdapat dalam indeks, not found, atau yang lainnya

Yang pertama kita akan membicarakan mengenai sequensial search. Sequensial search adalah suatu teknik pencarian data pada array satu dimensi yang dilakukan dengan menelusuri semua elemen-elemen array dari awal sampai akhir. Dimana data yang tersimpan tidak perlu diurutkan terlebih dahulu

Teknik ini memiliki kelebihan dalam pengimplementasiannya dalam code program dan kemungkinan yang terbaik jika data yang dicari terdapat di indeks-indeks awal maka data tersebut tidak terlalu lama dicari. Kekurangannya adalah jika data yang dicari terletak dibagian indeks yang akhir maka akan memakan waktu pencarian yang semakin lama jika dibandingkan dengan yang berada di indeks awal.

Contoh :
Misal terdapat array dan berisi data sebagai berikut :
int nilai[7]={2,3,6,10,1,5,43,44}; (Ingat indeks array dalam bahasa C dimulai dengan indeks ke 0)
Jika kita ingin mencari nilai 6 dalam array tersebut, maka priosesnya adalah seperti berikut : dengan menggunakan looping
  • Dimulai dari indeks ke 0, yaitu nilai 2 kemudian dicocokkan dengan nilai yang dicari, jika tidak sama maka akan mencari ke indeks selanjutnya
  • Pada indeks ke 1, juga dibandingkan dengan data yang dicari, namun pada indeks ke 1 juga tidak cocok maka akan dilanjutkan ke indeks selanjutnya
  • Pada indeks ke 2, ternyata data yang tersimpan ketika dicocokkan sama dengan nilai yang kita cari maka data tersebut di tampilkan dan keluar dari looping

Untuk lebih jelasnya kita implementasikan dalam program codingnya seperti berikut :

  1. #include <stdio.h>
  2. #include <conio.h>
  3. main(){
  4. int nilai[7]={2,3,6,10,1,5,43,44};
  5. int find,i,flag=0;
  6. printf("Nilai yang tersimpan adalah : \n");
  7. for (i=0;i<8;i++){
  8. printf("Data ke %d indeks ke %d adalah %d\n",i+1,i,nilai[i]);
  9. }
  10. printf("Masukkan nilai yang anda cari : ");scanf("%d",&find);
  11. for (i=0;i<8;i++){
  12. if (nilai[i]==cari){
  13. printf("Ketemu\n");
  14. printf("Data ke %d indeks ke %d adalah %d",i+1,i,nilai[i]);
  15. flag=1;break;
  16. }}
  17. if (flag==0)printf("Data tidak ada");
  18. }

Untuk download materinya silahkan klik di sini
Password : ptik2012
Download contoh program .rar di sini
Password MF dan .rar : imhere

Lanjut baca - Searching Array : Job Sheet 2

Kamis, 26 Juli 2012

Array of struct : Jobsheet 1

Kajian Sebelumnya
Lanjutan dari postingan sebelumnya tentang array, di sini kita akan membicarakan tentang modifikasi dari struktur data yaitu tentang struct dan kombinasinya dengan array. Jadi singkatnya kita disini akan belajar membuat sebuah kumpulan data (struct). 

Struct dapat menyimpan beberapa tipe data yang berbeda. array hanya dapat menyimpan data dengan bertipe data sama. Jika kita kombinasikan maka akan menghasilkan sebuah struktur data yang memiliki field data yang berbeda yang terkumpul dalam satu struct yang sama, dalam artian memiliki field yang sama dengan struct yang lain dan dapat di isi data yang berbeda. dan field-field tersebut memiliki kaitan satu sama yang lain.

bentuk umum dari struct :
typedef struct nama_struct{
tipe_data nama_variabel;
tipe_data nama_variabel;
....
};

Untuk mendeklarasikan sebuah struct ada beberapa cara yang sering saya gunakan adalah sebagai berikut, contoh:

  1. typedef struct siswa{
  2. int no_induk;
  3. char nama[30];
  4. }siswa;
atau dapat juga seperti di bawah ini :
  1. struct{
  2. int no_induk;
  3. char nama[30];
  4. }siswa;
PENGAKSESAN

Untuk mengakses data yang telah tersimpan dalam struct kita secara umum dapat ditulis

nama_struct.nama_field;
Contoh program struct yang memiliki field nama dan umur:
  1. #include <stdio.h>
  2. #include <conio.h>
  3. typedef struct orang{
  4. int umur;
  5. char nama[30];
  6. }orang;
  7. main(){
  8. printf("Masukkan nama orang : ");fflush(stdin);
  9. gets(orang.nama);
  10. printf("Berapa umurnya : ");scanf("%d",&orang.umur);
  11. getch();system("cls");
  12. printf("Nama\t: %s",orang.nama);
  13. printf("Umur\t: %d",orang.umur);
  14. return 0;
  15. }

Contoh program di atas merupakan program yang menggunakan sebuah struct yang memiliki field "nama" dan "umur" dan struct tersebut bernama "orang". karena hanya satu struct maka struct tersebut hanya dapat menyiman satu paket data, dimana paket data tersebut menyimpan data nama dan umur.

Setelah kita faham tentang struct kita lanjut ke modifikasi dengan array, yang kita namakan array of struct. Sehingga kita tidak hanya menyimpan satu paket data saja namun kita dapat menyimpan beberapa paket data pada struct orang lebih dari satu. karena dengan array maka data tersimpan dengan ditandai pada indeks seperti pada pembahasan array sebelumnya.

Ada beberapa cara untuk mendeklarasikan array of struct yang sering saya gunakan adalah syntaxnya seperti berikut :

  1. typedef struct nama_struct{
  2. tipe_data nama_field;
  3. tipe_data nama_field;
  4. tipe_data nama_field;
  5. . . .
  6. }nama_struct[indeks];

oke langsung saja kita keimplementasi pada programnya. Pada intinya array of struct ini sama dengan array seperti biasanya. Struct dianalogikan dengan sebuah tipe data dan diberi indeks.

Namun struktur data tipe ini memiliki kelemahan pada alokasi memori dan penghapusan data. Pengalokasian memori hanya terbatas pada banyaknya indeks yang kita definisikan pada saat pembentukan array-nya. Sedangkan untuk penghapusan tidak dapat dilakukan secara real karena masih ada alokasi memori yang sudah kita alokasikan pada saat pendeklarasian. Sehingga alokasi memori untuk array dapat dikatakan tidak dinamis. Misalnya kita mengalokasikan indeks dengan nilai 10 dan kita hanya menggunakan 5 alokasi memori, maka untuk sisanya akan mubazdir. Begitu pula pada saat kita membutuhkan lebih dari 10 alokasi memori maka alokasi memori kita kurang karena sejak awal pendeklarasian kita hanya mengalokasikan 10 tempat.

Berikut adalah contoh program sederhana untuk Array of struct :
  1. #include <stdio.h>
  2. #include <conio.h>
  3. typedef struct orang{
  4. int umur;
  5. char nama[30];
  6. }orang[1000];
  7. main(){
  8. int i,awal;
  9. printf("Berapa data yang akan anda masukkan?");
  10. scanf("%d",&awal);
  11. for (i=0;i<awal;i++){
  12. system("cls");
  13. printf("\n\t\tData ke %d",i+1);
  14. printf("Masukkan nama orang : ");fflush(stdin);
  15. gets(orang[i].nama);
  16. printf("Berapa umurnya : ");scanf("%d",&orang[i].umur);
  17. }
  18. printf("\n\nTekan sembarang tombol Untuk Melihat Data anda");
  19. getch();system("cls");
  20. for (i=0;i<awal;i++){
  21. printf("\n\t\tData Ke %d",i+1);
  22. printf("Nama\t: %s",orang[i].nama);
  23. printf("Umur\t: %d",orang[i].umur);
  24. }
  25. return 0;
  26. }
  1. Download materi Jobsheet 1 Free
  2. Download latihan 1 Jobsheet 1 Free
  3. Download latihan 2 Jobsheet 1 Free
  4. Password MF : imhere | Password .rar : imhere
  5. Download Tugas Jobsheet 1
  6. Password MF : imhere | Password .rar :Baca dulu
Kajian Sebelumnya
Lanjut baca - Array of struct : Jobsheet 1

Senin, 23 Juli 2012

Array : Jobsheet 1

ARRAY

Wah sudah lama gak ngisi blog karena sibuk ngurusi tugas2 kuliah, oke sekarang kita akan belajar struktur data. materi pertama adalah tentang alokasi memori menggunakan array dalam Bahasa C. selain alokasi memori dengan menggunakan array kita nanti akan belajar juga mengenai linked list dan lain lain oke cek it out. . . !!

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.
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 :
  1. int nilai [10];

INISIALISASI ARRAY

Menginisialisasi Array adalah memberi nilai awal pada saat di definisikan. Kita juga dapat memberi nilai secara dinamis pada saat program berjalan, namun yang menjadi kekurangan dari array adalah dia memiliki alokasi memori yang statis, jadi alokasi memorinya hanya sebesar yang kita berikan pada saat deklarasi di atas.

Pada contoh di atas kita dapat melihat bahwa besar indeks yang kita berikan adalah 10 dan bertipe integer. Ini artinya data yang dapat tersimpan dalam variabel tersebut adalah bertipe integer dan sebanya 10 data.

contoh :
  1. int nilai [10] = { 1,3,6,8,5,4,12,10,9,11 };

Contoh di atas adalah berarti kita memberikan tempat sebanya 10 tempat dalam memory komputer. array tersebut memiliki indeks 0-9. dimana indeks 0 berisi data 1, indeks ke 1 berisi data 3, indeks ke 2 berisi data 6 dan seterusnya, serta karena kita mendeklarasikan dengan "int" maka array tersebut bertipe integer

PENGAKSESAN NILAI DALAM ARRAY

Pengaksesan nilai yang tersimpan dalam array adalah sama dengan pada proses pengisian, yang membedakan adalah kita menampilkan isi dari indeks array tertentu.

Caranya adalah sebagai berikut :
  1. nama_var_array [indeks];

pengaksesan nilai yang tersimpan dalam indeks dapat dilakukan dengan cara berurutan atau random tergantung yang diinginkan.

Contoh pengisian dan pengaksesan array secara dinamis ditunjukkan pada source code berikut :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(){
  4. int awal,i;
  5. int nilai[1000];
  6. printf("Berapa data yang akan anda masukkan : ");
  7. scanf("%d",&awal);
  8. for(i=0;i<awal;i++){
  9. system("cls");
  10. printf("Masukkan data ke %d: ",i+1);
  11. scanf("%d",&nilai[i]);
  12. }
  13. system("cls");
  14. for(i=0;i<awal;i++){
  15. printf("Data indeks ke %d adalah %d \n",i,nilai[i]);
  16. }
  17. return 0
  18. }


Password : ptik2012 
Lanjut baca - Array : Jobsheet 1

Senin, 05 Maret 2012

Pengertian Struktur Data

Untuk materi struktur data pada kuliah perdanan ini hanya menjelaskan kalo struktur data itu mempelajari pengorganisasian file(berkas) maupun memori pada komputer pada suatu media penyimpanan dengan menggunakan struktur data Array, Struct, tree dan linked list serta hashing.

matakuliah ini juga mengajarkan teknik-teknik manipulasi data seperti tambah, hapus, edit, searching dan sorting yang di lakukan dengan menggunakan bahasa pemrograman yakni C/C++.

dan tadi tuh cuma refresh-refresh aja tentang bahasa C yang point dan bakal kita gunain untuk materi struktur data ini , seperti pendeklarasian variabel,  increament decrement, casting, kondisi pemilihan(if../if.. else,switch case), teknik looping serta funtion.

untuk pendeklarasian variabel sodara sodara kan sudah faham jadi gak usah di ulang tapi bagi yang belum tahu caranya "tipe data+namavariabel;". nah untuk increament dan decrement ni ada yang baru...
misalnya aku punya variabel i, dan incrementnya adalah ada dua macam yaitu ++i dan i++ nah ternyata  antara dua tersebut berbeda. misalnya kita buat program yang menampilkan nilai variabel source codenya seperti ini

main()
{
    int a,b,c;
    a=5;
    b=a++;
    c=++a;
    printf("b=%d, c=%d", b,c);
}

nah setelah di run programnya nilainya akan berbeda yang b = 5 dan yang c =7 aneh kan , gag aneh memang seperti itu.

kemudian untuk switch juga ada yang baru
misal programnya seperti ini

int h;
switch(h)
{
case 1:
case 2:
case 3: printf("*");break;
case 4 : printf("a"); break;
default : printf("masukan anda salah"); break;
}

nah setelah programnya di compile dan di run maka kalo kita memasukkan angka 1/2/3 maka tanda bintang akan ditampilkan, kenapa demikian karena kita tidak memberi fungsi break.

sekian untuk kali ini itu adalah sebuah pengantar dari mata kuliah structur data, semoga tulisan ini jadi bermanfaat untuk saya . aminn. . .
Lanjut baca - Pengertian Struktur Data