Minggu, 06 Oktober 2019

BAB 1

Pendahahuluan

Menginsatall Xampp



Langkah pertama memilih lokasi program akan diinstall, secara default XAMPP akan di install pada folder C:/xampp.

Selanjutnya akan ditampilkan pilihan-pilihan fasilitas yang ada, disini terdapat pilihan untuk mengaktifkan Apache, MySql dan Filezilla sebagai service.


Tunggu prosesnya sampai selesai.


Langkah selanjunya selesai melakukan installasi pada komputer akan muncul sebuah pesan yang memberitahukan proses berhasil dilakukan


Kemudian memilih bahasa yang ingin digunakan saat proses installasi, setelah selesai memilih bahasa yag akan digunakan tekan tombol next.

Selanjutnya XAMPP akan langsung mencoba menjalankan hasil installasi.


Data Languages (DDL Dan DML)

DDL merupakan kependekan dari Data Definition Language mempunyai fungsi utama untuk mendefinisikan data dalam database secara logika. DDL digunakan diantaranya untuk mendefiniskan karakteristik dari record (meliputi nama, tipe dan lebar dari field), untuk menentukan kunci field, menyediakan cara untuk menentukan hubungan dengan data di field lain, mengubah struktur dari record, menapilkan struktur dari record, dan lain-lain. DDL digunakan untuk mendefinisikan, mengubah, serta menghapus database dan objek-objek yang diperlukan dalam database, misalnya tabel. DML (Data Manipulation Language) merupakan perintah-perintah yang memungkinkan pengguna melakukan akses dan manipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat. DML digunakan untuk memanipulasi database yang telah didefinisikan dengan DDL.
Pilih menu Databases yang terletak di pojok kiri atas, sehingga GUI memiliki tampilan sebagai berikut: 


Selanjutnya pada kolom Create database, isikan nama database yang ingin kita buat, yaitu perpustakaan. Lalu klik tombol Create.

Membuat tabel baru

Misalkan kita akan membuat tabel baru. Tabel baru tersebut adalah table karyawan yang memiliki 4 atribut, yaitu NIP, nama, alamat dan no_telp. Maka berdasarkan gambar sebelumnya
kita isikan gudang pada kolom Name, lalu pada Number of columns kita isikan 4. Kemudian klik tombol Go. 

Menampilkan struktur table

Untuk menampilkan struktur tabel, cukup klik saja menu structure dari tabel yang ingin ditampilkan strukturnya. Misal pada Gambar 1.15, terlihat bahwa tabel yang ada adalah tabel gudang, dimana di sebelah kanannya terdapat menu browse, structure, dan lain-lain. Maka dengan mengklik tabel structure, struktur tabel gudang akan ditampilkan. 

Merubah struktur table

Perubahan struktur tabel juga dapat dilakukan dengan mudah di localhost/phpmyadmin. Misal kita diharuskan menambah atribut suplier dan pengarang dalam tabel gudang. Langkah yang dilakukan adalah dengan mengisikan 2 pada kolom Add, yaitu bagian yang dilingkari merah pada gambar berikut.Selanjutnya dengan mengklik tombol Go, kita akan diarahkan ke halaman berikut: 
menambahkan data baru

Menambah Data Baru

Untuk menambahkan data baru, klik menu Insert. Menu Insert terletak di atas  tampilan, yang pada gambar berikut ditandai dengan lingkaran merah.

Mengedit data

Selain dapat memasukkan data baru, localhost/phpmyadmin juga menyediakan fitur mengedit data dengan mudah. Akan tetapi sebelum dapat melakukan proses pengeditan, tabel harus memiliki primary key (PK) terlebih dahulu. Misalkan pada tabel gudang, atribut judul akan dijadikan PK. Caranya adalah pilih menu Structure pada tabel gudang tersebut, kemudian pada atribut judul pilih menu Primary seperti pada gambar berikut:
Untuk melakukan pengeditan suatu data, cukup mengklik menu Edit yang terletak di sebelah kiri dari suatu data pada tabel karyawan. Setelah diklim menu Edit tersebut, akan tampil halaman seperti pada gambar berikut:


