Saturday, January 26, 2019

C++ Programming 5 - Switch Case Statement Di C++ (Practice)

Assalamu'alaikum

Selamat siang, salam programming. Melanjutkan pembahasan mengenai switch case condition yang sudah di bahas sebelumnya. Cek link berikut untuk kilas balik. Di kesempatan kali ini saya akan membahas kondisi seperti apa yang cocok untuk menggunakan struktur pemrograman switch case condition. Langsung saja, berikut pembahasannya.

DBMS Query Translation - Kalkulus Relational Domain

Assalamu'alaikum

Selamat malam, membahas kembali mengenai DBMS Query Translation. Di pembahasan kali ini kita akan membahas mengenai kalkulus relational domain. Hampir sama dengan kalkulus relational tuple, hanya penulisan struktur kalkulusnya saja yang berbeda. Pembahasan kali ini merupakan lanjutan dari pembahasan kalkulus relational tuple, klik link berikut untuk review terlebih dahulu mengenai apa itu kalkulus relational dan kalkulus relational tuple.  

Friday, January 25, 2019

Perancangan, Pengembangan, Perawatan Database dan SDLC pada Database

Assalamu'alaikum

Selamat siang, jumpa lagi dengan pembahasan database atau basis data dan masih bersama saya ea ea ea. Di pembahasan kali ini saya ingin membahas mengenai perancangan, pengembangan dan perawatan database atau istilah yang lebih dikenalnya adalah SDLC yaitu Software/System Development Life Cycle yang lebih mengartikan kepada putaran kehidupan sebuah software yang beroperasi dengan baik.

Thursday, January 24, 2019

C++ Programming 7 - Nested Looping

Assalamu'alaikum

Selamat siang, salam programming. Jumpa lagi di pembahasan selanjutnya.  Masih melanjutkan pembahasan mengenai perulangan, namun di pembasan kali ini kita akan membuat perulangan di dalam perulangan. Hal ini sering disebut sebagai nested looping (Perulangan Bersarang). Sebagai catatan untuk anda sekalian, struktur perulangan ini adalah sesuatu yang minimal harus di kuasai di dalam programming karena banyak dibutuhkannya struktur ini terhadap berbagai kondisi. 

Nested Looping

Seperti yang sudah saya jelaskan sebelumnya, nested looping adalah perulangan di dalam perulangan sehingga membentuk banyak perulangan yang harus di proses. Perulangan bersarang pada  C++ memungkinkan untuk dibuat sebanyak 256 tingkat perulangan bersarang. 


Syntax yang digunakan untuk nested for loop pada c++ 
for(init; condition; increment){
    statement(s);
       for(init; condition; increment){
        statement(s);
       }
       statement(s);
}
Syntax yang digunakan untuk nested do  ... while loop pada c++
do{
       statement(s);
       do{
        statement(s);
       }  
    while( condition );
} while( condition );

How Nested Loops Works?

Lalu bagaimana perulangan bersarang bekerja? Semisal disini kita berikan contoh syntax sebagai berikut. 

#include <iostream>
using namespace std;

int main(){
    for (int i=1; i<=3; i++){  //loop terluar
        for (int j=1; j<=3; j++){  //loop didalam
            cout << i << "   " << j << endl;
        }
    cout << endl;  
    }
}


Nested loop bekerja dengan membaca loop terluar dilanjutkan loop didalamnya. Sebelum perulangan loop ke-2 terluar dimulai, diselesaikan terlebih dahulu loop di dalam sesuai kondisi nilai akhirnya. Jika sudah baru dilakukan loop terluar lalu dilanjutkan kembali loop di dalam. Sruktur perulangan akan bekerja terus seperti itu sampai kondisi telah mencapai nilai akhir.

Contoh

Buatlah bilangan program deret agar menghasilkan seperti contoh berikut ini.
1 2 3 4
1 2 3 4 
1 2 3 4
#include <iostream>
using namespace std;

int main (){
       int a, b;
       for (a=1; a<=3; a++) {
           for (b=1; b<=4; b++) {
               cout << b << " ";
        }
    cout << endl;
       }
    return 0;
}

Kesimpulannya, nested loop adalah struktur perulangan yang digunakan di beberapa kondisi untuk menyelesaikan sebuah algoritma permasalahan pada programming. Demikian penjelasan mengenai nested loop atau perulangan bersarang. Semoga bermanfaat. Kurang lebih mohon dimaafkan, sampai bertemu lagi di pembahasan berikutnya, salam programming.

C++ Programming 6 - Loops / Perulangan di C++

Assalamu'alaikum

Selamat pagi gaiss, salam programming. Pagi kali ini kita akan membahas tentang struktur loops atau perulangan dalam bahasa indonesianya. Perulangan merupakan salah satu program yang harus dikuasai karena banyak program yang sangat bergantung menggunakan loops/perulangan ini. Seperti contohnya array, pointer dll yang nantinya akan kita bahas satu persatu. Langsung saja apa itu struktur perulangan dan bagaimana penggunaannya.

