Sabtu, 16 April 2016

Rencana Kuliah Latihan 3

#include <iostream>
#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class huruf{
friend istream& operator>>(istream&, huruf&);
friend ostream& operator<<(ostream&, huruf&);
public:
void ubah();
private:
char karakter[100000];
};

void huruf::ubah(){
cout<<strlen(karakter);
};

istream& operator>>(istream& in, huruf& input){
cout<<"Masukkan kalimat : ";
in.getline(input.karakter, sizeof(input.karakter));
};

ostream& operator<<(ostream& out, huruf& output){
cout<<"\n\nJumlah karakter = ";
output.ubah();
};
int main(int argc, char** argv) {
    huruf jalankan;
cin>>jalankan;
cout<<jalankan;
    return 0;
}

kasus 6.3

#include<iostream>
#include<conio.h>
using namespace std;

void nila_maks(int n){
    int x[100],max;
for(int i=1;i<=n;i++){
cout<<"masukan nilai= "; cin>>x[i];  
}  
for(int i=1;i<=n;i++){
if(x[i]>max){
max=x[i];  
}
}
cout<<"nilai maks= "<<max;      
}


main(){
    int bts;
cout<<"masukan jumlah= "; cin>>bts;
nila_maks(bts);

  
  

Rencana Kuliah Latihan 4

#include <iostream>
#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
 class balik{
friend ostream& operator<<(ostream&, balik&);
friend istream& operator>>(istream&, balik&);
public:
void balik_kata();

private:
char kata[50];
int panjangkata;
};
istream& operator>>(istream& in, balik& masuk){
cout<<"masukkan kata : ";
in>>masuk.kata;
masuk.panjangkata=strlen(masuk.kata);
return in;
}
ostream& operator<<(ostream& out, balik& keluar){
cout<<endl<<"setelah dibalik : ";
keluar.balik_kata();
cout<<endl;
return out;
}
void balik::balik_kata(){

for(int i= panjangkata-1; i>=0; i--) {
cout<<kata[i];
}
}
int main(int argc, char** argv) {
    cout<<"\t\tProgram membalikan kata"<<endl<<endl;
     balik kata;
cin>>kata;
cout<<kata;
    return 0;
}

WORKSHOP 3

         WORKSHOP DIKTAT BAB 7 NO 3

Buatlah algoritma dan function untuk mengubah huruf besar menjadi huruf kecil, kemudian buatlah function untuk mengubah string menjadi string yang hurufnya huruf besar semua.


Gambar program nya:
Gambar output nya:

workshop 4


WORKSHOP DIKTAT BAB 7 NO 4
 
Diberikan class Vektor berikut ini


Sebuah vektor yang disimpan menggunakan array, dapat dipandang sebagai vektor baris
maupun vektor kolom. Method penjumlahan_vektor didefinisikan sebagai penjumlahan elemenelemen Vektor A dan Vektor B pada indeks yang sama. Method perkalian_vektor didefinisikan
sebagai perkalian Vektor A dengan skalar k. Sementara method beri_nilaiBanyak menunjukkan
berapa banyak elemen dari suatu vektor. Lengkapi isi method di atas sehngga sesuai dengan
definisi yang diberikan
Gambar program nya:

Latihan 1 Bab 6 diktat Alpro

Buatlah algoritma dan subprogram yang cara kerjanya seperti function.

void Vektor::beri_nilaiBanyak(int i) {
}
void Vektor::pembagian_vektor(const Vektor& X, const Vektor& Y) {
}
void Vektor::pengurangan_vektor(float k, const Vektor& X) {
}

class Vektor {
friend ostream& operator<<(ostream&, Vektor&);
friend istream& operator>>(istream&, Vektor&);
friend class SPL;
public:
Vektor();
void penjumlahan_vektor(const Vektor& X, const Vektor& Y);
void perkalian_vektor(float k, const Vektor& X);
void beri_nilaiBanyak(int);
private:
int elemen[90];
int banyak; };

rencana kuliah (latihan 2)

#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdio.h>

using namespace std;
int main()
{
    char Kata[50];
    char Kar;
    int JumKar = 0;

    cout<<"Masukkan kalimat : ";
    gets(Kata);
    cout<<endl;

    cout<<"Masukkan satu karakter yang akan dihitung : ";
    cin>>Kar;
    cout<<endl;

    for (int i = 0; i <= strlen(Kata); i++)
    {
        if (Kata[i] == Kar)
        {
            JumKar++;
        }
    }

    cout<<"Jumlah karakater \""<<Kar<<"\" ada ("<<JumKar<<") buah";

    return 0;
}

kasus 6.7

#include <iostream.h>
#include <string.h>
main() {
char *kata = "Algoritma";
int p;

p = strlen(kata);
cout << "Panjang kata : " << kata << " = " << p;
return 0;
}

6.6

#include <iostream>
#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
        char kalimat[30]; 
    int belakang; 
    bool palindrome = true; 
 
    cout <<"Masukkan kata : "; 
    cin.getline(kalimat, sizeof(kalimat)); 
 
    int p = strlen(kalimat); 
    belakang = p-1; 
 
    for(int a=0; a<p; a++) 
    { 
         
        if((char)tolower(kalimat[a])!=(char)tolower(kalimat[belakang])) 
        { 
            palindrome = false; 
            break; 
        } 
        belakang--; 
    } 
 
    if(palindrome) 
    cout<<"Palindrom"<<endl; 
    else 
    cout<<"Bukan Palindrom"<<endl;
    return 0;
}

