Pengikut

Minggu, 09 Desember 2012

Menghitung Matrik dengan C++

1. Perkalian Matrik

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>

int A[1000][1000],B[1000][1000],C[1000][1000],i,j,k, barisa, koloma, barisb, kolomb, barisc, kolomc, loop;
void hitung();
void matrika();
void matrikb();
void cek();
void ulang();

void main()
{
do
{
matrika();
matrikb();
cek();
ulang();
}while (loop!=0);
}

void matrika()
{
cout<<"masukkan ordo matriks A :"<<endl;
cout<<"jumlah baris : ";
cin>>barisa;
cout<<"jumlah kolom : ";
cin>>koloma;

//masukkan matrix A
cout<<"Silahkan input matrik A : \n";
for(i=0;i<barisa;i++)
{
for(j=0;j<koloma;j++)
{
cout<<"Elemen ke "<<(i+1)<<","<<(j+1)<<" : ";
cin>>A[i][j];
}
}

//cetak matrix A
cout<<"\nMatrik A : \n";;
for(i=0;i<barisa;i++)
{
for(j=0;j<koloma;j++)
{
cout<<setw(4)<<A[i][j];
}
cout<<endl;
}
cout<<endl;
}

void matrikb()
{
//masukkan matriks B
cout<<"masukkan ordo matriks B :"<<endl;
cout<<"jumlah baris : ";
cin>>barisb;
cout<<"jumlah kolom : ";
cin>>kolomb;

cout<<"Silahkan input matrik B : \n";
for(i=0;i<barisb;i++)
{
for(j=0;j<kolomb;j++)
{
cout<<"Elemen ke "<<(i+1)<<","<<(j+1)<<" : ";
cin>>B[i][j];
}
}

//cetak matrix B
cout<<"\nMatrik B : \n";
for(i=0;i<barisb;i++)
{
for(j=0;j<kolomb;j++)
{
cout<<setw(4)<<B[i][j];
}
cout<<endl;
}
}

void hitung()
{
//Operasi Perkalian
for (i=0;i<barisa;i++)
{
for (j=0;j<kolomb;j++)
{
C[i][j]=0;
for (k=0;k< barisb;k++)
{
C[i][j]+= A[i][k]*B[k][j];
}
}
}

//Menampilkan hasil

cout<<"\nMatrik C, Hasil : \n";
for(i=0;i<barisa;i++)
{
for(j=0;j<kolomb;j++)
{
cout<<setw(4)<<C[i][j];
}
cout<<endl;
}
cout<<endl;
getche();
}
void ulang()
{
int status, l;
char pilih;
do
{
cout<<"anda ingin memakai program ini lagi (y/n)?";
cin>>pilih;
switch (pilih)
{
case 'Y' : status=1; loop=1; l=0;  break;
case 'y' : status=1; loop=1; l=0;  break;

default : cout<<"ketik y untuk ulangi program, n untuk tutup program (tidak case sensitif)"<<endl;
}
}while(l!=0);
}

void cek()
{
if (koloma==barisb)
{
hitung();
}
if (koloma!=barisb)
{
cout<<"operasi perkalian tidak bisa dilakukan. Anda salah memasukkan ordo matrik."<<endl;
getche();
}

}















2. Penjumlahan.

#include <stdio.h>
#include <conio.h>
void main()
{ int A[3][3], B[3][3], X[3][3], i, j;
clrscr();
/******* Masukkan matriks A *******/
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
{  printf("input data matrik A[%i][%i] : ",i+1,j+1);
scanf("%i",&A[i][j]);
}
}
/******** Masukkan matriks B ********/
for(i=0;i<3;i++)
{  for(j=0;j<3;j++)
{  printf("input data matrik B[%i][%i] : ",i+1,j+1);
scanf("%i",&B[i][j]);
}
}
/******** Proses pertambahan matriks A dan B ********/
for(i=0;i<3;i++)
{  for(j=0;j<3;j++)
{  X[i][j]=A[i][j]+B[i][j];
}
}
/******** Cetak isi matriks A ********/
printf("\n matrik A\n");
for(i=0;i<3;i++)
{  for(j=0;j<3;j++)
printf("%6i",A[i][j]);
printf("\n");
}
printf("\n");
/******** Cetak isi matriks B *******/
printf("\n matrik B\n");
for(i=0;i<3;i++)
{  for(j=0;j<3;j++)
printf("%6i",B[i][j]);
printf("\n");
}
printf("\n");
/******** Cetak hasil pertambahan matriks A dan B *******/
printf("\n matrik Perkalian AxB\n");
for(i=0;i<3;i++)
{  for(j=0;j<3;j++)
printf("%6i",X[i][j]);
printf("\n");
}
printf("\n\n");
getch();
}