Wednesday, January 23, 2019

C++ Programming 4 - IF Else Di C++ (Practice)

Assalamu'alaikum

Selamat siang, salam programming. Melanjutkan pembahasan materi program IF Else Tempo hari, di pertemuan artikel kali ini kita akan membahas beberapa kasus yang menggunakan program if else. Sebagai latihan ada baiknya jika kalian coba testing program yang kalian rancang dan membandingkan dengan pseducode yang saya berikan. Langsung saja berikut pembahasannya.

Keamanan Database (Data Security)

Assalamu'alaikum

Selamat pagi, berjumpa lagi pada pembahasan mengenai database. Pembahasan yang akan dibahas kali ini mengenai keamanan database. Lho database harus diamankan kah? Jelas dong, namanya juga data. Bagi sebuah perusahaan data adalah sumber daya yang berharga yang harus dikendalikan dan dikelola dengan ketat sama sumber daya lainnya. 

Sunday, January 20, 2019

Normalisasi Model Data Relational

Assalamu'alaikum

Selamat pagi, jumpa lagi di artikel pembahasan mengenai database, kali ini saya berencana membahas tentang normalisasi pada model data relational. Normalisasi pada basis data relational merupakan sesuatu yang harus di perhatikan di karenakan basis data yang baik adalah basis data yang tidak memiliki abiguity, anomaly dan memiliki integritas data yang baik dan karena itu normalisasi dibutuhkan. 

Saturday, January 19, 2019

DBMS Query Translation - Kalkulus Relational Tuple

Assalamu'alaikum

Selamat siang, berjumpa lagi dengan pembahasan DBMS query translation. Setelah sebelumnya kita membahas tentang aljabar relational, pada kesempatan kali ini saya ingin membahas tentang kalkulus relational tuple. Karena masih sama sama bahasa query yang dipelajari namun hanya kategorinya saja yang berbeda dari aljabar relational. 

Friday, January 18, 2019

C++ Programming 5 - Switch Case Statement di C++

Assalamu'alaikum

Selamat siang, salam programming. Jumpa lagi di pertemuan programming basic. Kali ini saya akan membahas tentang switch case statement. Fungsinya hampir sama seperti program if else hanya saja penggunaannya yang berbeda. Langsung saja, bagaimana menjalankan switch case statement di c++ berikut penjelasannya. 



Switch Case

Pada dasarnya switch case dan if else (pembahasan sebelumnya) merupakan materi yang membahas tentang struktur percabangan. Maksud dari struktur percabangan adalah memberikan suatu keputusan terhadap suatu kondisi. Bedanya dengan if else, switch case statement digunakan pada kondisi untuk menyederhanakan penulisan. Biasanya switch case digunakan pada struktur percabangan yang penulisan setiap kondisinya berupa 1 digit number.


switch(kondisi){
    case 1 :
        pernyataan1;
        break;
    case 2 :
        Pernyataan2;
        break;
    case n :
        Pernyataann;
        break;
    default :
        Pernyataan Default;      
}
Konsep Switch Case Statement
  • Masing masing pernyataan setiap case dapat di berikan 1 atau beberapa perintah sebelum di lakukan break
  • Fungsi break adalah untuk melakukan stop jika perintah yang diberikan sudah di rasa cukup untuk case tersebut. 
  • Nilai case akan berjalan jika value nilai yang di input user sesuai dengan case yang bersangkutan.
  • Untuk default case adalah jika nilai value inputan tidak ada yang cocok dengan list case yang diberikan. 


Contoh

Untuk contoh kita akan membuat program switch case nama hari beserta nomornya. Kurang lebih codingan c++ dan hasilnya akan seperti ini.

#include <iostream>
using namespace std;

int main (){
    int NomorHari;
    cout<<"Masukan Nomor Hari : "<<endl;
    cin>>NomorHari;

    switch(NomorHari){
        case 1:
            cout<<"Minggu"<<endl;
            break;
        case 2:
            cout<<"Senin"<<endl;
            break;
        case 3:
            cout<<"Selasa"<<endl;
            break;
        case 4:
            cout<<"Rabu"<<endl;
            break;
        case 5:  
            cout<<"Kamis"<<endl;
            break;
        case 6:
            cout<<"Jumat"<<endl;
            break;
        case 7:
            cout<<"Sabtu"<<endl;
            break;
        default :
            cout<<"Salah Nomor"<<endl;
    }
}

Mungkin sampai di sini penjelasan mengenai switch case statement. Semoga bermanfaat. Saran dan pertanyaan silahkan lemparkan ke kolom komentar. Sekian dari saya, terima kasih sudah berkunjung sampai bertemu di kesempatan berikutnya. Salam programming!!