kasus 6.5

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int x;
void modus(float bil[], int n, float mod[])
{
int total[100];
int k=1;
x=0;
//untuk mengurutkan secara ascending
for(int c=0;c<n;c++)
{
for(int i=(n-1);i>=0;i--)
{
if(bil[i]<bil[i-1])
{
int temp;
temp=bil[i];
bil[i]=bil[i-1];
bil[i-1]=temp;
}
}
}
//menghitung berapa kali muncul tiap angka
for(int c=0;c<n;c++)
{
total[c]=0;
for(int i=0;i<n;i++)
{
if(bil[c]==bil[i])
{
total[c]++;
}
}
}
//menentukan nilai yang paling sering muncul
for(int c=0;c<n;c++)
{
if(total[c]>k)
{
k=total[c];
}
}
//jika modus lebih dari satu
for(int c=0;c<n;c++)
{
if(x==0)
mod[x]=0;
else
mod[x]=mod[x-1];
if(total[c]==k)
{
if(bil[c]!=mod[x])
{
mod[x]=bil[c];
x++;
}
}
}
//Jika Semua angka muncul sama banyak
int z=0;
for(int c=0;c<n;c++)
{
if(total[c]==k)
{
z++;
}
}
if(z==n)
{
x=0;
}
}
int main(int argc, char** argv) {
   
    int z;
float bil[100];
float mod[100];
cout<<"\t\tProgram mencari modus dari banyak data N"<<endl<<endl;
cout<<"masukkan Banyak N : ";cin>>z;cout<<endl;
for(int c=0;c<z;c++)
{
cout<<"Nilai Ke- "<<(c+1)<<" : ";cin>>bil[c];
}
cout<<endl;
modus(bil,z,mod);
if (x==0)
cout<<"Tidak Ada Modus!"<<endl;
else
{
cout<<"Modus : ";
for(int c=0;c<x;c++)
{
cout<<mod[c]<<" ";
}
}
    return 0;
}

workshop 2

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
    string x,y;
    int a;
    cout<<"masukan kalimat pertama : "<<endl;
    getline(cin,x);
    cout<<"masukan kalimat kedua : "<<endl;
    cin>>y;
    cout<<x<<endl;
    cout<<"menyisipkan kata pada karakter ke : ";cin>>a;
    x.insert(a,y+" ");
    cout<<x;
   
    return 0;
}

workshop 01

#include <iostream>
#include<string.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
        int a,jumlah;
    char string[100];
    cout<<"masukan kata yang di inginkan : "<<endl;
    //untuk membaca spasi
    cin.getline (string,100);
    //untuk mengubah huruf awal menjadi huruf kapital
    if((string[0]>='a'&&(string[0]<='z')))
    string[0]=(char)string[0]-32;
    //untuk mengubah huruf setelah huruf awal menjadi huruf keci
    jumlah=1;int b=0;
    for(int i=0;i<(int)strlen(string);i++){
        if(i%2==0)
        if((string[jumlah]>='A')&&(string [jumlah]<='Z'))
        string[jumlah]=(char)string[jumlah]+32;
        jumlah++;}
    //mengubah huruf setelah spasi  menjadi huruf kapital
    for(int i=1;string[i]=!'/0';i++){
        if(string[i]==' ')a++;
        if((i-1-a)%2==0)
        {
       
    }
    if(string[1+1]>='a'&&string[i+1]<='z')
    string[i+1]=(char)(string[i+1]-32);

    }
    cout<<"hasil akhir  :"<<string<<endl;
    return 0;
}

latihan rencana kuliah menhitung banyaknya karakter dalam string

#include <iostream>
#include <iomanip>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
    char kalimat[50];
    cout<<" masukan jumlah karakter : \n";
    cin>>kalimat;
    cout<<"panjang karakter : \n"<<strlen(kalimat)<<"karakter"<<endl;
   
    return 0;
}

latihan diktat 2 program menghitung karakter string

#include <stdio.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
    char a[50];
    int panjang;
    printf("masukan string :");
    gets(a);
    panjang=strlen(a);
    printf("panjang string adalah %d karakter\n",panjang);
   
    return 0;
}

kasus 6.4

#include<iostream>
#include<conio.h>
using namespace std;

void nila_maks(int n){
    int a[100],max;
for(int i=1;i<=n;i++){
cout<<"masukan nilai= "; cin>>a[i];  
}  
for(int i=1;i<=n;i++){
if(a[i]>max){
max=a[i];  
}
}
cout<<"nilai maks= "<<max;  
cout<<endl;  
}

void nilai_min(int n) {
 int min,a[100];
     min=a[0];
   for(int j=0;j<n;j++)
   {
    if(a[j]<min)
      {
       min=a[j];
      }
   }
cout<<"nilai minimum= "<<min;
    }


