Heartless Background Teknik Informatika Wavy Tail Heartless Background Heartless Background

Sunday, March 3, 2019

STACK

Implementasi Stack di C++

è PUSH : simpan,masuk,insert, tulis
è POP   : ambil,keluar,delete baca
Stack memiliki 2 jenis yaitu :
·         Single stack
·         Double stack
    1.Single stack
Single dapat di presentasikan menggunakan array satu dimensi. Kondisi stack di tentukan oleh posisi atau isi top.
Proses pada single satck yaitu :
·         Awal (inisialisasi)
·         PUSH (Insert,Masuk,Simpan,Tulis)
·         POP(Delete,Keluar,Ambil,Baca/Hapus)
 
2.  Double stack

Double stack disebut juga stack ganda prinsip proses dari double stack yaitu LIFO baik dalam single stack maupun untuk double stack.
Proses pada Double Stack :
·         AWAL (Inisialisasi)
·         PUSH 1 (Push untuk stack 1)
·         POP 1 (pop untukstack 1)
·         PUSH 2 (Push untuk stack 2)
·         POP 2(Pop untuk stack 2)

Kondisi Double stack

Operasi Pada Stack

Operasi utama pada stack yaitu push untuk menambahkan data ke dalam stack dan pop untuk mengeluarkan atau menghapus data dari stack.

1. Menambahkan Data Ke stack

Proses penambahan data ke dalam stack disebut operasi Push.
Langkah - langkah operasi push diantaranya.
  1. Memeriksa apakah tumpukan(stack) penuh
  2. Jika tumpukan penuh, maka sudah tidak ada ruang untuk memasukkan data ke tumpukan, jadi cukup tampilkan pesan bahwa tumpukan sudah penuh.
  3. Jika masih ada ruang, tambahkan satu nilai pada atas(top) tumpukan untuk menunjukkan ke ruang kosong selanjutnya
  4. Menambahkan data dimana ruang kosong yang telah ditunjuk oleh top.

2. Menghapus Data dari stack

Mengambil data bersamaan dengan menghapus data dari stack disebut dengan operasi pop.
Elemen pada stack tidak benar - benar terhapus hanya saja penunjuk ruang(top) di kurangi nilainya dengan satu. Tapi pada implementasi stack sendiri pop akan benar-benar menghapus data tersebut dari tumpukan.
Langkah - langkah operasi pop diantaranya.
  1. Memeriksa apakah tumpukan kosong.
  2. Jika tumpukan kosong, maka sudah tidak ada lagi data untuk dihapus, maka cukup tampilkan pesan bahwa tumpukan kosong.
  3. Jika masih ada data pada tumpukan, maka akses data yang paling atas (top)
  4. kemudian mengurangi nilai penunjuk top.
Program Stack
  1. Untuk mengimplementasikan program stack di C++ kita membutuhkan tiga method atau fungsi push(); untuk menambahkan data ke tumpukan, pop(); untuk me ngeluarkan data dari tumpukan dan printStack() untuk menampilkan data yang ada di tumpukan.
  2. Selain tiga fungsi tersebut, kita akan membuat dua fungsi opsional untuk mengecek apakah tumpukan kosong isEmpty() dan tumpukan penuh isFull().
  3. Untuk menyimpan data kita bisa menggunakan empty array dengan maksimum array yang nanti akan kita definisikan sebagai maksimum tumpukan.
  4. Agar data tumpukannya terstruktur kita bisa menggunakan struct sehingga lebih mudah mengakses data top dan array datanya sendiri seperti sebuah object.
  5. Karena ini adalah program konsole maka tentu kita juga akan membuat fungsi main().

Kode Program Stack

1. Preprocessor dan Headerfile

#include <iostream>
#define MAX 10
using namespace std;
Disini kita hanya menggunakan dua baris preprocessor untuk mendefinisikan header file iostream untuk standard input/output stream dan MAX untuk maksimum data array pada stack/tumpukan.

2. Struct data

//Deklarasi struct tumpukan
struct Stack {
 int top, data[MAX];
}Tumpukan;
Pada struct kita mendeklarasikan top untuk menunjukkan data teratas pada tumpukan dan array data[] dengan jumlah array dari data maksimum yang telah di definisikan sebelumnya yaitu MAX.