Thursday, January 17, 2019

C++ Programming 4 - IF Else Di C++

Assalamu'alaikum

Selamat pagi, salam programming. Masih melanjutkan pertemuan sebelumnya, kali ini kita akan membahas materi programming pertama yaitu tentang IF ELSE. Siapkan alat perang disini saya menggunakan aplikasi Dev C++ kalian bisa download disini. Langsung saja kita bahas apa itu if else dan fungsi penggunaan programnya.

IF Sederhana

Dalam penjelasannya, if adalah sebuah struktur pemilihan yang digunakan untuk mengeksekusi sebuah kondisi. Dalam kaidahnya sederhananya, if berarti sebuah kondisi "jika" sebuah kondisi bernilai benar, maka program1 yang akan mengeksekusinya. Namun jika salah, kondisi akan diabaikan. 



Contohnya program memunculkan pesan "bilangan genap" jika kondisi yang kita berikan pada inputan keyboard yang merupakan bilangan genap atau tidaknya. Untuk algoritmanya, kita bisa menggunakan operator sisa bagi=2 sehingga kondisinya adalah hasil dari sisa bagi tersebut. Berikut codingannya :

#include <iostream>
using namespace std;

int main (){
    int x, s;
  
    cout << "Masukan bilangan bulat : ";
    cin >> x;
    s= x % 2;
  
    if (s==0){
        cout << "Bilangan tersebut genap";
    }
}

If Else 2 Penyataan (benar dan salah)

If Else adalah menjalankan kondisi dengan 2 pernyataan yang berbeda. Jika if sederhana sebelumnya hanya melakukan pernyataan jika kondisi benar namun akan diabaikan jika kondisi salah. Namun pada if else 2 kondisi kondisi salah tidak diabaikan tapi di berikan pernyataan juga.

Berikut contoh program yang menggunakan if else, mengidentifikasi nilai inputan suatu nilai ujian. Jika nilai ujian lebih besar atau sama dengan 60 maka akan diberikan pesan "lulus". Namun, jika tidak akan akan diberikan pesan "tidak lulus".


#include <iostream>
using namespace std;

int main (){
    int nilai;
  
    cout << "Masukan nilai : ";
    cin >> nilai;
  
    if (nilai >= 60){
        cout << "Lulus";
    }
    else {
        cout << "Tidak Lulus";
    }
}

IF Else Lebih Dari 1 Kondisi

If else juga dapat digunakan untuk melakukan pengecekkan kondisi lebih dari satu. Hal ini biasanya digunakan untuk melakukan listing kondisi lainnya jika ingin melibatkan lebih dari satu kondisi. Penggunaan jenis if else ini digunakan jika kondisi satu salah, maka akan di lemparkan ke kondisi kedua (else if), jika salah lagi ke kondisi ketiga (else if) dan seterusnya sampai ke kondisi default (else).




Contoh penggunaan jenis lebih dari 1 kondisi ini adalah pemberian nilai huruf di setiap nilai angka yang didapatkan. Semisal : 
  • jika mendapat nilai lebih dari atau sama dengan 90 maka skor A
  • jika mendapat nilai lebih dari atau sama dengan 70 maka skor B
  • jika mendapat nilai lebih dari atau sama dengan 60 maka skor C
  • jika mendapat nilai lebih dari atau sama dengan 50 maka skor D
#include <iostream>
using namespace std;

int main (){
    int Nilai;
    char skor;
  
    cout << "Masukan Nilai Ujian : ";
    cin >> Nilai;
  
    if (NilaiUjian >= 90){
         skor='A';
    }
    else if (NilaiUjian >= 70){
        skor='B';
    }
    else if (NilaiUjian >= 60){
        skor='C';
    }
    else if (NilaiUjian >= 50){
        skor='D';
    }
    else{
        skor='E';
    }
    cout<<"Skor : " << skor << endl;
}
Perlu di catat, untuk jenis program if else lebih dari satu kondisi sifatnya adalah sequence artinya secara listing program per kondisi (kondisi1, kondisi2, kondisi3 dst) akan membaca kondisi terlebih dahulu lalu akan langsung mengeksekusi jika sesuai dengan kondisinya. Karena hal tersebut, hal yang sama berlaku untuk program nilai diatas. Terlebih dahulu kita harus memposisikan kondisi nilai lebih besar atau sama dengan 90 di kondisi pertama agar sequencenya sesuai. 

Sekian di penjelasan kali ini mengenai struktur percabangan if else pada CPP. Semoga bisa bermanfaat untuk kita semua. Barangkali ada yang ditanyakan bisa langsung di lemparkan ke kolom komentar. Terima kasih atas kunjunganya sampai berjumpa di kesempatan berikutnya. Salam programming!!

Wednesday, January 16, 2019

Permodelan Relasi Entitas pada Model Data Relasional