main(){
    int bts;
cout<<"masukan jumlah= "; cin>>bts;
nila_maks(bts);
nilai_min(bts);
  
  
}

kasus 6.3

#include<iostream>
#include<conio.h>
using namespace std;

void nila_maks(int n){
    int x[100],max;
for(int i=1;i<=n;i++){
cout<<"masukan nilai= "; cin>>x[i];  
}  
for(int i=1;i<=n;i++){
if(x[i]>max){
max=x[i];  
}
}
cout<<"nilai maks= "<<max;      
}


main(){
    int bts;
cout<<"masukan jumlah= "; cin>>bts;
nila_maks(bts);

  
  

Rabu, 13 April 2016

refleksi petemuan ke 6

assalamualaikum wr.wb
Pada refleksi minggu ke empat algroritma dan pemograman :
1. dosen memberikan kuis seperti minggu-minggu sebelumnya
2. dosen memberikan nasihat dan menjelaskan materi minggu ke 6
sekian dari saya dan terimkasih..wassalamualaikum wr.wb

Sabtu, 09 April 2016

bab 10

program 10.1

#include <iostream>
using namespace std;

class Mhs {
public :
int nim;
char nilai;
};

typedef Mhs *Ptrmhs;

int main() {
Ptrmhs P1, P2, P3;
P1 = new Mhs;
P1->nim = 101;
P1->nilai = 'A';
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
P2 = new Mhs;
P2 = P1; /* salin alamatnya */
cout << "P2 : " << P2->nim << " " << P2->nilai << endl;
P2->nim = 102;
P2->nilai = 'B';
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
cout << "P2 : " << P2->nim << " " << P2->nilai << endl;
P3 = new Mhs;
*P3 = *P1; /* salin isinya */
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
cout << "P3 : " << P3->nim << " " << P3->nilai << endl;
P3->nim = 103;
P3->nilai = 'C';
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
cout << "P3 : " << P3->nim << " " << P3->nilai << endl;
}

program 10.2

#include <iostream>
#include <conio.h>
using namespace std;
class Mhs {
public:
void Buat_berikut_list();
char Nama[20];
char Nim[10];
Mhs *berikut;
};

void Mhs::Buat_berikut_list(){
Mhs *Ptr_Kepala = NULL;
Mhs *Ptr_Baru;
char lagi;
do {
Ptr_Baru = new Mhs;
cout << "\nNama Mahasiswa : ";
cin >> Ptr_Baru->Nama;
cout << "Nim Mhs : ";
cin >> Ptr_Baru->Nim;
Ptr_Baru->berikut = Ptr_Kepala;
Ptr_Kepala = Ptr_Baru;
cout << "Tambah (y/t) : ";
} while ((lagi=getch()) !='t');
cout << "\nAnda telah memasukkan data : ";
Mhs *cetak = Ptr_Kepala;
// mencetak isi link list
while (cetak != NULL) {
cout << "\nNama Mahasiswa : " << cetak->Nama;
cout << "\tNim Mhs : " << cetak->Nim;
cetak = cetak->berikut;
}
}
int main() {
Mhs *simpul;
simpul->Buat_berikut_list();
getch();
}

program 10.3

#include <iostream>
#include <conio.h>
using namespace std;

class Mhs {
public:
void Buat_berikut_list();
char Nama[20];
char Nim[10];
int nmid,nak,ntotal;
Mhs *berikut;
};

int ubah(int a){
    if(100>a && a<=80){
        cout<<"A";
    }
    else if(80>a && a<=60){
        cout<<"B";
    }
    else if(60>a && a<=40){
        cout<<"C";
    }
    else if(40>a && a<0){
        cout<<"D";
    }
    else{
        cout<<"E";
    }
}
   

void Mhs::Buat_berikut_list(){
Mhs *Ptr_Kepala = NULL;
Mhs *Ptr_Baru;
char lagi;
do {
    cout<<"---------------------------------\n";
    Ptr_Baru = new Mhs;
    cout<<"Nama Mahasiswa : ";
    cin>>Ptr_Baru->Nama;
    cout<<"Nim Mhs : ";
    cin>>Ptr_Baru->Nim;
    cout<<"Nilai MID :";
    cin>>Ptr_Baru->nmid;
    cout<<"Nilai Akhir :";
    cin>>Ptr_Baru->nak;
    Ptr_Baru->ntotal = (Ptr_Baru->nmid+Ptr_Baru->nak)/2;
    Ptr_Baru->berikut = Ptr_Kepala;
    Ptr_Kepala = Ptr_Baru;
    cout<<"\n---------------------------------\n";
    cout << "Tambah (y/t) : ";
    } while ((lagi=getch()) !='t');

cout<<"\n\n\nAnda telah memasukkan data : \n\n\n";
Mhs *cetak = Ptr_Kepala;
// mencetak isi link list
while (cetak != NULL) {
    cout<<"\nNama Mahasiswa : "<<cetak->Nama;
    cout<<"\ntNim Mhs : "<<cetak->Nim;
    cout<<"\nNilai Mid : "<<cetak->nmid;
    cout<<"\nNilai UAS : "<<cetak->nak;
    cout<<"\nNilai Akhir : "<<cetak->ntotal;
    int b=cetak->ntotal;
    cout<<"\nNilai Huruf : ";ubah(b);
    cout<<"\n---------------------------"<<endl;
cetak = cetak->berikut;
}
}

int main() {
Mhs *simpul;
simpul->Buat_berikut_list();
getch();
}






























































































































bab 9

program 1 menhitung dua nilai matrix

#include <iostream>

using namespace std;

main(){
    int a[2][2];
    int b[2][2];
    int hasil[2][2];
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<"Masukkan nilai matrik 1 ["<<i<<"]["<<j<<"] : "; cin>>a[i][j];
        }
    }
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<"Masukkan nilai matrik 2 ["<<i<<"]["<<j<<"] : "; cin>>b[i][j];
        }
    }
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<a[i][j]<<" ";
        }
        cout<<endl;
    }
   
    cout<<endl<<endl;
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<b[i][j]<<" ";
        }
        cout<<endl;
    }
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            hasil[i][j] = a[i][j] + b[i][j];
        }
    }
   
    cout<<endl<<"Hasil penjumlahan dua matriks diatas adalah : "<<endl;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<hasil[i][j]<<" ";
        }
        cout<<endl;
    }
   
}