3. Inisialisasi Nilai top

void init(){
 Tumpukan.top = -1;
}
Untuk memastikan penunjuk (top) berada pada posisi indeks ke 0 pada saat menambahkan data ke tumpukan maka disini kita perlu memberikan nilai awal yaitu -1.

4. Memeriksa Tumpukan

bool isEmpty() {
  return Tumpukan.top == -1;
}

bool isFull() {
 return Tumpukan.top == MAX-1;
}
Kedua fungsi ini akan digunakan untuk memeriksa apakah tumpukan penuh isFull() (fungsi pertama) dan tumpukan kosong isEmpty(), keduanya mengembalikan nilai boolean, jadi kita cukup mengembalikan nilai perbandingan pada fungsi masing - masing.
  1. Pada fungsi isEmpty() akan mengembalikan nilai true jika nilai Tumpukan.topsama dengan -1, atau false jika tidak sama.
  2. Pada fungsi isFull() akan mengembalikan nilai true jika nilai Tumpukan.topsama dengan maksimum data array yang telah ditentukan dikurang satu MAX-1, atau false jika tidak sama.

5. Menambahkan Data ke Tumpukan

void push() {
   if (isFull()) {
  cout << "\nTumpukan penuh"<<endl;
 }
 else {
    Tumpukan.top++;
    cout << "\nMasukkan data = "; cin >> Tumpukan.data[Tumpukan.top];
    cout << "Data " << Tumpukan.data[Tumpukan.top] << " masuk ke stack"<<endl;
 }
}
Untuk menginputkan data ke tumpukan hal utama yang perlu kita lakukan adalah memeriksa apakah tumpukan penuh atau tidak, jika penuh, maka kita tidak dapat menambahkan data ke tumpukan karena sudah tidak ada ruang lagi yang tersedia. Jadi cukup tampilkan pesan bahwa Tumpukannya penuh.
Jika masih ada ruang maka tambahkan nilai Tumpukan.top dengan 1. Kemudian masukkan data ke ruang yang ditunjukkan oleh top.

6. Mengambil Data dari Tumpukan

void pop() {
 if (isEmpty()) {
  cout << "\nData kosong\n"<<endl;
 }
 else {
    cout << "\nData "<<Tumpukan.data[Tumpukan.top]<<"sudah terambil"<<endl;
    Tumpukan.top--;
 }
}
Sebelum mengambil data, kita perlu memeriksa apakah tumpukan kosong atau tidak, karena kita tidak dapat mengambil data yang tidak ada pada tumpukan.
Jika tumpukan kosong maka cukup tampilkan pesan bahwa tidak ada data di tumpukan tersebut.
Jika masih ada data pad tumpukan maka Tampilkan data dengan mengambil data teratas dari tumpukkan dan menghapus data tersebut dengan mengurangi nilai top.

7. Menampilkan data pada tumpukan

void printStack() {
 if (isEmpty()) {
  cout << "Tumpukan kosong";
 }
 else {
    cout << "\nTumpukan : ";
  for (int i = Tumpukan.top; i >= 0; i--)
   cout << Tumpukan.data[i] << ((i == 0) ? "" : ",");
 }
}
Sama halnya pada saat mengambil data dari tumpukan, kita juga perlu memeriksa apakah tumpukan tersebut kosong atau tidak.
Jika tidak ada data di tumpukan maka tampilkan pesan bahwa Tumpukan kosong dan data tidak dapat di tampilkan.
Jika masih ada data maka tampilkan data satu -persatu dari tumpukan dengan menggunakan perulangan.

8. Menampilkan Menu