Assalamu'alaikum

Selamat malam, lanjut lagi di pertemuan malam kali ini masih tentang pembahasan database. Setelah sebelumnya kita membahas logic dari permodelan data yang bersifat object, sekarang kita akan membahas logic dari model data relational pada database itu sendiri yang langsung bersifat record. Apa saja komponen model data relational dan bagaimana hubungan antar record digambarkan? Berikut penjelasannya.

Model Data Relational

Seperti yang sudah pernah di bahas sebelumnya, ada 3 jenis model data yang bersifat objek yang cukup dikenal diantaranya model data hirarki, model data jaringan, dan model data relational. Diantara ketiganya, model data relational adalah model data yang paling sering digunakan. Model data ini menggunakan RDBMS (Relational Database Management System). 



RDBMS menyediakan layanan pengorganisasian data yang mudah tetapi memiliki kemampuan penyimpanan untuk menangani jumlah data yang sangat besar. Beberapa contoh RDBMS diantaranya oracle, MS SQL Server, MySQL (Sekarang mariaDB), DB2, Ms Access. 

Model Data Relational digambarkan dalam bentuk tabel 2 dimensi yang terdiri dari baris dan kolom. Setiap baris menyimpan data dari instance yang berbeda dan setiap kolom meyimpan karakteristik dari entitas tersebut (attribute). Kumpulan model data relational (entitas) dapat berhubungan satu dengan yang lainnya, hubungan ini disebut relasi. Relasi antar entitas ini sering disebut referential integrity constraints yang melibatkan primary key dan foreign key dari entitas lainnya. 

Entitas

Entitas adalah suatu objek yang dapat dibedakan dengan objek lainnya. Entitas dapat berupa objek dengan keberadaan fisik atau objek dengan keberadaan konseptual. Contohnya sebagai berikut : 
  • Entitas dengan keberadaan fisik : mahasiswa, dosen, barang, supplier, produk dll.
  • Entitas dengan keberadaan konseptual : pemandangan, pemeriksaan, kejadian (seperti penjualan, pembelian atau transaksi), pengalaman kerja dll.
Dalam sebuah entitas terdapat karakteristik (kolom) dan instance (baris). Karakteristik merupakan attribute dari entitas, dan instance merupakan setiap data yang berbeda pada entitas yang disebutkan.
Entitas sendiri dibagi menjadi 2 jenis, yaitu entitas kuat dan entitas lemah. Entitas kuat adalah entitas yang memiliki karakteristiknya sendiri dan tidak bergantung pada entitas lain. Sedangkan entitas lemah bergantung pada entitas lain biasanya jenis entitas ini adalah entitas transaksional yang sifatnya otomatis ketika pengoperasionalan database berjalan.

Attribute

Setiap entitas memiliki attribute dan attribute sendiri menggambarkan karakteristik dari objek/entitas tersebut. Contohnya karakteristik dari sebuah objek nyata mahasiswa diantaranya NIM, NamaMahasiswa, Alamat, TempatLahir, TanggalLahir dll. Jika digambarkan dalam bentuk ERD maka bentuknya akan seperti elips atau oval namun pada data model relational di representasikan dengan bentuk tabel persegi panjang. 

Key Utama (Kunci Utama)

  • Candidate key, adalah attribute yang secara unik mengidentifikasi setiap baris pada sebuah entitas. Nilai candidate key bersifat unik. Candidate key bukan merupakan primary key namun listing calon yang akan menjadi primary key.
  • Primary Key, adalah candidate key yang terpilih karena nilainya sangat unik dimana setiap baris memiliki nilai yang berbeda dari baris lainnya. 
  • Alternate Key, adalah candidate key yang tidak terpilih menjadi primary key. Sifatnya sebagai cadangan dari primary key.
  • Composite Key, adalah key yang terdiri lebih dari satu key /attribute yang mewakili suatu entitas dalam menjadi primary keynya. 

Identifier

Identifier adalah attribute yang mengidentifikasi suatu entitas. Identifier biasanya digunakan sebagai tampilan utama dari suatu entitas (wajah entitas). Jika key digunakan untuk menghubungkan antar relasi, maka identifier di miliki entitas sebagai indentitas karakteristik yang mewakili entitas tersebut.

Relasi

Relasi terjadi berdasarkan key pada setiap entitas. Hubungan antar entitas diwakilkan oleh setiap foreign key dimana key ini merupakan primary key di entitas lainnya. Relasi ini sangat di perlukan oleh database relational karena menghubung gantungkan informasi entitas satu dengan entitas lainnya menggunakan kunci utama (key) sehingga dapat tercipta suatu informasi yang terintegrasi.

 
Sekian dari saya di kesempatan kali ini. Semoga bisa bermanfaat dan begitulah kurang lebih sistem model data relational bekerja untuk menyajikan informasi dalam bentuk data yang dihubung-hubungkan. kurang lebihnya mohon maaf, saran dan pertanyaan bisa di lempar ke kolom komentar. Terima kasih, sampai berjumpa lagi di artikel selanjutnya...