program kasus 2

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <stdio.h>

using namespace std;
void baca_matriks (int mat[10][10], int baris, int kolom){
    int i,j;
    for (i=0; i<baris; i++)
        for (j=0; j<kolom; j++){
            cout << "Data [" << i+1 << "," << j+1 << "] : ";
            cin >> mat[i][j];
        }
}

void kali_matriks(const int matriks1[10][10], const int matriks2[10][10],
int baris, int kolom, int barkol, int mat_kali[10][10])
{
    //misal baris 1 = 2 , -->baris
    //misal kolom 2 = 1 , -->kolom
    //misal barkol = 3 
    int i,j,k;
    for (i=0; i<baris; i++)
        for (j=0; j<kolom; j++){
            mat_kali[i][j] = 0;
            for (k=0; k<barkol; k++)
                mat_kali[i][j] = mat_kali[i][j] + matriks1[i][k] * matriks2[k][j];
        }
}

void cetak_matriks (const int A[10][10], int baris, int kolom){
    int i,j;
    for (i=0; i<baris; i++){
        for (j=0; j<kolom; j++)
            cout << A[i][j];
            cout << endl;
    }
}

main(){
    int m, n, p;
    int matriks1[10][10], matriks2[10][10];
    int hasil[10][10];
    printf("Baris matriks ke-1 : "); scanf("%d",&m);
    printf("Banyak kolom : "); scanf("%d",&p);
    printf("Kolom matriks ke-2 : "); scanf("%d",&n);
    printf("Data matriks ke-1\n");
    baca_matriks(matriks1,m,p);
    cetak_matriks(matriks1,m,p);
    printf("Data matriks ke-2\n");
    baca_matriks(matriks2,p,n);
    cetak_matriks(matriks2,p,n);
    kali_matriks(matriks1,matriks2,m,n,p,hasil);
    printf("Hasil Perkalian : \n");
    cetak_matriks(hasil,m,n);
}

program kasus 3

#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream>
using namespace std;
/* Daftar Variabel

A[],b[] : Matriks pembentuk persamaan simultan linear

G[] : Matriks Gabungan

x : Matriks hasil perhitungan */

float A[5][5]={{4,1,2},{1,3,1},{1,2,5}};
float G[5][6];
float b[5]={16,10,12};
float factor,dummy,x[5];

int i,j,k,n=3;

main(){

// bentuk matriks gabungan

for(i=0;i<n;i++) for(j=0;j<n;j++) G[i][j]=A[i][j];

for(j=0;j<n;j++) G[j][n]=b[j];

printf("Matriks penggabungan\n");

for(i=0;i<n;i++){

    for(j=0;j<=n;j++) printf(" %10.3f",G[i][j]);
    printf("\n");

}

// proses eliminasi

for(i=0;i<n-1;i++){

    for(j=i+1;j<n;j++){

        factor = G[j][i]/G[i][i];
        for(k=i;k<=n;k++) G[j][k]=G[j][k]-factor*G[i][k];

    }
}

printf("Matriks setelah eliminasi\n");

for(i=0;i<n;i++){

    for(j=0;j<=n;j++) printf(" %10.3f",G[i][j]);
    printf("\n");

}

// substitusi mundur

x[n-1]=G[n-1][n]/G[n-1][n-1];

for(i=n-2;i>=0;i--){

    dummy = G[i][n];
    for(j=i+1;j<n;j++) {
        dummy = dummy - G[i][j]*x[j];
    }
    x[i]=dummy/G[i][i];

}

printf("Hasil akhir\n");

for(i=0;i<n;i++) printf("x[%2d] = %g\n",i,x[i]);

}

program latihan 1

#include <iostream>

using namespace std;

void tulis_matrik(int matrik[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            string ket;
            if(baris==1) ket = "vektor";
            else ket="matrik";
            cout<<"Masukkan nilai "<<ket<<"["<<i<<"]["<<j<<"] : ";cin>>matrik[i][j];
        }
    }
}

void baca_matrik(int matrik[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<" "<<matrik[i][j]<<" ";
        }
        cout<<endl;
    }
}

void kali_matriks(const int matriks1[2][2], const int matriks2[2][2],
int baris, int kolom, int barkol, int mat_kali[2][2])
{
    //misal baris 1 = 2 , -->baris
    //misal kolom 2 = 1 , -->kolom
    //misal barkol = 3 
    int i,j,k;
    for (i=0; i<baris; i++)
        for (j=0; j<kolom; j++){
            mat_kali[i][j] = 0;
            for (k=0; k<barkol; k++)
                mat_kali[i][j] = mat_kali[i][j] + matriks1[i][k] * matriks2[k][j];
        }
}
main(){
    //perkalian matrik dengan vektor
    int mat[2][2];
    int vek[2][2];
    int hasil[2][2];
    //memasukan nilai matrik
    tulis_matrik(mat, 2, 2);
    cout<<endl;
    tulis_matrik(vek, 2, 1);
    cout<<endl;
    baca_matrik(mat, 2, 2);
    cout<<endl;
    baca_matrik(vek, 2, 1);
    cout<<endl;
    kali_matriks(mat,vek,2,1,2,hasil);
    cout<<"Hasil perkalian matrik dengan vektor : "<<endl;
    baca_matrik(hasil, 2,1);
    //memasukan nilai vektor
   
   
   
}



















laihan 2

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

using namespace std;
void iden (int n){
 for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
            if(i==j) cout<<"1 ";
            else cout<<"0 ";
            }
            cout<<endl;      
 
             }   
}

int main(){
    int n;
  
    cout<<"MENCETAK MATRIKS IDENTITAS"<<endl;
    cout<<"----------------------------------"<<endl;
    cout<<"Masukkan ordo matriks : ";
    cin>>n;
    cout<<endl;
    iden(n);
  
  
    
  
    
}

latihan 3

#include <iostream>

using namespace std;

void masuk(int mat[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<"Masukkan nilai ["<<i<<"]["<<j<<"] : ";cin>>mat[i][j];
        }
    }
}

void transpose(int mat[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<" "<<mat[j][i]<<" ";
        }
        cout<<endl;
    }
}

void tampil(int mat[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<" "<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
}

main(){
   
    int mat[2][2];
   
    masuk(mat, 2, 2);
    cout<<endl;
    tampil(mat, 2, 2);
    cout<<endl<<endl<<"Transpose diatas adalah : "<<endl;
    transpose(mat, 2,2);
   
    return 0;
}


latihan 4

#include<iostream>

using namespace std;

void input(int kolom, int baris,int k){
int matrik[100][100];
//input matrik 
for (int x = 0;x<baris;x++){
for (int y =0;y<kolom;y++){
cout <<"masukan nilai matrik kedua baris ke-"<<(x+1)<<" kolom ke-"<<(y+1)<<" : ";
cin>>matrik[x][y];
}
}
cout<<endl;
for (int x = 0;x<baris;x++){
for (int y =0;y<kolom;y++){
cout<<matrik[x][y]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<"setelah di kali kontanta"<<endl;

for (int x = 0; x<baris; x++){
for (int y =0; y<kolom; y++){
matrik[x][y]=k*matrik[x][y];
cout<<matrik[x][y]<<" ";
}
cout<<endl;
}
}
   
   
main(){
    int baris,kolom,k;
    cout<<"masukan baris= " ; cin>>baris;
    cout<<"masukan kolom= " ; cin>>kolom;
    cout<<"masukan konstanta= "; cin>>k;
    cout<<endl;
    input(baris,kolom,k);




}

latihan 5

#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;

main(){

    float hasilkali[2][2];
    float mat[2][2];
    float invers[2][2];
    float det, pemdet,temp;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<"Masukkan nilai matrik["<<i<<","<<j<<"] : ";cin>>mat[i][j];
        }
    }
    cout<<endl<<endl;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl<<endl;
    det = ((mat[0][0] * mat[1][1]) - (mat[0][1]*mat[1][0]));
    pemdet = 1/det;
   
   
    invers[0][0] = pemdet*mat[1][1];
    invers[0][1] = -1*pemdet*mat[0][1];
    invers[1][0] = -1*pemdet*mat[1][0];
    invers[1][1] = pemdet*mat[0][0];
    cout<<"Matrik invers nya : "<<endl;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<invers[i][j]<<" ";
        }
        cout<<endl;
    }
   
    cout<<endl<<endl;
   
    //rumus perkalian matrik
    for (int x = 0;x<2;x++){
        for (int y =0;y<2;y++){
            hasilkali[x][y]=0;
            for (int z =0;z<2;z++){
                temp=mat[x][z]*invers[z][y];
                hasilkali[x][y]=hasilkali[x][y]+temp;
            }
        }
    }
   
    cout<<endl<<endl<<"Hasil kali matrik dengan inversnya : "<<endl;
    //menampilkan hasil kali
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<hasilkali[i][j]<<" ";
        }
        cout<<endl;
    }
   
    if(hasilkali[0][0] == 1  && hasilkali[1][1] == 1 && hasilkali[0][1] == 0 && hasilkali[1][0] ==0){
        cout<<endl<<"Matriks identitas";   
    } else if(hasilkali[0][0] == 0  && hasilkali[1][1] == 0 && hasilkali[0][1] == 1 && hasilkali[1][0] ==1){
        cout<<endl<<"Matriks identitas";
    } else {
        cout<<endl<<"Bukan matrik identitas";
    }
    return 0;
    getch();
}



































































































































