int main() {
 int pilihan;
 init();
 do {
    printStack();
  cout << "\n1. Input (Push)\n"
        <<"2. Hapus (Pop)\n"
        <<"3. Keluar\n"
        <<"Masukkan Pilihan: ";
  cin >> pilihan;
  switch (pilihan)
  {
  case 1:
   push();
   break;
  case 2:
   pop();
   break;
  default:
      cout << "Pilihan tidak tersedia" << endl;
   break;
  }
 } while (pilihan!=3);
}
Setelah semua data, variabel dan fungsi selesai kita deklarasikan dan di inisialisasikan, selanjutnya kita bisa membuat menu dengan do ... while dengan switch di dalamnya.
Sebelum menampilkan menu disini kita menampilkan data yang ada di stack menggunakan printStack(), sehingga user dapat melihat data pada tumpukan.
Selanjunya menampilkan pilihan menu, jika user memilih pilihan pertama maka jalankan fungsi push() dan pilihan kedua akan menjalankan fungsi pop(). Selama pilihan user tidak sama dengan 3 yaitu pilihan ketiga maka fungsi printStack()dan menu akan terus ditampilkan. Jika user memilih pilihan ketiga, maka while akan berhenti menampilkan menu dan aplikasi akan ditutup.

Referensi :   http://belajar-pemrograman-new.blogspot.com/p/stack.html

Monday, February 25, 2019

POINTER


A. Pengertian Pointer 
     Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. 
Intinya :

-  Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
-  Variabel pointer berisi suatu(alokasi memory). 
B. Alamat Dari Variabel
Misalkan kamu memiliki variabel x dan terletak di memori 0x000001. Jika kamu ingin memasukkan nilai 100 kedalam variabel x, maka processor harus membawa nilai 100 tersebut kedalam variabel x yang terletak di alamat memori 0x000001. Hal yang perlu kamu ketahui adalah, setiap variabel ternyata memiliki ukuran byte yang berbeda-beda dalam memori. Sebagai contoh suatu variabel bertipe int memiliki ukuran 4 byte dalam memori. Maka variabel tersebut akan menempati 4 kapling lokasi dalam memori, misalkan 0x000001, 0x000002, 0x000003, dan 0x000004. Jika terdapat dua buah variabel bertipe int yang bersebelahan, maka alamat variabel pertama terletak di 0x000001 dan variabel kedua terletak dialamat 0x000005.
Memori menggunakan bilangan heksadesimal yang ditandai dengan awalan ‘0x’, sehingga jika suatu variabel menempati blok kesepuluh dalam memori, maka alamatnya adalah 0x00000a

C. Fungsi Pointer  
Kegunaan pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variabel dan alamat 
dari sebuah fungsi. Pointer dapat meningkatkan kinerja untuk operasi yang dilakukan secara berulang. 

D. Operator Pointer  
Ada 2 operator pointer yang dikenal secara luas, yaitu operator “&” dan operator “*”.  
a.  Operator &   
Operator  &  merupakan  operator  alamat.  Pada  saat  pendeklarasian  variabel,    user  tidak 
diharuskan  menentukan  lokasi  sesungguhnya  pada  memory,  hal  ini  akan  dilakukan  secara 
otomatis oleh kompiler dan operating sysem pada saat run-time.   
Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan  memberikan 
tanda ampersand (&) didepan variable , yang berarti "address of". 
Contoh : 
Misalkan variabel DATA_1 diletakkan pada alamat memory 1770, kemudian dituliskan instruksi 
sbb :  
         DATA_1 = 27;     à Variabel DATA_1 berisi data 27 
         DATA_2 = DATA_1;   à Variabel DATA_2 diberi isi seperti DATA_1, yaitu 27 
         DATA_3 = &DATA_1;   à Variabel DATA_3 berisi alamat memory DATA_1, yaitu 1770 

b.  Operator *  
Operator * merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses 
nilai  yang  tersimpan  secara  langsung  dengan  memberikan  awalan  operator  asterisk  (*)  pada 
identifier pointer, yang berarti "value pointed by". 

Contoh : 
Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut 
DATA_4 = *DATA_3 
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3.  
DATA_3 berisi alamat memory 1770, sementara memory 1770 menampung data bernilai 27. 
Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27. 

E. Contoh Penerapan Program 





SS Program :
















referensi : http://laraswahyu.blogspot.com/2017/05/pointer-dalam-bahasa-c-pengertian.html
https://www.sinauarduino.com/artikel/pointer-pada-pemrograman-cpp/


Thursday, February 21, 2019

struct array