Latihan Membangun Model Data ERD Diagram (Studi Kasus Perkuliahan)

Assalamu'alaikum

Selamat pagi, jumpa lagi dengan saya di kesempatan kali ini. Setelah pada pertemuan data model sebelumnya kita sudah membahas tentang model data ERD. Di kesempatan kali ini kita akan coba membahas tentang membangun model data ERD berdasarkan case/kasus yang terjadi. Aspek apa saja yang perlu di perhatikan dalam membangun ERD? Langsung saja kita bahas di pertemuan berikut. 

Membangun ERD

ERD adalah jenis model data yang berbasis objek. Fungsi dari ERD sendiri adalah untuk membentuk model data sehingga hubungan antar data lebih mudah di pahami. ERD sudah sering digunakan sebagai acuan model data dalam perancangan sebuah basis data (Database). Karena pada dasarnya, perancangan sebuah database harus mengikutsertakan ERD di dalamnya. 



Karena ERD adalah model data berbasis objek, maka ERD digambarkan dalam bentuk relasi antar objek dalam hal ini objek yg dimaksud adalah sebuah entitas. ERD di gambarkan dalam bentuk chart yang saling terhubung. Beberapa simbol chart yang ada pada ERD diantaranya :

Studi Kasus

Sesuai dengan judul kali ini, kita akan bahas model data ERD dalam kasus sebuah perkuliahan berdasarkan pengamatan sudut pandang mahasiswa yang mengikuti matakuliah. Berikut listing poin poin rancangan database yang akan dibuat :
  • Dalam sebuah case perkuliahan, seperti yang kita tau perkuliahan akan berjalan karena adanya dosen, mahasiswa, matakuliah, jadwal, kelas, tagihan dan nilai.
  • Poin lainnya adalah, mahasiswa di perbolehkan mengambil kartu rencana studi yang ingin di ambil pada setiap semester. 
  • Dosen bisa mengajar lebih dari satu matakuliah.
  • Jadwal terbentuk dari gabungan informasi matakuliah dan kelas dan Mahasiswa yang mengambil jadwal yang tersedia akan membentuk kartu rencana studi (informasi KRS mahasiswa). 
  • KRS yang terbentuk merupakan informasi matakuliah yang diambil mahasiswa, tagihan perkuliahan dan informasi nilai sesuai matakuliah yang diambil tersebut (KRS).  

Mengidentifikasi Entitas

Dalam kasus seperti yang dijelaskan diatas, entitas yg dimaksud diantaranya :
  • Dosen
  • Mahasiswa
  • Makuliah
  • Jadwal
  • Kelas
  • Tagihan
  • Nilai
  • KRS (Kartu Rencana Studi)

Mengidentifikasi Jenis Relasi

Setelah listing entitasnya, selanjutnya kita identifikasi relasinya. Karena sistem yang digunakan pada perkuliahan menggunakan KRS, maka dosen bukan mengajar mahasiswa tapi dosen mengajar matakuliah. Sehingga mahasiswa yang mengambil KRS dari list jadwal adalah mengambil matakuliah yang diajar oleh dosen tersebut.

Entitas Bentuk Relasi Entitas
Dosen Mengajar Matakuliah
Matakuliah Membentuk Jadwal
Kelas Membentuk Jadwal
Jadwal Membentuk KRS
Mahasiswa Mengambil KRS
KRS Menghasilkan Tagihan
KRS Menghasilkan Nilai
Jika di hubungkan secara entitas, maka diagram awal yg terbentuk kurang lebih akan seperti ini. 

Menentukan Kardinalitas

Kardinalitas adalah jumlah entitas yang dapat berelasi dengan entitas lain. Terdapat 3 jenis kardinalitas yaitu : one to one (1:1), one to many (1:M) dan many to many (M:N). Untuk kardinalitas sesuai dengan studi kasus yang sedang dibahas ditentukan sebagai berikut.


  • Dosen bisa mengajar lebih dari satu matakuliah, artinya kardinalitas dosen dengan matakuliah berhubungan (1:M).
  • Banyak matakuliah yang membentuk satu jadwal. Hal ini dikarenakan ada matakuliah yang berbeda di jadwal yang sama. Maka kardinalitas matakuliah dengan jadwal berhubungan (1:M atau M:1). 
  • Sama seperti matakuliah, untuk kardinalitas kelas dengan jadwal behubungan (1:M).
  • Jadwal-jadwal yang terbentuk tadi akan terbagi menjadi banyak ragam KRS yang diambil mahasiswa. Sehingga kardinalitas jadwal dengan KRS adalah (1:M).
  • Selanjutnya mahasiswa yang mengambil KRS di kardinalitaskan dengan 1:M. Dimana mahasiswa yang banyak mengambil jadwal hanya bisa mengambil satu KRS saja. Yaitu KRS yang sudah di tentukan oleh mahasiswa tersebut. 
  • Dari KRS terbentuklah tagihan. KRS yang banyak jenisnya karena berbeda bedanya matakuliah setiap KRS yang diambil oleh banyaknya mahasiswa memiliki sks yang berbeda juga sehingga mengakibatkan tagihan yang berbeda beda. Karena itu hubungan antara KRS dengan tagihan adalah (1:M) satu tagihan ditentukan oleh KRS yang berbeda beda. 
  • Untuk KRS dan Nilai berhubungan 1:1 karena setiap KRS dan setiap Nilai memiliki value yang saling berkergantungan. 