bab 8

program  no 2 menampilkan data dari indeks ke...


















program no 3  mengurutkan angka dengan buble sort
 
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

int main(int argc, char** argv) {
    int a, k, c, d, g;
    k=5;
    int b[5];
    cout<<"\t\tPROGRAM MENGURUTKAN ANGKA DENGAN BUBLE SORT\n\n";
    for(a=0; a<k; a++){
        cout<<"Masukkan nilai ke-"<<a+1<<":";
        cin>>b[a];
    }
    for (a=0; a<k-1; a++){
        for (d=a+1; d<k; d++){
        c=a;
        if (b[c]>b[d]){
            c=d;
        }   
        g=b[c];
        b[c]=b[a];
        b[a]=g;
        }
    }
    cout<<"\nSetelah diurutkan maka akan menjadi :\n";
    for(a=0; a<k; a++){
        cout<<b[a]<<"  ";
    }
    return 0;
}


program  no 5

#include <iostream>
#include <conio.h>
using namespace std;
int data[10],data2[10];
int n;

void tukar(int a, int b)
{
 int t;
 t = data[b];
 data[b] = data[a];
 data[a] = t;
}
void selection_sort()
{
 int pos,i,j;
 for(i=1;i<=n-1;i++)
 {
  pos = i;
  for(j = i+1;j<=n;j++)
  {
   if(data[j] < data[pos]) pos = j;
  }
  if(pos != i) tukar(pos,i);
 }
}

int main()
{
 cout<<"URUT DERET ANGKA DENGAN SELECTION SORT"<<endl<<endl;

 cout<<"Masukkan Jumlah Data : ";
 cin>>n;
 for(int i=1;i<=n;i++)
 {
  cout<<"Masukkan data ke "<<i<<" : ";
  cin>>data[i];
  data2[i]=data[i];
 }

 selection_sort();
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }

 getch();
}

program no 6
#include <iostream>
#include <conio.h>
using namespace std ;
int data[10],data2[10];
int n;

void insertion_sort()
{
 int temp,i,j;
 for(i=1;i<=n;i++)
 {
  temp = data[i];
  j = i -1;
  while(data[j]>temp && j>=0)
  {
   data[j+1] = data[j];
   j--;
  }
 data[j+1] = temp;
 }
}
int main()
{

//INPUT DATA
 cout<<"Masukkan Jumlah Data : ";
 cin>>n;
 cout<<endl;
 for(int i=1;i<=n;i++)
 {
  cout<<"Masukkan data ke-"<<i<<" : ";
  cin>>data[i];
  data2[i]=data[i];
 }

 insertion_sort();

 cout<<endl<<endl;

 //MENAMPILKAN DATA
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }
 cout<<endl<<endl<<"Sorting Selesai";
 getch();
}

program no 7

#include <iostream> 
#include <conio.h> 
using namespace std;
int a[50]; 
void merge(int,int,int); 
void merge_sort(int low,int high) 
{ 
 int mid; 
 if(low<high) 
 { 
  mid=(low+high)/2; 
  merge_sort(low,mid); 
  merge_sort(mid+1,high); 
  merge(low,mid,high); 
 } 
} 
void merge(int low,int mid,int high) 
{ 
 int h,i,j,b[50],k; 
 h=low; 
 i=low; 
 j=mid+1; 
 while((h<=mid)&&(j<=high)) 
 { 
  if(a[h]<=a[j]) 
  { 
   b[i]=a[h]; h++; 
  } 
  else 
  { 
   b[i]=a[j]; j++; 
  } i++; 
 } 
 if(h>mid) 
 { 
  for(k=j;k<=high;k++) 
  { 
   b[i]=a[k]; i++; 
  } 
 } 
 else 
 { 
  for(k=h;k<=mid;k++) 
  { 
   b[i]=a[k]; i++; 
  } 
 } 
 for(k=low;k<=high;k++) 
  a[k]=b[k]; 
} 
int main() 
{ 
 int num,i,b;
 cout<<"***************************"<<endl; 
 cout<<" MERGE SORT PROGRAM "<<endl; 
 cout<<"***************************"<<endl; 
 cout<<endl<<endl; 
 cout<<"Masukkan Banyak Bilangan: ";cin>>num; 
   cout<<endl; 
 cout<<"Sekarang masukkan "<< num <<" Bilangan yang ingin Diurutkan :"<<endl; 
 for(b=1;b<=num;b++) 
 { 
  cout<<"Bilangan ke-"<<b<<" : ";cin>>a[b] ; 
 } 




 merge_sort(1,num); 
 cout<<endl; 
 cout<<"Hasil akhir pengurutan :"<<endl; 
 cout<<endl; 
 for(i=1;i<=num;i++) 
  cout<<a[i]<<" "; 
 cout<<endl<<endl<<endl<<endl;

   getch(); 
} 


program no 9

# include <iostream>
# include <iomanip>
# include <conio.h>
using namespace std;

void q_sort(int[],int,int);

int main ()
{
 int NumList[9]={2,8,3,5,6,4,11,1,9};

 cout<<" Data Sebelum diurutkan: \n";
 for(int d=0;d<9;d++)
 {
 cout<<setw(3)<<NumList[d];
 }
 cout<<"\n\n";
 q_sort(NumList,0,9);
 cout<<" Data setelah diurutkan: \n";
 for(int iii=0;iii<9;iii++)
 cout<<setw(3)<<NumList[iii]<<endl<<endl;

 getch();
}

void q_sort(int numbers[],int left,int right)
{
 int pivot,l_hold,r_hold;
 l_hold=left;
 r_hold=right;
 pivot=numbers[left];
 while(left<right)
 {
 while((numbers[right]>=pivot)&&(left<right))
 right--;
 if(left!= right)
 {
 numbers[left]=numbers[right];
 left++;
 }
 while((numbers[left]<=pivot)&&(left<right))
 {
 left++;
 }
 if (left!=right)
 {
 numbers[right]=numbers[left];
 right--;
 }
 }
 numbers[left]=pivot;
 pivot=left;
 left=l_hold;
 right=r_hold;
 if(left<pivot)
 q_sort(numbers,left,pivot-1);
 if(right>pivot)
 q_sort(numbers,pivot+1,right);
 }


program no 10 

# include <iostream>
# include <iomanip>
# include <conio.h>
using namespace std;
void q_sort(int[],int,int);

int main ()
{
 int NumList[8]={2,8,7,1,3,5,6,4};

 cout<<" Data Sebelum diurutkan: \n";
 for(int d=0;d<8;d++)
 {
 cout<<setw(3)<<NumList[d];
 }
 cout<<"\n\n";
 q_sort(NumList,0,8);
 cout<<" Data setelah diurutkan: \n";
 for(int iii=0;iii<8;iii++)
 cout<<setw(3)<<NumList[iii];

 getch();
}

void q_sort(int numbers[],int left,int right)
{
 int pivot,l_hold,r_hold;
 l_hold=left;
 r_hold=right;
 pivot=numbers[left];
 while(left<right)
 {
 while((numbers[right]>=pivot)&&(left<right))
 right--;
 if(left!= right)
 {
 numbers[left]=numbers[right];
 left++;
 }
 while((numbers[left]<=pivot)&&(left<right))
 {
 left++;
 }
 if (left!=right)
 {
 numbers[right]=numbers[left];
 right--;
 }
 }
 numbers[left]=pivot;
 pivot=left;
 left=l_hold;
 right=r_hold;
 if(left<pivot)
 q_sort(numbers,left,pivot-1);
 if(right>pivot)
 q_sort(numbers,pivot+1,right);
 }






































































































































































bab 7

diktat no 1 program menhhitung faktor
#include <iostream>
#include <windows.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void masuk(int c[20],int b[20]){
    for (int i=1;i<=2;i++){
        for (int j=1;j<=3;j++){
            cout<<"Vaktor A "<<i<<","<<j<<" =";cin>>b[i,j];
            cout<<"Vaktor B "<<i<<","<<j<<" =";cin>>c[i,j];
           
        }
    }
    system("cls");
}
void proses(int b[20],int c[20],int hasil[20],int kali[20]){
   
        cout<<"Vaktor A"<<endl;
    for(int i=1;i<=2;i++){
        for(int j=1;j<=3;j++){
            cout<<b[i,j]<<" ";
        }
    }
    cout<<"\n\nVaktor B"<<endl;
        for(int i=1;i<=2;i++){
        for(int j=1;j<=3;j++){
            cout<<c[i,j]<<" ";
        }
    }
    cout<<"\n\nVektor C"<<endl;
    for (int i=1;i<=2;i++){
        for (int j=1;j<=3;j++){
            hasil[i,j]=b[i,j]+c[i,j];
           
            cout<<hasil[i,j]<<" ";
        }
       
    }
    cout<<"\n\nVaktor Hasil Kali"<<endl;
    for (int i=1;i<=2;i++){
        for (int j=1;j<=3;j++){
            kali[i,j]=b[i,j]*hasil[i,j];
           
            cout<<kali[i,j]<<" ";
        }
       
    }
    cout<<"\n\nBanyak Elemen ="<<12;
}

int main(int argc, char** argv) {
    int hasil[20];
    int kali[20];
    int b[20];
    int c[20];
    cout<<"Menghitung faktor"<<endl;
    masuk(b,c);
    proses(b,c,hasil,kali);
    return 0;
}












diktat no 2 program menampilkan jumlah karakter pada huruf

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void string(int a){
    char kata[100];
    int jumlah;
    scanf("%s",kata);
    jumlah=strlen(kata);
    printf("jumlah karakter adalah =%d",jumlah);
}
int main(int argc, char *argv[]) {
    char b;
    printf("Masukan Kata =");
    string(b);
    return 0;
}











latihan 2 program menampilkan jumlah kata
#include <iostream>
using namespace std;
void nama(){
    string kata;
   
    cout<<"mencari panjang nama=";cin>>kata;
    cout<<"berisi berapa kata?="<<kata.size();
   
    }

int main(){
    nama();
    return 0;
}
latihan diktat no 3 program menampilkan huruf besar dan huruf kecil

#include <stdio.h> //file header pemanggil gets/putchar
#include <ctype.h> //file header pemanggil isupper/islower
#include <iostream>
#include <conio.h> //file header pemanggil getche
using namespace std;
void nama()
{
  int i=0; //inisialisasi i untuk variabel nama
  char nama[100]; //variabel nama dengan maksimum 100 karakter
  char c; //variabel hasil dari isupper/islower variabel nama
    int a=0; //inisialisasi a=0 untuk variabel nama
  char entri[100]; //variabel entri maksimum 100 karakter
  char out;
  cout<<"Masukkan Nama [HURUF KAPITAL] = "; gets(nama); //proses entri data
  getche(); //menghentikan program aplikasi, tekan enter untuk meneruskan
  cout<<"\nNamamu versi huruf kecil = "; //memulai output
  while (nama[i]) //awal perulangan while untuk variabel nama
   {
   c=nama[i]; //menyamakan variabel c dan nama[i]
   if (isupper(c)) c=tolower(c); //proses percabangan dari besar ke kecil
   putchar (c); //output dari huruf besar menjadi huruf kecil
   i++; //perulangan berupa penambahan nilai
}cout<<endl;
   //variabel hasil dari islower/isupper variabel entri
  cout<<"Masukkan Frasa Huruf Kecil = "; gets(entri);
  getche(); //program distop sementara, tekan enter untuk melanjutkan
  cout<<"\nHasil Inputan Frasa Huruf Besar = "; //memulai output
  while (entri[a]) //awal perulangan while variabel entri
 {
 out=entri[a]; //menyamakan variabel out dengan entri[a]
 if (islower(out)) out=toupper(out); //percabangan dari kecil ke besar
 putchar (out); //output huruf besar dari huruf kecil
 a++; //penambahan nilai variabel a=0
}
}
   int main(){
nama();
   }

program menampilkan gabungan kata
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void penggabungan(string k1[20],string k2[20]){
    string k3 [20];
    for(int i=1;i<=1;i++){
        cout<<"Masukan kata pertama =";cin>>k1[i];
        k3[i]=k1[i];
        for(int j=1;j<=1;j++){
        cout<<"Masukan kata kedua =";cin>>k2[i,j];
        cout<<"Masukan kata pertama =";cin>>k1[i,j];
        }
        system("cls");
        cout<<"Gabungan Kata"<<endl;
        cout<<"Hasil = "<<k3[i]<<" "<<k2[i]<<" "<<k1[i];
    }
}
int main(int argc, char** argv) {
    string k1 [20];
    string k2 [20];
    penggabungan(k1,k2);
    return 0;
}


program konverter huruf

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include<windows.h>


char konversi (char kata[100]) {
    int n, a;
    n = strlen (kata);
        for (a =0; a <= n-1; a++) {
            if (islower (kata[a])) {
                kata[a] = toupper (kata[a]);
            }
            else {
                kata[a] = tolower (kata[a]);
            }
            printf ("%c", kata[a]);
        }
    return (kata[100]);
}

int main () {

    char kata[100];
    printf ("\t=======================\n");
    printf ("\tPROGRAM KONVERTER HURUF\n");
    printf ("\t=======================\n\n\n");
    printf ("Masukkan Kata : ");gets (kata);
    system("CLS");
    printf ("Hasilnya : ");
    konversi (kata);
}

program menhitung kata dalam sebuah kalimat

#include<iostream>
#include<ctype.h>
using namespace std;
main()
{
    cout<<"\t Program Menghitung Kata Dalam Sebuah Kalimat"<<endl;
    cout<<"\t\t=============================== "<<endl;
    cout<<"\n";

    char kalimat[100];
    int i, spasi=0;
    cout << "Masukan Sebuah Kalimat : ";
    cin.getline(kalimat, sizeof(kalimat));

    for(i=0; kalimat[i]; i++)
    {

        if(isspace (kalimat[i]) || ispunct (kalimat[i]))
        {
            spasi++;

        }
    }

    cout << "Jumlah Kata = " << spasi +1 << "\n\n";
    cout << "Kata yang anda masukan adalah :   \n";
    cout << "\n";

    for(i=0; kalimat[i]; i++)
    {

        if(isspace (kalimat[i]) || ispunct (kalimat[i]))
        {
            spasi++;
            cout << "\n";
     
        }
        cout << kalimat[i];
    }
    cout << "\n";
    cout << "\n";
        cout << "Terima kasih sudah memcoba program ini"<<endl;

}