Array Struct adalah suatu alogaritma program yang terbentuk dari beberapa kumpulan variabel yang memiliki tipe data yang sama maupun berbeda dan membentuk suatu kelompok baru yang lebih terstruktur. Meskipun memiliki pengertian yang hampir sama, Arraydan Struct tidaklah sama. Perbedaannya adalah Array hanya bisa mengelompokan data yang sejenis , sedangkan Struct dapat mengelompokan beberapa jenis data.
Contoh Array Struct dalam kehidupan sehari-hari misalnya Mahasiswa. Mahasiswa memiliki data-data tersendiri didalamnya, seperti : Nama, Umur, Jenis Kelamin, No Induk Mahasiswa dan lain-lain. Kita bisa mengatakan bahwa Mahasiswa adalah Kelompok utama (Main Struct) dan Nama, Umur, Jenis Kelamin, No Induk Mahasiswa adalah bagian-bagian dari Kelompok utama tersebut.
Kira-kira seperti itulah analogi dari Array Struct ini, baiklah sekarang kita akan melangkah lebih jauh tentang Array Struct. Array Struct memiliki beberapa bagian penting agar suatu program Struct dapat berjalan dengan baik. diantaranya adalah :

Deklarasi : Adalah bagian dimana kita mendeklarasikan Main Struct dan Sub Struct. untuk Struktur penulisannnya bisa dilihat dibawah ini. 

RodeBlog - Coding Galau
Struktur Penulisan Struct

RodeBlog - Coding Galau
Contoh Penulisan Struct

RodeBlog - Coding Galau
Contoh Penulisan Struct yang menggunakan Array


Akses (Memanggil Struct) : Adalah bagian dimana kita akan mengakses variabel-variabel yang telah didefinisikan pada Main Struct. Perhatikan contoh dan Struktur pemanggilannya dibawah ini

Struktur pemanggilan Struct

RodeBlog - Coding Galau
Contoh Pemanggilan Struct
RodeBlog - Coding Galau
Contoh Pemanggilan Struct data Array

Sunday, February 17, 2019

Jaringan Komputer

Pengertian Jaringan Komputer
         Jaringan Komputer merupakankumpulan dari komputer, perangkat komputer (baik software maupun hardware) serta perangkat lainnya yang saling terhubung satu sama lain. Dalam sebuah jaringan memungkinkan sebuah komputer dapat berinteraksi atau berkomunikasi dengan komputer lainnya, dan juga memungkinkan adanya interaksi antara komputer dengan perangkat yang ada di jaringan komputer tersebut. 
            Secara sederhana Jaringan Komputer mempunyai gambaran seperti berikut ini. Dua buah komputer atau lebih yang masing-masing memiliki Kartu Jaringan(NIC=Network Interface Card), kemudian dihubungkan dengan menggunakan kabel atau nirkabel sebagai media transmisi data. Dalam jaringan tersebut terdapat sebuah perangkat lunak (software) sistem operasi jaringan yang dapat menghubungkan komputer-komputer tersebut. Rangkaian sederhana seperti di atas sudah bisa dikatakan sebagai sebuah jaringan komputer, tentunya sebuah jaringan komputer yang sederhana. Setiap komputer atau perangkat jaringan yang terhubung dengan jaringan disebut node. Sebuah jaringan komputer dapat memiliki dua, puluhan, ribuan atau bahkan jutaan node. 
         Dengan adanya jaringan komputer ini banyak keuntungan yang akan kita dapatkan, contohnya pertukaran data antar komputer atau perangkat dalam sebuah jaringan, sharing perangkat, sharing program, dan lain sebagainya. Selain beberapa contoh di atas tentu masih banyak lagi kegunaan dari sebuah jaringan komputer. Untuk pembahasan lengkapnya akan kita bahas dalam pertemuan berikutnya. Semoga artikel singkat tentang pengertian jaringan komputer ini bermanfaat buat Anda.
 
Manfaat yang didapat dalam membangun jaringan komputer, yaitu :

  •  Sharing resources
Sharing resources bertujuan agar seluruh program, peralatan atau peripheral lainnya dapat dimanfaatkan oleh setiap orang yang ada pada jaringan komputer tanpa terpengaruh oleh lokasi maupun pengaruh dari pemakai.
  • Media Komunikasi