Dari hasil analisis, kurang lebih hasil ERD yang telah ditentukan kardinalitasnya seperti berikut ini.

Mengidentifikasi Attribute

Langkah selanjutnya adalah identifikasi attributenya. Attribute yang dimaksud disini adalah karakteristik dari objek / entitas itu sendiri. Attribute yang di identifikasi juga harus di lengkapi dengan primary key attribute tersebut untuk mewakili entitas yang di maksud. Contoh attribute dari entitas-entitas yang sudah di identifikasi sebelumnya adalah sebagai berikut.

Entitas Attribute Primary Key
Dosen KodeDosen PK
NamaDosen
Mahasiswa NIM PK
Nama
Fakultas/Jurusan
Pendidikan Asal
Matakuliah KodeMatkul PK
NamaMatkul
KodeDosen
SKS
Kelas KodeKelas PK
Ruang
Kampus
Jadwal KodeMatkul PK (Composite Key)
KodeKelas PK (Composite Key)
SKS
Waktu
KRS NIM PK (Composite Key)
KodeMatkul PK (Composite Key)
KodeKelas PK (Composite Key)
SKS
Tagihan NIM PK
Tanggal Angsuran
Tanggal Bayar
Jumlah Tagihan
Nilai NIM PK
KodeMatkul
NamaMatkul
KodeKelas
SKS
Nilai

Spesialisasi / Generalisasi Entitas

Langkah terakhir dalam penentuan ERD adalah melakukan spesialisasi atau generalisasi untuk jenis entitas. Spesialisasi / generalisasi sendiri adalah teknik untuk menyajikan sudut pandang yang berbeda di pemakai yang berbeda. Spesialisasi sudah melingkupi penentuan entitas, relasi, dan attribute. 

ERD Diagram Case Perkuliahan 

Langkah akhirnya adalah menyelesaikan ERD lengkapnya dengan attribute dan primary key yang bersifat penandaan attribute mana yang menjadi primary key. Kurang lebih hasil ERD dari hasil analisis yang sebelumnya kita lakukan adalah seperti berikut ini.



Mungkin hanya sampai sekian pembahasan kali ini, semoga bermanfaat untuk para pembaca sekalian. Kurang lebih mohon maaf, saran dan pertanyaan silahkan lemparkan ke kolom komentar. Terima kasih sudah berkunjung, sampai jumpa di pertemuan berikutnya..

Wednesday, January 9, 2019

C++ Programming 3 - Operator Di C/C++

Assalamu'alaikum

Selamat malam, salam programming. Lanjut lagi pembahasan kita mengenai C++ Programming. Setelah mengetahui variabel, konstanta dan tipe data c++ sekarang saya akan membahas tentang operator pada c++/c. Apa itu operator dan bagaimana cara menggunakan operator tersebut pada program yang ingin kita jalankan? Berikut penjelasannya.

Operator C++

Operator yang di maksud pada c++ programming adalah sebuah simbol yang fungsinya untuk mengolah nilai suatu variabel sehingga menghasilkan suatu nilai yang baru. Operator merupakan pondasi utama di setiap bahasa pemrogramman artinya tidak hanya c++ saja. Fungsi operator bermacam-macam ada yang untuk menjumlahkan, mengurangkan, membedakan, atau merumuskan logic suatu perintah. Operator pada c++ dikelompokkan menjadi 4 bagian yaitu : 


  • Operator assigment
  • Operator Unary
  • Operator Binary (aritmatika, logika, relational, bitwise)
  • dan Operator Ternary

1. Operator Assigment

Operator assigment adalah operator yang berfungsi untuk memberikan suatu nilai kedalam suatu variabel. Operator ini dilambangkan dengan sama dengan (=).  Contoh operator assigment :
  • char huruf = 'A';
  • string kalimat = "Alfa";
  • int angka = 17;
  • float phi = 3.14;

2. Operator Unary