Cukup ubah saja data yang ingin diubah, lalu kemudian klik Go. Maka data telah terubah. 

Menghapus data

Setiap data selain memiliki menu Edit di sebelah kirinya, juga memiliki menu Delete. Menu Delete ini digunakan untuk menghapus suatu data dari suatu tabel. Misalkan kita ingin menghapus gudang yang berjudul “Topeng Kehidupan”, langkah untuk menghapusnya adalah dengan mengklik menu Delete seperti pada gambar berikut:


Senin, 10 Juni 2019

Alpro Keren

GRAF DAN POHON


A. Pengertian Graf Dan Pohon

  • Graf adalah salah satu jenis Struktur data yang terdiri dari titik (vertex) dan garis (edge), dimana dalam tersebut, vertex-vertex yang dihubungkan oleh edge, hingga menjadi suatu kesatuan yang disebut graf.
  • Pohon adalah graph tak berarah yang terhubung dan tidak mengandung sirkuit.

B. Algoritma Graf Dan Pohon


1. Graf
  • Beri nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada node awal dan nilai tak hingga terhadap node lain (yang belum terisi).
  •  Set semua node “Belum terjamah” dan set node awal sebagai “Node keberangkatan”.
  • Dari node keberangkatan, pertimbangkan node tetangga yang belum terjamah dan hitung jaraknya dari titik keberangkatan.
  • Setelah selesai mempertimbangkan setiap jarak terhadap node tetangga, tandai node yang telah terjamah sebagai “Node terjamah”. Node terjamah tidak akan pernah di cek kembali, jarak yang disimpan adalah jarak terakhir dan yang paling minimal bobotnya.
  •  Set “Node belum terjamah” dengan jarak terkecil (dari node keberangkatan) sebagai “Node Keberangkatan” selanjutnya dan lanjutkan dengan kembali ke step 3.
2. Pohon
  • T masih kosong .
  • 2. pilih sisi (i,j) dengan bobot minimum.
  • 3. pilih sisi (i,j) dengan bobot minimum berikutnya yang tidak membentuk
  • cycle di T, tambahkan (i,j) ke T.
  • 4. Ulangi langkah 3 sebanyak (n-2) kali.
  • 5. Total langkah (n-1) kali

C. Contoh


1. Graf





2. Pohon











Rabu, 05 Juni 2019

Alpro Buble dan Quick Sorting

Buble Dan Quick Sorting