Jaringan komputer memungkinkan terjadinya komunikasi antar pengguna, baik untuk teleconference maupun untuk mengirim pesan atau informasi yang penting lainnya.
  •  Integrasi Data
Jaringan komputer dapat mencegah ketergantungan pada komputer pusat, karena setiap proses data tidak harus dilakukan pada satu komputer saja, melainkan dapat didistribusikan ke tempat lainnya. Oleh sebab inilah maka dapat terbentuk data yang terintegrasi yang memudahkan pemakai untuk memperoleh dan mengolah informasi setiap saat.
  • Pengembangan dan Pemeliharaan
Pengembangan peralatan dapat dilakukan dengan mudah dan menghemat biaya, karena setiap pembelian komponen seperti printer, maka tidak perlu membeli printer sejumlah komputer yang ada tetapi cukup satu buah karena printer itu dapat digunakan secara bersama – sama. Jaringan komputer juga memudahkan pemakai dalam merawat harddisk dan peralatan lainnya, misalnya untuk memberikan perlindungan terhadap serangan virus maka pemakai cukup memusatkan perhatian pada harddisk yang ada pada komputer pusat.
  • Keamanan Data
Sistem Jaringan Komputer dapat memberikan perlindungan terhadap data. Karena pemberian dan pengaturan hak akses kepada para pemakai, serta teknik perlindungan terhadap harddisk sehingga data mendapatkan perlindungan yang efektif.
  •  Sumber Daya Lebih Efisien dan Informasi Terkini
Dengan pemakaian sumber daya secara bersama – sama, akan mendapatkan hasil yang maksimal dan kualitas yang tinggi. Selain itu data atau informasi yang diakses selalu terbaru, karena setiap ada perubahan yang terjadi dapat segera langsung diketahui oleh setiap pemakai.

Fungsi Jaringan Komputer
Banyak hal yang bisa kita manfaatkan dengan adanya jaringan komputer, terdapat banyak fungsi dari jaringan komputer itu sendiri yang diantaranya :
  • Mempercepat proses berbagi data (sharing data). Transfer data pada jaringan selalu lebih cepat dibandingkan sarana berbagi data lainnya yang bukan jaringan. Hal ini sangat mempermudah user dalam memperoleh data yang diinginkan.
  • Lebih hemat dari segi biaya atau sumber daya lebih efisien dari metodhe / cara lain. Misalnya, dengan satu printer dapat digunakan untuk banyak pengguna /user.
  • Menjaga informasi agar tetap andal dan up-to-date. Sistem penyimpanan data terpusat yang dikelola dengan baik oleh komputer server memungkinkan banyak pengguna mengaskses data dari berbagai lokasi yang berbeda, dan membatasi akses ke data sewaktu sedang diproses. Hal ini sudah diterapkan di dunia perusahaan ataupun instansi pemerintahan, dengan begitu data akan lebih mudah diakses dan membantu proses dalam pengerjaannya.

Jenis-jenis Jaringan Komputer

1. PAN (Personal Area Network)
Jenis-jenis Jaringan Komputer PAN, LAN, MAN dan WAN
PAN adalah singkatan dari personal area network. Jenis jaringan komputer PAN adalah hubungan antara dua atau lebih sistem komputer yang berjarak tidak terlalu jauh. Biasanya Jenis jaringan yang satu ini hanya berjarak 4 sampai 6 meter saja. Jenis jaringan ini sangat sering kita gunakan. contohnya menghubungkan hp dengan komputer.
2. LAN (Lokal Area Network)
Jenis-jenis Jaringan Komputer PAN, LAN, MAN dan WAN
LAN adalah singkatan dari lokal area network. Jenis jaringan LAN ini sangat sering kita temui di warnet-warnet, kampus, sekolah ataupun perkantoran yang membutuhkan hubungan atau koneksi antara dua komputer atau lebih dalam suatu ruangan.
3. MAN (Metropolitan Area Network)
 