Operator unary adalah operator yang berfungsi hanya pada satu operand / kondisi saja. Operator unary sering digunakan pada program loop yang nantinya akan kita bahas. Contoh dari operator unary antara lain :
  • + : Positif. Contohnya +7 
  • - : Negatif. Contohnya -7 
  • ++ : Increment. Salah satu operator yang sering di gunakan di program loop. Fungsi dari operator ini adalah untuk menambah suatu nilai awal sehingga menghasilkan nilai yang baru yaitu nilai awal yang telah di tambah 1.   
  • -- : Decrement. Fungsi ini merupakan kebalikan dari increment. Yaitu mengurangi suatu nilai awal sehingga menghasilkan nilai yang baru yaitu nilai awal yang telah di kurangi 1. Decrement juga sering digunakan pada program looping. 

3. Operator Binary

Operator binary adalah operator yang sudah mengoperasikan 2 buah operand / kondisi. Operator binary terbagi lagi menjadi 4 jenis yaitu :
  • Operator Aritmatika yaitu operator yang melakukan operasi-operasi perhitungan aritmatika seperti penjumlahan, pengurangan. Contoh operasi-operasi aritmatika diantaranya :
    • + : penjumlahan
    • - : pengurangan
    •  * : perkalian
    • / : pembagian
    • % : modulus / sisa bagi 
#include <iostream>
#include <conio.h>

using namespace std;

int main(){
    int x = 10, y = 5;
    int jumlah, kurang, kali, bagi, sisa_bagi;
  
    jumlah = x + y;
    kurang = x - y;
    kali = x * y;
    bagi = x / y;
    sisa_bagi = x % y;
  
    cout << "Hasil penjumlahan = " << jumlah << endl;
    cout << "Hasil pengurangan = " << kurang << endl;
    cout << "Hasil perkalian = " << kali << endl;
    cout << "Hasil pembagian = " << bagi << endl;
    cout << "Hasil sisa bagi = " << sisa_bagi << endl;
  
    getch();
}
  • Operator Logika yaitu operator untuk menggabungkan 2 atau lebih kondisi untuk melengkapi eveluasi kondisi asli dengan pertimbangan. Hasil dari operator logika adalah nilai boolean yang terdiri dari true (1) dan false (0). Yang termasuk operator logika yaitu : 
    • Operator And (&&)
    • Operator Or (| |)
    • Operator Not (!)

  • Operator Relational yaitu operator untuk menentukan relasi atau hubungan dari 2 buah operand. Operator ini sering digunakan untuk pengecekkan sebuah kondisi dalam struktur percabangan (2 opsi programming). Contoh operator relasional diantaranya :
    • < : lebih kecil 
    • > : lebih besar
    • <= : lebih kecil atau sama dengan
    • >= : lebih besar atau sama dengan
    • == : sama dengan 
    • != : tidak sama dengan 
  • Operator Bitwise yaitu operator operator yang digunakan untuk pemanipulasian bit. Contoh operasi bitwise diantaranya : 
    • << : shift left
    • >> : shift right
    • && : operasi bit AND
    • | | : operasi bir OR
    • ^ : operasi bit XOR
    • ~ : operasi bit NOT

4. Operator Ternary

Operator ternary adalah operator yang sudah melibatkan 3 buah operand. Bentuk umumnya:

Ekspresi1? Ekspresi2: Ekspresi3;
Jika ekspresi1 bernilai benar, maka program akan mengeksekusi ekspresi2. Namun, jika ekspresi1 bernilai salah, maka program akan mengeksekusi ekspresi 3.

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

using namespace std;

int main(){
  int angka;
 
  cout<<"Masukkan bilangan: ";
  cin>>angka;
  (angka %2 ==0) ? (cout << angka << " adalah bilangan Genap \n") : (cout << angka << " adalah bilangan Ganjil \n");
 
  getch();
}
Demikian penjelasan mengenai operator pada c++, semoga bisa kalian pahami dan semoga bisa bermanfaat. Bagi yang masih kurang jelas atau ada yang pertanyaan silahkan letakkan di kolom komentar. Sekian dari saya, terima kasih sudah berkunjung, salam programming. 

Tuesday, January 8, 2019

C++ Programming 2 - Variabel, Konstanta dan Tipe data

Assalamu'alaikum

Selamat malam, salam programming. Untuk memenuhi waktu lenggang malam saya, saya sempatkan menulis demi mengejar target penulisan agar selesai pada waktunya. Di kesempatan malam ini saya ingin menjelaskan tentang lanjutan materi pengenalan C++. yaitu tentang materi variabel, konstanta dan tipe data pada c++. Apa itu variabel, konstanta dan tipe data apa saja yang ada pada c++? Langsung saja kita bahas di penjelasan berikut.

Variabel, Konstanta dan Tipe Data