A. Pengertian Buble Sorting Dan Quick Sorting

  1. Buble Sorting (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.
  2. Quick Sorting merupakan suatu algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, sehingga metode ini disebut juga dengan nama partition exchange sort. Untuk memulai irterasi pengurutan, pertama-tama sebuah elemen dipilih dari data,  kemudian elemen-elemen data akan diurutkan diatur sedemikian rupa.Metode Quick sering disebut juga metode partisi (partition exchange sort). Metode ini mempunyai efektifitas yang tinggi dengan teknik menukarkan dua elemen dengan jarak yang cukup besar. Metode pengurutan quick sort dapat diimplementasikan dalam bentuk non rekursif dan rekursif.

B. Algoritma Buble Sorting Dan Quick Sorting

1. Bubld Sorting

  • Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritme menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (A-Z).
  • Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 … ; n-1 dgn n
  • Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.
  • Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.
2. Quick Sorting
  • Prinsip dalam algoritma quicksort sebagai berikut (diuraikan pula oleh Sedegwick):· Bila elemen dalam array kurang dari jumlah tertentu (biasanya 2), proses selesai.
  •  Ambil sebuah elemen yang berfungsi sebagai poros.
  •  Pisahkan array dalam 2 bagian, sebelah kiri lebih kecil dari poros, sebelah kanan lebih besar dari poros.
  •  Ulangi proses secara rekursif pada tiap-tiap bagian.

C.  Contoh Buble Sorting Dan Quick Sorting




















Selasa, 30 April 2019

Alpro Keren

Searching Binary


1. Pengertian Searching Binary

         Binary search adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.

2. Cara Pencarian Dari  Binary 

  1. Memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
  2. Beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah.
  3. Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
  4. Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut.

3. Algoritma Searching Binary

  1. Pertama-tama diambil posisi awal 0 dan posisi akhir = N - 1, N merupakan jumlah data. kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah.
  2. Kemudian kita cari posisi data tengah dengan rumus posisi tengah yaitu = (posisi awal + posisi akhir ) /2.
  3. Lalu data yang di cari akan dibandingkan dengan data tengah.
  4. Jika sama, data ditemukan, Proses selesai.
  5. Jika lebih kecil, maka proses akan dilakukan kembali tetapi, posisi akhir dianggap sama dengan posisi tengah -1.
  6. Jika lebih besar pun proses akan dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1.
  7.  Mengulang dari langkah kedua sampai data ditemukan, atau tidak ditemukan.
  8.  Searching binery ini akan berakhir jika data ditemukan posisi awal lebih besar dari pada posisi akhir. Jika posisi awal sudah lebih besar dari posisis akhir berarti data tidak ditemukan.

4. Contoh Searching Binary

Data = 4 6 11 14 16

x = 16

Penyelesaian :
  • N =5 
  • awal = 0, akhir =5 -1=4. akhir>awal.
  • tengah = (0 + 4)/2 = 2.
  • x .......data[tengah] = x ........data[2]
  •                                =16    >     11 
  •                       awal  = tengah + 1
  •                       awal  = 2 + 1 = 3
  • awal = 3, akhir =5 -1=4. akhir>awal.
  • tengah = (3 + 4)/2 = 3.
  • x .......data[tengah] = x ........data[3]
  •                                =16    >     14 
  •                       awal  = tengah + 1
  •                       awal  = 3 + 1 = 3
  • awal = 4, akhir =5 -1=4. akhir = awal.
  • tengah = (4 + 4)/2 = 4.
  • x .......data[tengah] = x ........data[4]
  •                                =16 ==  16
  • tengah+1= 4+1= 5
  • Data 16 terdapat pada posisi 5.
     Pada proses  program terbaca  dari 0 karena array dimulai dari 0. sedangkan untuk tampilan pada program di mulai dari 1.

4. Contoh Program







Refernsi:


2. http://blog-sharings.blogspot.com/2012/07/konsep-binary-search.html



Minggu, 21 April 2019

kesukaan ku

 Sequensial Searcing



A. Pengertian Sequensial Searcing

Metode pencarian informasi dalam suatu aplikasi, dengan suatu kunci(key), dengan mencari data yang ada didalam komputer. Pencarian informasi khusus dari table pada saat lokasi dari informasi tersebut sebelumnya tidak diketahui. Pencarian dinyatakan dengan referensi pada adanya sekelompok informasi yang tersimpan secara terorganisasi. Dalam kehidupan sehari-hari kita juga sering melakukan kegiatan searchingseperti mencari data atau informasi yang ada di internet.

B. Metode Sequential Searching

Metode sequential search/pencarian beruntun  adalah pencarian di dalam linier yang merupakan pencarian dengan mode paling simple. Pencarian beruntun yang digunakan untuk melakukan pencarian data, baik pada array yang sudah terurut urut maupun belum terurut.  Proses yang terjadi pada metode in adalah :
a.       Membaca array data
b.      Menetukan data yang di cari
      Mulai dari data pertama sampai dengan data terakhir, data yang di cari dibandingkan masing-masing data dalam array.
a.    Jika data dicari tidak ditemukan, maka semua data atau elemen array di bandingkan sampai selesai
b.    Jika data yang di cari di temukan maka perbandingan akan dihentikan.

c. Kekurangan Dan Kelebihan Sequential Searcing

1.      Kelebihan Sequential Searching bisa dikatakan lebih mudah dalam implementasinya dalam pemrograman.
2.      Kekurangannya jika data yang terdapat dalam suatu array itu sangat banyak, maka akan diperlukan waktu yang lebih lama untuk membandingkan data yang dicari dengan jumlah data yang sangat banyak dalam suatu array.

D. Listing Program

1. Coding

#include <iostream>
#include <stdlib.h>

using namespace std;

main ()
{
    int i,j,mp[10],harga[10], golek;
    string np [10],op[10];

        cout<< "Selamat Datang Ponsel Joujau"<<endl;
        cout<< " Menu Operator Yang Tersedia ;"<<endl;
        cout<< "1. Telkomsel   = Rp. 25.000"<<endl;
        cout<< "2. XL          = Rp. 20.000"<<endl;
        cout<< "3. IM3         = Rp. 22.000"<<endl;
        cout<< "4. TRI         = Rp. 18.000"<<endl;
        cout<< "5. Smartfrind  = RP. 15.000"<<endl;

        cout<< "Memasukkan Jumlah Pembeli :"; cin>>i;
        for(j=0; j<i; j++)
        {
            pertama:
            cout<< "Pembeli ke-  :"<<j+1<<endl;
            cout<< "Nama Pembeli              :"; cin>>np[j];
            cout<< "Memasukkan Operator       :"; cin>>mp[j];
            if(mp[j]==1)
            {
                op[j]="Telkomsel";
                harga[j]=25000;
            }
            else if(mp[j]==2)
            {
                op[j]=" XL";
                harga[j]=20000;
            }
            else if(mp[j]==3)
            {
                op[j]=" IM3 ";
                harga[j]=22000;
            }
            else if(mp[j]==4)
            {
                op[j]=" TRI ";
                harga[j]=18000;
            }
            else if(mp[j]==5)
            {
                op[j]=" Smartfrind ";
                harga[j]=15000;
            }
            else
            {
                cout<<" operator yang kamu pilih tidak ada" <<endl;
                cout<<" silahkan pilih operator yang tersedia" <<endl;
                goto pertama;
            }
        }
        system("cls");
        cout<<" Kategori : "<<endl;
        cout<<" 1. nama " <<endl;
        cout<<" 2. nama operator"<<endl;
        cout<<" Pilih kategori pencarian : ";cin>>golek;
        if(golek==1)
        {
            cout<<"masukkan nama : ";cin>>peng;
            j=0;
            ulang:
                if(j!=i)
                {
                    if(np[j]==peng)
                    {
                        for (j=0;j<i;j++)
                        {
                            if(np[j]==peng)
                                cout<<" Membeli kartu operator "<<mp[j]<<"  Rp. "<<harga[j]<<endl<<endl;
                        }
                    }
                    else
                    {
                        j++;goto ulang;
                    }
                }

        }
        else if (golek==2)
        {

            cout<< "1. Telkomsel   = Rp. 25.000"<<endl;
            cout<< "2. XL          = Rp. 20.000"<<endl;
            cout<< "3. IM3         = Rp. 22.000"<<endl;
            cout<< "4. TRI         = Rp. 18.000"<<endl;
            cout<< "5. Smartfrind  = RP. 15.000"<<endl;
            cout<<"masukkan nama kartu operator : ";cin>>kp;
            j=0;
            ulang1:
                if(j!=i)
                {
                    if(mp[j]==kp)
                    {
                        for(j=0;j<i;j++)
                        {
                            if(mp[j]==kp)
                            cout<<"yang membeli kartu operator adalah "<<nama[m]<<endl<<endl;
                        }
                    }
                    else
                    {
                        j++;goto ulang1;
                    }
                }

        }
        else
            cout<<"Data tidak ditemukan " <<endl;

        return 0;

2. Running





Referensi
}

Senin, 18 Maret 2019

Materi Neww

QUEUE



1.    Pengertian Queue
       konsep queue adalah FIFO yang merupakan singkatan dari First In First Out, artinya adalah data yang pertama kali dimasukkan atau disimpan, maka data tersebut adalah yang pertama kali akan diakses atau dikeluarkan. Analoginya sama dengan antrian di sebuah loket pembelian tiket kereta, orang yang datang lebih dahulu, maka akan dilayani terlebih dahulu, dan akan selesai lebih dulu dari orang-orang yang datang setelahnya.
2.    Operasi Penting Queue
a.       Add yang berfungsi menambah sebuah elemen ke dalam antrian.
b.   Delete yang berfungsi menghapus atau mengeluarkan elemen dari  antrian.
3.    Operasi Dasar Queue
a.       Prosedur createEmpty
               Prosedur ini berfungsi untuk mengosongkaqueue dengan cara meletakkan HEAD dan TAIL pada indeks array ke-0.
Contoh:
void createEmpty()
{
antrian.HEAD = 0;
antrian.TAIL = 0;
}
b.      Prosedur Enqueue
Prosedur ini digunakan untuk memasukkan sebuah data/ nilai ke dalam queue. Sebelum sebuah data/ nilai dimasukkan ke dalam queue, maka prosedur ini terlebih dahulu melakukan pengecekan terhadap posisi HEAD dan TAIL. Jika posisi HEAD dan TAIL masih berada pada indeks ke-0 (artinya queue masih kosong), maka prosedur ini akan menempatkan HEAD dan TAIL pada indeks ke-1 terlebih dahulu, baru setelah itu memasukkan data/ nilai ke dalam array data queue. Namun, jika posisi HEAD dan TAIL tidak berada pada posisi ke-0, maka posisi TAIL yang akan dinaikkan satu level. Jadi, pada proses enqueue, TAIL-lah yang berjalan seiring masuknya data baru ke dalam antrian, sedangkan HEAD akan tetap pada posisi ke-1.
Contoh :
void enqueue(int x)
{
if ((antrian.HEAD == 0) && (antrian.TAIL == 0))
{
antrian.HEAD = 1;
antrian.TAIL = 1;
}
else
{
antrian.TAIL = antrian.TAIL + 1;
}
antrian.data[antrian.TAIL] = x;
}

c.       Prosedur Dequeue
Prosedur ini digunakan untuk mengeluarkan atau membuang sebuah data/ nilai yang paling awal masuk (yang berada pada posisi HEAD, yakni yang paling depan dari antrian) ke dalam queue. Pekerjaan yang dilakukan oleh prosedur ini adalah menaikkan nilai HEAD satu level. Jadi, setiap satu kali data dikeluarkan, maka posisi HEAD naik bertambah satu level. Misalkan HEAD berada pada indeks ke-1, maka ketika akan mengeluarkan/ menghapus data pada posisi paling depan (pada posisi HEAD), prosedur ini akan menaikkan posisi HEAD ke indeks array ke-2.
Contoh:
void Dequeue(){
if (q.head > q.tail) {
q.head = 0;
q.tail = 0;
}
q.head = q.head + 1;
}.
   Posisi HEAD sudah melewati posisi TAIL (HEAD > TAIL), berarti sudah tidak ada lagi data/ nilai di dalam queue tersebut, maka saat itu terjadi, HEAD dan TAIL dikembalikan ke posisi ke-0.
d.      Fungsi IsEmpty
   Fungsi ini berfungsi untuk melakukan pengecekan terhadap queue,  apakah queue tersebut kosong atau tidak. Jika queuetersebut kosong (artinya, HEAD dan TAIL berada pada posisi 0, atau bisa juga ketika HEAD > TAIL), maka fungsi akan mengembalikan nilai 1 (true), tetapi jika queue tersebut tidak kosong/ berisi (artinya, HEAD dan TAIL tidak berada pada posisi 0), maka fungsi akan mengembalikan nilai 0 (false).
Contoh:
int IsEmpty()
{
if ((antrian.HEAD> antrian.TAIL) || (antrian.HEAD == 0) &&
(antrian.TAIL == 0))
return 1;
else
return 0;
}
e.       Fungsi IsFull
Fungsi ini berfungsi untuk melakukan pengecekan terhadap queue, apakah queuetersebut penuh atau tidak. Jika queue tersebut penuh (artinya, TAIL berada pada posisi MAX), maka fungsi akan mengembalikan nilai 1 (true), tetapi jika queuetersebut tidak penuh (artinya, TAIL tidak berada pada posisi MAX), maka fungsi akan mengembalikan nilai 0 (false).
Contoh :
Int IsFull()
{
if (antrian.TAIL == max)
return 1;
else
return 0;
}.


Belajar Blog di Martikulasi MABA 2022

MARTIKULASI MABA 2022 Ini adalah pertama kali saya membuat blog, ini pengalaman yang sangat mengesankan untuk saya, karena saya bisa membu...