Jenis-jenis Jaringan Komputer MAN
MAN singkatan dari metropolitan area network. Jenis jaringan komputer MAN ini adalah suatu jaringan komputer dalam suatu kota dengan transfer data berkecepatan tinggi yang menghubungkan suatu lokasi seperti sekolah, kampus, perkantoran dan pemerintahan. Sebenarnya jaringan MAN ini adalah gabungan dari beberapa jaringan LAN. Jangkauan dari jaringan MAN ini bisa mencapai 10 – 50 kilo meter.
4. WAN (Wide Area Network)
Jenis-jenis Jaringan Komputer WAN
WAN singkatan dari wide area network. WAN adalah jenis jaringan komputer yang mencakup area yang cukup besar. contohnya adalah jaringan yang menghubugkan suatu wilayah atau suatu negara dengan negara lainnya.

ALGORITMA PEMROGRAMAN 2

Struktur (struct)

Definisi Struktur (struct) sendiri adalah kumpulan dari variabel yang dinyatakan dengan sebuah nama , dengan sifat setiap variabel dapat memiliki tipe yang berlainan.
Dalam pemrograman C++, jika kita membuat suatu program yang memerlukan berbagai tipe data yang akan digunakan. Tentunya dengan nama variable yang banyak pula. Dalam program yang sederhana, jika kita manggunakan sedikit variable tentu tidak jadi masalah. Akan tetapi jika kita akan membuat sebuah program yang lebih kompleks, dengan berbagai macam nama dan tipe variable dalam pendeklarasianya. Dengan struct, kita bisa mengelompokkan berbagai nama dan tipe variable tersebut sesuai dengan kelompoknya. Hal ini tentunya bisa berguna untuk memudahkan dalam mengelompokkan sebuah variable. Sebagai contoh umum, ada terdapat berbagai nama variable : nama, npm, alamat, dll. Variabel – variable tersebut dapat kita kelompokkan menjadi satu dengan nama data_mahasiswa. Kemudian jika terdapat variable mata_kuliah, nilai, sks, kelas, dll dapat kita kelompokkan menjadi satu dengan nama krs. Itulah sebagian gambaran umum tentang struct. Masih bingung karena bahasa yang terlalu beribet? Klo gitu, Langsung saja ke teori. Okey..
Dalam mendeklarasikan struct, ada beberapa cara penulisan yang biasa digunakan.
Pertama :
struct nama_struct {
tipe_data_1 nama_var_1;
tipe_data_2 nama_var_2;
tipe_data_3 nama_var_3;
……
};
Yang kedua adalah dengan deklarasi menggunakan typedef.
typedef struct {
tipe_data_1 nama_var_1;
.
.
tipe_data_n nama_var_n;
} nama_struct;
Kemudian untuk mendeklarasikan sebuah variable dengan tipe data struct yang telah dibuat sebelumnya adalah :
struct tipe_struct nama_variabel;
Jika pendeklarasian struct sebelumnya menggunakan typedef, maka untuk mendeklarasikan sebuah variable dengan tipe data struct adalah :
tipe_struct nama_variabel;
Dan untuk mengakses sebuah struct adalah dengan menggunakan operator titik (.)
nama_var_struct . nama_var_elemen;

CONTOH PROGRAM

Program untuk memasukkan data mahasiswa.
Source code :
#include<iostream>

using namespace std;

struct waktu//nama struct adalah "waktu"
{
    int tanggal;
    int bulan;
    int tahun;
    string hari;
};

struct mahasiswa
{
    string nama;
    int nim;
    string prodi;
    string kelas;
}mhs;

int main ()
{
    mhs.nama="DAVID";
    mhs.nim=1801301067;
    mhs.prodi="TI";
    mhs.kelas="TIA";

    cout<<" Mahasiswa berikut bernama "<<mhs.nama;
    cout<<" dengan NIM "<<mhs.nim;
    cout<<" dia di prodi "<<mhs.prodi;
    cout<<" dia masuk kelas "<<mhs.kelas;

    cout<<endl;
}
Output Program


KONFIGURASI IP ADDRESS CLEAROS

A ssallamualaikum Wr. Wb. Hay Sobat semua, jumpa kembali dengan saya, disini saya akan berbagi tentang konfigurasi Database Server C...