Secara teori, variabel pada programming adalah suatu penamaan yang digunakan untuk menyimpan suatu nilai dari variabel tertentu. Sedangkan konstanta hampir mirip seperti variabel yang fungsinya sama sama untuk menyimpan suatu nilai tertentu, bedanya konstanta adalah nilai yang tidak berubah setelah nilai tersebut di deklarasikan. 
Sedangkan tipe data sendiri adalah tipe variabel yang ingin di deklarasikan itu seperti apa sih? Apakah tipe datanya sebuah bilangan, atau sebuah kalimat, atau sebuah pembanding? Karena pada dasarnya setiap variabel yang ingin di deklarasikan membutuhkan informasi tipe data variabel tersebut. 7 tipe data dasar yang ada pada c++ diantaranya :



1. Tipe Data Integer (int)

Tipe data integer adalah tipe data yang memungkinkan kita untuk meyimpan data dalam bentuk bilangan bulat. Besarnya memori yg dibutuhkan tipe data int adalah 4byte atau 32bit. Dengan menggunakan tipe data int kita bisa melakukan operasi aritmatika seperti penjumlahan, pengurangan, perkalian dan pembagian. 

#include <iostream>
using namespace std;

int main(){
    int programming1 = 15;
    int programming2 = 3;
   
    cout << programming1 << endl;
    cout << programming2;
   
    return 0;
}
Keterangan : perintah endl untuk perintah untuk membuat baris baru (enter) dan perintah return 0 adalah untuk menyelesaikan fungsi main sedangkan 1 untuk kembali ke fungsi main.

2. Tipe Data Karakter (Char)

Tipe data char adalah salah satu tipe data yang memungkinkan kita untuk menyimpan memory berbentuk huruf, angka ataupun simbol dengan sebuah karakter tunggal. Berbeda dari tipe data int, tipe data char tidak bisa di lakukan operasi aritmatika. Perlu di ingat, char hanya dapat menyimpan 1 karakter saja,  jika kalian memberikan lebih dari 1 karakter, maka yg tersimpan hanya karakter pertama saja.

#include <iostream>
using namespace std;

int main(){
    char huruf;
  
    cout << "Masukan huruf yang anda sukai = ";
    cin >> huruf;
    cout << "Huruf yang anda sukai adalah = " << huruf;

    return 0;
}
Keterangan : perintah cin digunakan untuk inputan keyboard, masukan nilai 1 karakter lalu enter, maka program akan menjalankan perintah selanjutnya. Untuk memasukan kalimat seperti diatas, kalimat harus di deklarasikan didalam 2kutip2 ("kalimat").

3. Tipe Data Boolean

Boolean adalah jenis tipe data pembeda yang fungsinya membedakan sebuah perintah yang di deklarasikan benar atau salah. Tipe data boolean hanya memiliki 2 opsional yaitu benar (true=1) atau salah (false=0).  


4. Tipe Data Float

Hampir sama seperti tipe data int, namun tipe data float memungkinkan kita menyimpan data numerik yang bentuknya bilangan pecahan. Biasanya tipe data float digunakan untuk menghitung program yang menggunakan bilangan koma. Seperti menghitung keliling atau luas lingkaran yang phinya menggunakan bilangan pecahan.

#include <iostream>
using namespace std;

int main(){
       float r, hasil;
       float phi = 3.14;

       cout << "Masukan Jumlah jari-jari = ";
       cin >> r;
 
       hasil = (phi * r) * 2;
       cout << "Luas dari Lingkaran adalah " << hasil;

       return 0;
}

5. Tipe Data Double Floating Point (Double)

Tipe data ini sama seperti tipe data float yaitu untuk menyimpan bilangan pecahan. Namun, penyimpanan tipe data double lebih besar dibanding tipe data float. Jika tipe data float hanya membutuhkan memory 4 byte, tipe data double memerlukan penyimpanan memory sebesar 8 byte.

6. Tipe Data String (string)

Tipe data string adalah tipe data yang memungkinan kita untuk menyimpan kumpulan karakter (artinya lebih dari 1 karakter). Sama seperti char, tipe data string yang bernilai angka tidak bisa di operasi aritmatika. Karena nilai yang ditangani tipe data string berbentuk kalimat, maka nilai tipe data string harus di deklarasikan di dalam 2kutip2 ("kalimat").

#include <iostream>
using namespace std;

int main(){
    string kalimat1 = "Hello World";
    cout << kalimat1;
}

7. Tipe Data Valueless (Void)

Valueless adalah salah satu tipe data yang berarti “tidak ada” atau “tidak mempunyai tipe data”. Void masih di dalam katagori tipe data tetapi kita tidak bisa menggunakanya pada variabel biasa, void biasanya digunakan pada function yang tidak mempunyai return value.

Dan itulah pemahaman mengenai variabel, konstanta dan tipe data yang ada pada c++. Semoga bermanfaat untuk kalian semua. Sekian dari saya kurang lebihnya mohon maaf, salam programming. 

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment