Tampilkan postingan dengan label Tugas Individu. Tampilkan semua postingan
Tampilkan postingan dengan label Tugas Individu. Tampilkan semua postingan

Pemrograman Web Dinamis (OnlineShop)


Do_login.php

Do login ini adalah sorce code untuk proses login sebagai admin ataupun sebagai user.
Fungsi session_start(); tidak memerlukan argument dan digunakan untuk menjalankan fungsi sessin. Jika menjalankan session baru makan fungsi ini akan melakukan inisialisasi dan membentuk file temporary yang dibutuhkan untuk melacak session tersebut.
$query, fariabel query berisi perintah pemanggilan database "SELECT * FROM user WHERE username = '$user' AND password = '$pass'"; artinya data yang diambil dari table user dimana username bernilai sama dengan '$user' begitu pula dengan password.
Pada form login disini menggunakan statement if,

if($sql->num_rows == 0){
                                echo 'User tidak ditemukan';

statemen diatas berfungsi untuk mengambil data baris dari mysql_query , jika tidak ada nilai yang di inputkan maka akan menampikan peringatan berupa ‘User tidak itemukan’ karena data tidak ada didalam database.

                }else{
                                $row = $sql->fetch_assoc();
                                if($row['level'] == 1){ user
                                                $_SESSION['user']=$user;
                                                echo '<script language="javascript">alert("Anda berhasil Login Admin!"); document.location="admin/index.php";</script>';

statemen diatas berfungsi menghasilkan array asosiatif yang mana indexnya sesuai dengan nama kolom yang diseleksi. Mudahnya, tidak tergantung pada urutan molom, yang terpenting indexnya sesuai.
Nilai 1 mengartikan bahwa pengguna login adalah admin,

                                }else{
                                                $_SESSION['user']=$user;
                                                echo '<script language="javascript">alert("Anda berhasil Login User!"); document.location="user/index.php";</script>';
                                }
                }

Pada perintah ini menggunakan $_SESSION yang menginisialisasi user/pengguna. Masih menggunakan java script sebagai alert jika berhasil login sebagai user.

Logout.php


Script Session_start() harus diletakkan pada baris code nomor satu pada editor yang anda gunakan.
Kode session_start() harus diletakkan sebelum ada output apapun walaupun hanya spasi, jadi sebaikanya selalu letakkan di bagian paling atas.

Pada bagian session_destroy();  menjelesakan bahwa semua session yang telah di buat dan di inisialisasi akan di destroy atau di hancurkan. Nah pada tahanpan inilah yang sering digunakan untuk script logout pada web atau aplikasi berbasis web lainya

Tampilan.php


Tampilan awal halaman login menggunakan bootstrap, script diatas adalah potongan source code yang digunakan u ntuk menampilkan system login untuk admin/user pengguna onlineshop ini.



Matrik dan Vektor



1. identifikasi masalah
mengalikan vektor (2 elemen) dengan matriks berukuran 2x3 dan vektor (3 elemen)
2. output input
 input   : matrik[2][3]={1,3,2,4,5,7}.
                    vektor[3]={4,2,3}.
                    vek[2]={1,3}    

 output : hasil[2].
3. algoritma
Deklarasi :
     matrik[2][3] =
{1,3,2,4,5,7} : integer
    vektor[2]        = {4,2,3}           : integer
    vek[2]              = {1,3}              : integer
    hasil[2]           = {0}                 : integer

 Deklarasi :
   for i<-0 to i<-2 do
          for j<-0 to j<-3 do
                 hasil[i]=hasil[i]+(matrik [i][j]*vektor[j]);
                 write hasil[i];
        end for
endfor
for i<-0 toi<-2 do
  hasil[i]=hasil[i]*vek[i];
  write hasil[i];
endfor
end

4. tes menggunakan data
 vektor(2 elemen), matrik(ordo 2x3) dan vektor(3 elemen)
           j=0                       j=0  j=1  j=2                        j=0
A i=0|1|             B i=0| 1     3   2  |           C i=0| 4 |
    i=1|3|                 i=1| 4    5    7  |               i=1 | 2 |
                                                                         i=2 | 3 |
  Kalikan matrik B dengan vektor C agar memudahkan karna keduanya memiliki ordo yang sama 2 x 3 dengan 2 x 1
             j=0  j=1  j=2                            j=0
D i=0|  4     6    6 |     =        D i=0| 16|
    i=1 |  16  10   21|    =             i=1 |47|
Setelah itu kalikan lagi dengan vektor A deman ordo 2 x 1 dan 2 x 1
             j=0                    j=0                          j=0
D i=0|16|       A i=0| 1 |      =       E i=0|   16|
     i=1|47|           i=1| 3 |      =           i=1 |141|
 


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

void kali(int matrik[2][3],int vektor[3],int hasil[2]){
 cout<<"matrik 2x3 : \n";
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   hasil[i]=hasil[i]+(matrik[i][j]*vektor[j]);
 }
}
void cetakm(int hasil[][3]){
 for(int i=0;i<2;i++){
  for(int j=0;j<3;j++)
   cout<<hasil[i][j]<<" ";
   cout<<endl;
 }
}
void cetakv(int vektor[]){
 cout<<"vektor 3 elemen : \n";
 for(int i=0;i<3;i++){
  cout<<vektor[i]<<endl;
 }
}

void cetak(int hasil[]){
 cout<<"hasil matrik 2x3 dan vektor 3 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<hasil[i]<<endl;
 }
}
void cetakb(int vek[]){
 cout<<"vektor 2 elemen : \n";
 for(int i=0;i<2;i++){
  cout<<vek[i]<<endl;
 }
}

void cetaka(int vek[2],int hasil[]){
 cout<<"hasil akhir : \n";
   for(int i=0;i<2;i++){
 hasil[i]=hasil[i]*vek[i];
 cout<<hasil[i]<<endl;
}
}
int main(int argc, char** argv) {
 int matrik[2][3]={1,3,2,4,5,7}, vektor[3]={4,2,3},vek[2]={1,3},hasil[2]={0};
 kali(matrik,vektor,hasil);
 cetakm(matrik);
 cetakv(vektor);
 cetak(hasil);
 cetakb(vek);
 cetaka(vek,hasil);
 return 0;

}
6. Eksekusi







BUBLE SORT

Mengerjakan BUBLE SORT dengan kaidah pemrograma

1. Megidentifikasi masalah
mengurutkan nilai dengan buble sort
2.Input/Output
input : 9 8 7 6 5 4 
Output : 4 5 6 7 8 9
3.Menggunakan Raptor

 Main
 Hasil
 Proses



4. Menggunakan tes data
input banyak data : 6 
data ke 1 : 9
data ke 2 : 8 
data ke 3 : 7
data ke 4 : 6
data ke 5 : 5
data ke 6 : 4
Sebelum diurutkan:9 8 7 6 5 4 
Setelah diurutkan : 4 5 6 7 8 9

Proses pengurutan secara manual
For I ← 1 to n-1
If A[i]>A[i+1] then
Pindahkan (A[i], A[i+1])
Jika elemen kiri > elemen kanan maka kita pindahkan.
Data awal : 9 8 7 6 5 4
Baris 1: 8 9 7 6 5 4
Baris 2 : 8 7 9 6 5 4
Baris 3 : 8 7 6 9 5 4
Baris 4 : 8 7 6 5 9 4
Baris 5 : 8 7 6 5 4 9
Baris 6 : 7 8 6 5 4 9
Baris 7 : 7 6 8 5 4 9
Baris 8 : 7 6 5 8 4 9
Baris9 : 7 6 5 4 8 9
Baris 10 : 6 7 5 4 8 9
Baris 11 : 6 5 7 4 8 9
Baris 12 : 6 5 4 7 8 9
Baris13 : 5 6 4 7 8 9
Baris 14 : 5 4 6 7 8 9
Baris 15 : 4 5 6 7 8 9
5. Menginplementasikan dengan C++

#include <iostream>
#include <cstdlib>

using namespace std;
 

void output(int a[0],int temp,int n){
 for(int i=0;i<n;i++){
  for(int j=i;j<n;j++){
   if(a[i]>a[j]){
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
   }
  }
 }
 cout<<"\nSesudah Di Urutkan"<<endl;
 for(int i=0;i<n;i++){
  cout<<a[i]<<" ";
 }cout<<endl;
}
int main(int argc, char** argv) {
 int n,temp;
 cout<<"Masukkan Batas : ";
 cin>>n;
 int array[n];
 cout<<"Masukkan data : ";
  for (int j=0;j<n;j++){
  cout<<"Data Ke-"<<j+1<<" = ";
  cin>>array[j];
 }
cout<<endl<<endl;
cout<<"sebelum di urutkan"<<endl;
 for (int j=0;j<n;j++){
  cout<<array[j]<<" ";
 }

  output(array,temp,n);
 system("pause");


 return 0;
}

6. Eksekusi

Dalam pengerjaan program ini saya berhasil mengerjakannya dalam waktu 6 jam termasuk untuk posting, Semangat Belajar ^_^

untuk materi selection bisa buka link di bawah:
Aulyah Zakilah Ifani 
untuk materi insertion bisa buka link dibawah ini juga:
Andri Riski Saputra 

LATIHAN PPT (1)

C++ untuk menggantikan strlen, yaitu dengan mengetahui panjang suatu string

#include <iostream>
using namespace std;
main()
{
char kata[150];
int jlh=0,x;
cout<<"Masukkan Kata: "<<endl;
cin.getline(kata,sizeof(kata));

for (x=0;kata[x];x++)
{
jlh=jlh+1; //menjumlahkan karakter per karakter
}
cout<<"--------------------------------"<<endl;
cout<<"Panjang karakter adalah :"<<jlh;
return 0;
}
 
Tampilan

Rencana Bulan 3

Rencana Bulan 3
1. Identifikasi masalah
Menggeser elemen array ke kanan dan ke kiri

2. Menentukan input dan output
input:123
output:312
3. Membuat flowchat


4. Implementasi dengan menggunakan C++:

#include <cstdlib>
#include <iostream>
#define maks5

using namespace std;

class Array1D{
 friend ostream& operator<<(ostream&, const Array1D&);
 friend istream& operator>>(istream&, Array1D&);
public:
 Array1D();
 void cetak();
 void geser_kanan();

private:
 char A[5];
 int posisi;
};

Array1D::Array1D(){
 for(int i=0;i<5;i++)
 A[i]='O';
}

void Array1D::cetak(){
 for(int i=0;i<5;i++)
 cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x){
 for(int i=0;i<5;i++)
 out<<x.A[i]<<" ";
 out<<endl;
 return out;
}

istream& operator>>(istream& in, Array1D& x){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"masukkan nilai array posisi ke- : "<<posisi;
 if(posisi >= 0 && posisi <= 5){cout<<"\nmasukkan elemen arraynya :";
 in>>x.A[posisi-1];
 }
 }
 return in;
}

void Array1D::geser_kanan(){
 int n=5;
 int temp=A[n-1];
 for(int i=n-1;i>=0;i--)
 A[i+1]=A[i];
 A[0]=temp;
}
int main(int argc, char *argv[])
{
 Array1D x;
 cout<<"Array masih kosong : "<<x;
 cin>>x;

 cout<<"Isi Array saat ini : "<<x;
 x.geser_kanan();
 cout<<"Isi Array setelah di geser kanan : "<<x;
 system("PAUSE");
 return EXIT_SUCCESS;
}

5. Eksekusi
1. Identifikasi masalah
Menggeser ke kiri
2. Menentukan
Input: 123
Output:231
3. Membuat Flowchat
 
4. Menginplementasikan dengan C++
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void b(int f[100], int u){
    int temp;
    cout<<"Data Sebelum digeser"<<endl;
    for(int i=0;i<u;i++){
        cout<<f[i]<<" ";
    }   
   
    cout<<endl<<endl;
   
    cout<<"Data setelah digeser ke kiri"<<endl;
    temp=f[0]; //u-1
   
    for(int i=0;i<u-1;i++){
        f[i]=f[i+1]; //i-1
    }
   
    f[u-1]=temp; //f[0]
   
    for(int i=0;i<u;i++){
        cout<<f[i]<<" ";
    }
}
int main(int argc, char** argv) {
    int u;
   
    cout<<"================================"<<endl;
    cout<<"    PROGRAM MENGGESER KEKIRI    "<<endl;
    cout<<"================================"<<endl;
   
    cout<<"Masukkan banyak data : ";
    cin>>u;
   
    int f[u];
   
    for(int i=0;i<u;i++){
        cout<<"Data ke-"<<i<<" = ";
        cin>>f[i];
    }   
    cout<<endl;
    b(f,u);
    return 0;
}

5. Eksekusi


3. Menghitung Jumlah Karakter

Ini adalah cara untuk menghitung jumlah karakter dalam kalimat

Menggunakan Program C++
#include <iostream>
#include <string.h>
#include <conio.h>

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()
{
huruf x;
cin>>x;
cout<<x;
getch();
}

Tampilan

untuk latihan 1 dan 2 dipelajari:
http://pengantarprogram.blogspot.co.id/

untuk latihan 4 bisa dipelajari:
http://keronskl.blogspot.co.id/


KASUS 6.4

6.4 Buatlah algoritma untuk menentukan nilai maksimum dan minimum dari n bilangan.

Menggunakan Program C++

#include <iostream>
#include <conio.h>
using namespace std;
main()
{
   //deklarasi
    int nilai[3],n,a,min,maks;

   //input-output array
   cout<<"Masukkan batas";
   cin>>n;
    for(a=1;a<=n;a++){
   cout<<"Masukkan nilai ke-"<<a<<":";
   cin>>nilai[a];
    }

   //proses looping array
   min = nilai[1];
   maks = nilai[1];
   for(a=1;a<=n;a++){
   if(nilai[a] < min){
   min = nilai[a];
   } else if(nilai[a] > maks){
   maks = nilai[a];
   }
   }

   //output minimum dan maksimum
   cout<<"nilai minimum adalah : "<<min<<endl;
   cout<<"nilai maksimum adalah : "<<maks<<endl;

getch();
return 0;
}

Tampilan

untuk kasus 6.1 dan 6.2 bisa dipelajari di:
disini

untuk kasus 6.5 dan 6.6 bisa dipelajari di:
http://pengantarprogram.blogspot.co.id/

KASUS 6.3

6.3 Buatlah algoritma untuk menentukan nilai maksimum dari n bilangan.

Menggunakan program C++

#include <iostream>
#include <conio.h>
using namespace std;
main()
{
   //deklarasi
    int nilai[3],n,a,maks;

   //input-output array
   cout<<"Masukkan batas";
   cin>>n;
    for(a=1;a<=n;a++){
   cout<<"Masukkan nilai ke-"<<a<<":";
   cin>>nilai[a];
    }

   //proses looping array
   maks = nilai[1];
   for(a=1;a<=n;a++){
   if(nilai[a] > maks){
   maks = nilai[a];
   }
   }

   //output minimum dan maksimum
   cout<<"nilai maksimum adalah : "<<maks<<endl;

getch();
return 0;
}

Tampilaln

KASUS 5.8

•Buatlah algoritma iteratif dan rekursif untuk menghitung gcd dari dua bilangan bulat positif.
•Analisis :

•Jika n ¹ 0 dan m integer non negatif, kita dapat menulis m = q.n + r untuk suatu integer non negatif q dan r dengan 0 £ r < n.

1. Rekursif
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int gcd(int c, int d){
int r;
while (d>0){
r=c%d;
c=d;
d=r;
}
}

int main(int argc, char** argv) {
int a, b;
cout<<"masukan angka : ";cin>>a;
cout<<"masukan angka lagi : ";cin>>b;
cout<<"hasil gcd = "<<gcd(a,b)<<endl;
return 0;
}



2. iteratif
#include <iostream>

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

int gcd(int c, int d)
{
if (d==0) return (c);
if (c<d) return (gcd(d,c));
return (gcd(c-d,d));
}

int main(int argc, char** argv) {
int a, b;
cout<<"masukan angka : ";cin>>a;
cout<<"masukan angka lagi : ";cin>>b;
cout<<"hasil gcd : "<<gcd(a,b)<<endl;

return 0;

}


Tampilan
keeduanya memiliki tampian output yang sama



KASUS 5.6

Diberikan deret Fibonacci sebagai berikut :
1, 1, 2, 3, 5, 8, …
•Buatlah fungsi yang menghitung suku ke-n dari deret Fibonacci dengan menggunakan cara rekursif.
•Analisis :
•Suku ke-n dari deret Fibonacci diperoleh dengan rumus :
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)

   dengan nilai awal untuk n=1 dan n=2 berharga 1.

Menggunakan C++

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int fibonacci(int n){
if (n==1 || n==2)return(1);
else return(fibonacci(n-1)+fibonacci(n-2));
}
int main(int argc, char** argv) {
int i,n;
cout<<"Masukan Batas Suku =";cin>>n;
for(i=1;i<=n;i++)
cout<<fibonacci(i)<<",";
return 0;
}
Tampilan
Menggunakan Raptor
nah untuk kasus 5.8 bisa kunjungi blog partner di:
http://keronskl.blogspot.co.id/2016/04/kasus-58.html
juga untuk referensi teman-teman bisa juga kunjungi partner yang satu ini juga:
http://pengantarprogram.blogspot.co.id/search/label/KASUS%205.1-5.8?=6

selamat bekerja dan berkaryaa ^^

KASUS 5.5

Pertanyaan :
Fungsi faktorial rekursif untuk mencari nilai n!
Menggunakan C++#include <iostream>#include <string>
using namespace std;void factorial(int n,int x,int hasil){ if(x>n){ cout<<"Factorial "<<n<<" adalah "<<hasil<<endl; }else{ hasil=hasil*x; x=x+1; factorial(n,x,hasil);}}
int main() { int hasil; int n; int x; cout<<"Masukan nilai factorial : "; cin>>n; x=1; hasil=1; factorial(n,x,hasil); return 0;}

Tampilan
Raptor