C++ Metode Eliminasi Gauss & Gauss Jordan

Soal       



















Jawaban Menggunakan C++

Metode Gauss














Syntak :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
float a[6][6]={{4,3,5,-6,8,-2},{-9,-2,-3,10,4,-3},{2,4,6,-3,-2,2},{5,-7,8,3,9,3},{0,5,-2,10,6,-7},{-10,2,8,5,9,2}};
float k[6][6];
float b[6]={30,50,-32,-24,28,60};
float l[6];
float temp,x[6];
int n,i,j;
void TampilPersamaanK(int i);
void TampilPersamaanA(int i);
void main(){
cout<<"==================================================================\n";
cout<<"             PENYELESAIAN SISTEM PERSAMAAN LINIER\n";
cout<<"                        METODE GAUSS\n";
cout<<"==================================================================\n";
cout<<endl;

cout<<"Dik. persamaan Liniernya sebagai berikut : \n";
cout<<"==================================================================\n";
for (i=0;i<6;i++){
cout<<(i+1)<<".) ";
TampilPersamaanA(i);
}
for (n=0;n<(6-1);n++){
temp = a[n][n];
//penormalan
for (j=0;j<6;j++){
k[n][j]=a[n][j];
a[n][j]=a[n][j]/temp;
}
l[n]=b[n];
b[n]=b[n]/temp;
//proses penghilangan variabel
for (i=(n+1);i<6;i++){
temp = a[i][n];
for (j=n;j<6;j++){
a[i][j]=a[i][j]-(a[n][j]*temp);
}
b[i]=b[i]-(b[n]*temp);
}
}
cout<<"==================================================================\n";
cout<<"\nSetelah dilakukan penormalan dan penghilangan variabel,\n";
cout<<"maka didapat persamaan baru yaitu \n";
for (i=0;i<6;i++){
cout<<(i+1)<<".) ";
if (i<(6-1))
TampilPersamaanK(i);
else
TampilPersamaanA(i);
}
//penghitungan x
temp=a[5][5];
x[5]=b[5]/temp;
for (i=(6-2);i>=0;i--){
temp=k[i][i];
for (j=i+1;j<6;j++){
l[i]=l[i]-(k[i][j]*x[j]);
}
x[i]=l[i]/temp;
}
cout<<"\nSetelah dilakukan eliminasi dan substitusi pada persamaan diatas,\n";
cout<<"maka didapat nilai masing-masing x yaitu \n";
cout<<"*********************************\n";
for (i=0;i<6;i++){
printf("X%d = %3.4f \n",(i+1),x[i]);
cout<<"=================================\n";
}
getch();
}
void TampilPersamaanA(int i){
for (j=0;j<6;j++){
if (j==0){
cout<<(a[i][j])<<"x"<<(j+1)<<" ";
}else{
if (a[i][j]<0){
cout<<"- "<<(a[i][j]*-1)<<"x"<<(j+1)<<" ";
}else if (a[i][j]>=0){
cout<<"+ "<<(a[i][j])<<"x"<<(j+1)<<" ";
}
}
}
cout<<"\t = "<<b[i];
cout<<endl;
}
void TampilPersamaanK(int i){
for (j=0;j<6;j++){
if (j==0){
cout<<(k[i][j])<<"x"<<(j+1)<<" ";
}else{
if (k[i][j]<0){
cout<<"- "<<(k[i][j]*-1)<<"x"<<(j+1)<<" ";
}else if (k[i][j]>=0){
cout<<"+ "<<(k[i][j])<<"x"<<(j+1)<<" ";
}
}
}
cout<<"\t = "<<l[i];
cout<<endl;
}








Metode Gauss-Jordan












 














Syntak :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
float a[6][6]={{4,3,5,-6,8,-2},{-9,-2,-3,10,4,-3},{2,4,6,-3,-2,2},{5,-7,8,3,9,3},{0,5,-2,10,6,-7},{-10,2,8,5,9,2}};
float b[6]={30,50,-32,-24,28,60};
float temp;
int n,i,j;
void TampilMatriks();
void main(){
cout<<"==================================================================\n";
cout<<"             PENYELESAIAN SISTEM PERSAMAAN LINIER\n";
cout<<"                    METODE GAUSS-JORDAN\n";
cout<<"==================================================================\n";
cout<<endl;
cout<<"Dik. Persamaan Liniernya   : \n";
cout<<"==================================================================\n";
for (i=0;i<6;i++){
cout<<(i+1)<<".) ";
for (j=0;j<6;j++){
if (j==0){
cout<<(a[i][j])<<"x"<<(j+1)<<" ";
}else{
if (a[i][j]<0){
cout<<"- "<<(a[i][j]*-1)<<"x"<<(j+1)<<" ";
}else if (a[i][j]>=0){
cout<<"+ "<<(a[i][j])<<"x"<<(j+1)<<" ";
}
}
}
cout<<"\t = "<<b[i];
cout<<endl;
}
cout<<"==================================================================\n";
cout<<"\nMaka Bentuk Matriksnya : \n";
TampilMatriks();
//tahap2 penyelesaian menggunakan metode Gauss-Jordan
cout<<"\nPENYELESAIAN : \n";
cout<<"--------------------------------------------------------\n";
for (n=0;n<6;n++) {
cout<<"\nTahap "<<(n+1)<<endl;
temp=a[n][n];
for (j=0;j<6;j++){
a[n][j]=a[n][j]/temp;
}
b[n]=b[n]/temp;
for (i=0;i<6;i++){
if (i!=n){
temp=a[i][n];
for (j=n;j<6;j++){
a[i][j]=a[i][j]-(temp*a[n][j]);
}
b[i]=b[i]-(temp*b[n]);
}
}
//menampilkan matriks
TampilMatriks();
}
//tahap pembuktian
cout<<"\nDari penyelesaian diatas diperoleh nilai x1 sampai x6 yaitu : \n";
for (i=0;i<6;i++){
printf("X%d = %3.4f \n",(i+1),b[i]);
}
getch();
}
void TampilMatriks(){
for (i=0;i<6;i++){
cout<<" |  ";
for (j=0;j<6;j++){
if (a[i][j]>=0)
printf(" %3.4f ",a[i][j]);
else
printf("%3.4f ",a[i][j]);
}
cout<<"|  |x"<<(i+1)<<"|";
if (i==3)
cout<<" = ";
else
cout<<"   ";
printf("| %3.4f |",b[i]);
cout<<endl;
}
}

Jumat, 04 Mei 2012

Pengertian MP3,JPEG,PAL,dll


Pengertian PAL
PAL adalah sebuah enconding berwarna yang digunakan dalam televisi broadcast. PAL adalah singkatan dari “Phose Alternating Line” digunakan untuk garis alternasi fase.
PAL terdiri dari 625 baris dan ditayangkan sebanyak 25 frame dalam setiap satu detik (fps). System ini digunakan di seluruh dunia kecuali di kebanyakan dunia Amerika, karena di Amerika menggunakan system NTSC.
Sistem Broadcast PAL dikembangkan di Jerman oleh Walter Bruch, pada tahun 1967. PAL termasuk standar kedua dalam system televisi broadcast.
Pengertian NTSC
NTSC adalah system elevise analog yang digunakan di Amerika Serikat dan banyak televisi lainnya. Berbeda halnya dengan PAL , NTSC membagi 25 baris per frame dan sebanyak 30 frame dalam satu detiknya atau 29,97 frame perdetik (fps).
Pengertian SECAM
SECAM singkatan dari Systeme Electronique pour Couleur Avec Memoire adalah standar pemancar televisi analog yang digunakan di Perancis, Rusia dan daerah-daerah Afrika. SECAM berbeda dengan PAL, tapi jumlah baris data yang dikirimnya sama.

Audio
MP3 adalah salah satu format berkas pengodean suara yang memiliki kompresi yang baik (meskipun bersifat lossy) sehingga ukuran berkas bisa memungkinkan menjadi lebih kecil.
AMR adalah format file audio untuk menyimpan hasil rekaman suara. Mobile device yang memiliki fasilitas recording akan menyimpan file rekaman ke dalam format AMR.
WAV adalah file audio yang tidak terkompres sehingga seluruh sampel audio disimpan semuanya di media penyimpanan dalam bentuk digital.
CDA merupakan representasi dari track CD-audio. File dengan format .cda dapat langsung dijalankan melalui CD-ROM, sementara filenya sendiri tidak mempunyai informasi kode modulasi apapun sehingga jika dikopi ke dalam harddisk, file tersebut menjadi tidak dapat di-play.
AAC merupakan format audio menggunakan lossy compression (data hasil kompresi tidak bisa dikembalikan lagi ke data sebelum dikompres secara sempurna, karena ada data yang hilang).
Kesimpulan, format Audio MP3 Merupakan Format file dengan kompresi lossy atau bersifat baik, sedangkan AMR merupakan Format file yang biasanya digunakan dalam proses recording dalam mobile, dan Format WAV merupakan format Audio yang tanpa kompresi dan berbentuk digital, Format Audio CDA merupakan Format Audion yang biasanya di gunakan dalam bentuk CD-Audio , sedangkan AAC merupakan format audio yang lossy compression (data hasil kompresi tidak bisa dikembalikan lagi ke data sebelum dikompres secara sempurna, karena ada data yang hilang).
Audio + Video
MP4 merupakan file video hasil rendering dari kompilasi file terkompresi MP3 dan File Video dengan standard resolusi PAL dan NTSC Video dalam ukuran yang lebih kecil dari file berbasis MPEG.
MPEG merupakan salah satu dari format standar MPEG yang digunakan dalam pengompresan suara dan gambar dalam video CD. MPEG-1 juga mendukung format audio yang biasa kita ketahui dengan ekstensi mp1, mp2 dan mp3.
Flash Video (FLV)merupakan format file yang digunakan untuk menyimpan video dari Internet yang menggunakan program Adobe Flash Player atau yang diproduksi oleh Macromedia versi 6 hingga 10. Content Flash Video biasa juga masuk ke dalam file SWF. Terdapat dua format file video yang berbeda yang didefinisikan oleh Adobe System dan support Adobe Flash Player.
AVI (Audio Video Interleave) adalah file yang dibentuk oleh Microsoft yang berisikan data Video yang bisa di kodekan dalam berbagai macam codec, sehingga bisa menampilkan sebuah video lengkap dengan audio dengan kualitas gambar yg bagus. File AVI PAL dengan dimensi 720 x 576 pixel (25 fps) biasanya berukuran besar dan menghabiskan ruang harddisk yang ada.
3GP merupakan file video standard yang digunakan dalam perangkat mobile, secara garis besar file ini adalah file hasil dari kompilasi file kompressi Audio dan video dalam resolusi yang compatible untuk perangkat mobile/ponsel dengan ukuran yang portable dan beragam.
Kesimpulan audio dan video
Format File MP4 Merupakan file video hasil rendering dari kompilasi file terkompresi MP3, dan MPEG Merupakan format standar yang digunakan dalam pengompresan suara dan gambar dalam video CD, dan FLV merupakan format file yang digunakan untuk menyimpan video dari Internet, sedangkan AVI Merupakan format file yang bisa menampilkan sebuah video lengkap dengan audio dengan kualitas gambar yg bagus dengan dimensi 720 x 576 pixel (25 fps) dan yang terakhir 3GP merupakan file video standard yang digunakan dalam perangkat mobile.
Gambar
JPG/JPEG (Joint Photographic Expert Group)
Format file ini mampu mengkompres objek dengan tingkat kualitas sesuai dengan pilihan yangdisediakan. Format file sering dimanfaatkan untuk menyimpan gambar yang akan digunakanuntuk keperluan halaman web, multimedia, dan publikasi elektronik lainnya.
GIF (Graphic Interchange Format)
Format file ini hanya mampu menyimpan dalam 8 bit (hanya mendukung mode warna Grayscale, Bitmap dan Indexed Color). Format file ini merupakan format standar untuk publikasi elektronik dan internet. Format file mampu menyimpan animasi dua dimensi yang akan dipublikasikan pada internet, desain halaman web dan publikasi elektronik.
TIF (Tagged Image Format File)
Format file ini mampu menyimpan gambar dengan kualitas hingga 32 bit. Format file ini juga dapat digunakan untuk keperluan pertukaran antar platform (PC, Machintosh, dan SiliconGraphic).
PNG (Portable Network Graphic)
Format file ini berfungsi sebagai alternatif lain dari format file GIF. Format file ini digunakan untuk menampilkan objek dalam halaman web. Kelebihan dari format file ini dibandingkan dengan GIF adalah kemampuannya menyimpan file dalam bit depth hingga 24 bit serta mampu menghasilkan latar belakang (background) yang transparan dengan pinggiran yang halus.
RAW
Format file ini merupakan format file yang fleksibel untuk pertukaran dokumen antar aplikasian platform. Format file ini mampu menyimpan mode warna RGB, CMYK, dan Grayscale

Kesimpulan Gambar
Format File RAW Merupakan format file yang fleksibel untuk pertukaran dokumen antar aplikasian platform, Sedangkan JPEG Merupakan Format file ini mampu mengkompres objek dengan tingkat kualitas sesuai dengan pilihan yangdisediakan, dan TIF merupakan Format file ini mampu menyimpan gambar dengan kualitas hingga 32 bit. Dan GIF merupakan Format file ini hanya mampu menyimpan dalam 8 bit (hanya mendukung mode warna Grayscale, Bitmap dan Indexed Color). dan PNG Merupakan Format file ini digunakan untuk menampilkan objek dalam halaman web.
Lain-Lain
VCF merupakan file yang dapat dibuat dengan aplikasi yang bernama smartvcard. Aplikasi smartvcard mengubah nomor kontak yang ada di handphone menjadi file vcf yang dibaca sebagai bussines card.