ke3

Minggu, 30 Desember 2018

Pengenalan Build a Facebook Bot Without Coding


Pengenalan Build a Facebook Bot Without Coding Part 1

Hai-hai semua..
Topik yang mau aku bahas kali ini yaitu Build a Facebook Bot Without Coding
Hari ini kita akan belajar membuat Facebook Bot tanpa Coding untuk memudahkan kalian membuat bot untuk teman/partner yang biasa menggunakan facebook sebagai media penjualan online.
Di era digital banyak orang yang mulai membuka bisnis online. Semakin banyak saingan di bisnis online, para pebisnis online mulai menyadari betapa pentingnya meningkatkan pelayanan konsumen. Biasanya konsumen akan merasa senang jika dia merasa dilayani langsung oleh seller dan akan tumbuh rasa percaya kepada seller.
Ingat, kepercayaan konsumen, kenyamanan konsumen, dan loyalitas konsumen itu penting dan merupakan kunci utama agar sebuah bisnis online dapat terus hidup.
Banyak sekali orang-orang yang memilih facebook sebagai media untuk mereka berjualan. Biasanya banyak seller dan costumer yang memilih chatting sebagai media transaksi. Proses tawar-menawar dan proses mencari tahu seorang konsumen terhadap produk biasanya dilakukan melalui chat. Kalau pelayanan chat kita baik, tentu bisa meningkatkan keinginan konsumen untuk membeli produk kita.
Kalau konsumen hanya satu atau dua orang tentu tanpa menggunakan bot / mengandalkan seller itu sendiri pasti mudah. Coba bayangkan kalau seller harus menghadapi lebih dari 5 konsumen dalam waktu bersamaan. Pasti pusing banget kan..
Itulah kenapa kita membutuhkan bot.
Baiklah hari ini aku mau kenalkan kalian dengan tools yang kece banget.
Namanya adalah chatfuel.

Teman - teman bisa intip dokumentasi lengkap di link ini..
berikut teori yang akan aku bahas disini
1. Pengenalan apa itu Chatfuel?
2. Fitur-fitur yang ada pada Chatfuel?
3. Keunggulan Chatfuel dibanding Facebook Messenger Bot Builder lainnya?
4. Kelemahan Chatfuel dibandingkan Facebook Messenger Bot Builder lainnya?

Oke, kita masuk ke teori pertama.
Apa itu Chatfuel?
Chatfuel adalah salah satu Facebook Messenger Bot Builder, yang di release pada tahun 2015.
Chatfuel ini sangat mudah untuk digunakan.
Chatfuel ini free selama pengguna dibawah 500.000 active user.
Jadi selama kamu belum menangani 500.000 user yang chat kamu, Chatfuel ini masih gratis.

Teori kedua
Fitur - fitur apa saja yang ada pada chatfuel?

Nah, gambar di atas adalah tampilan dashboard chatfuel.
1. Kita dapat membuat automatisasi welcome message untuk merespon setiap user yang baru bergabung dengan kita fanpage kita.
2. Kita bisa membuat welcome message dengan menyisipkan gambar, dan berbagai macam informasi seperti pada gambar di bawah ini.

3. Kita bisa membuat default jawaban jika bot yang kita buat tidak memahami informasi yang disampaikan konsumen
4. Bot ini juga dapat membuat message broadcast kepada semua user yang ada pada fanspage kita.

Gambar di atas adalah tampilan untuk fitur broadcast message.

Oke, kerennya chatfuel, kita bisa membroadcast dengan beberapa cara:
1. broadcast saat itu juga
2. broadcast dengan trigger kondisi
3. broadcast dengan schedule waktu

5.  Fitur AI
Ketika kita membuat bot, kita pasti berharap bot kita dapat merespon setiap pertanyaan atau tanggapan yang diberikan oleh konsumen
nah, di chatfuel kita bisa menggunakan fitur AI

Oke, di chatfuel kita bisa membuat pola pertanyaan apa yang kira-kira akan ditanyakan konsumen dan respon apa yang ingin bot kita berikan ketika ada pola pertanyaan seperti itu.
Untiknya di chatfuel kita bisa membuat beberapa bentuk respon dan nanti akan di random oleh si bot. Jadi, kita bisa membuat respon yang sehumanis mungkin, biar konsumen tidak merasa dia chatting dengan bot.
6.  Kita bisa meng-plugin bot chat pada website kesayangan kita.
7. Chatfuel juga menyediakan kita analytic dimana kita bisa menganalisa respon komunikasi konsumen terhadap chat kita.

Seperti pada gambar di atas.
8. Ah, kita juga bisa otomatis memblock member/konsumen berdasarkan pola komunikasi dari konsumen, misal karena konsumen mengucapkan kata kotor atau tidak baik.
Jadi kita juga bisa membuar filter blok, kalau konsumen mulai brutal dan mengucapkan kata yang tidak baik, si bot bisa langsung blok.
Mungkin masih banyak lagi fitur dari chatfuel, tapi sejauh yang aku pelajari sampai saat ini itu fitur-fitur keren yang bisa kita manfaatkan.

Sebuah produk selain ada keunggulan pasti ada kekurangannya kan..
Chatfuel ini juga memiliki kekurangan.
Antara lain:
1. Kita tidak bisa menghilangkan brand atau merek dari Chatfuel
Watermark kah kak?
Bukan watermark, jadi pas kita broadcast, dia juga akan broadcast kalau broadcast itu di support oleh chatfuel Em, sepertinya itu saja sih kekurangan yang baru aku temukan.

Segini dulu ya untuk blog kali ini, untuk praktiknya silakan kunjungi blogku selanjutnya.
Terima kasih sudah mengunjungi blog ini dan jangan bosan untuk terus membuka blog ini, semoga bermanfaat.

Materi Dasar Tentang Docker untuk Pemula



 Apa sih docker itu?
Docker merupakan project open source yang menyediakan platform terbuka untuk developer maupun sysadmin atau siapapun untuk dapat membangun, mengemas, dan menjalankan aplikasi dimanapun. Docker datang dengan menggunakan teknologi containernya, berbeda dengan yang lainnya jika dalam melakukan virtualisasi. Dan sedikit sejarah, kalau docker itu dibuat oleh Solomon HYkes dan Andrea Luzzardi serta Francois-Xavier Bourlet sebagai project internal di dotCloud.
Mungkin kalian sedikit bingung dengan pengertian diatas dikarenakan terlalu sulit untuk membayangkan bagaimana pengembangan aplikasi yang sebenarnya. Docker berfungsi sebagai virtualisasi sebuah sistem operasi atau sebuah server atau sebuah web server atau bahkan sebuah database server, dimana dengan menggunakan virtualisasi ini, diharapkan developer dapat mengembangkan aplikasi sesuai dengan spesifikasi server atau dengan kata lain, jika kita mengembangkan sebuah aplikasi lalu kita jalankan pada komputer kita sendiri maka secara otomatis aplikasi akan berjalan dengan baik, nah bagaimana jika server yang akan menjalankan aplikasi kita memiliki banyak perbedaan dengan komputer kita seperti perbedaan sistem operasi, arsitektur processor dan sebagainya. Dengan menggunakan virtualisasi ini maka para developer lebih mudah untuk mengatur mengenai deployment atau menjalankan aplikasi di server production.
Sebelum kita membahas mengenai docker lebih lanjut, kita akan mencoba membahas sedikit mengenai docker dan vagrant. Docker dan vagrant merupakan tool yang sama atau dapat dikatakan merupakan tool developer yang mempunyai fungsi yang sama, akan tetapi meski memiliki fungsi yang sama terdapat beberapa perbedaan sehingga kita perlu menentukan tool yang terbaik untuk melakukan development sebuah aplikasi. Beberapa perbedaan dapat dilihat melalui tabel berikut.
Perbedaan yang sangat mencolok anata docker dengan vagrant adalah docker menggunakan resource atau memory yang lebih sedikit ketimbang vagrant, ini dapat dilihat dari penggunaaan RAM, penggunaan images sistem operasi dan juga dapat dilihat perbedaannya, jika menggunakan vagrant maka kita wajib melakukan instalasi virtual machine seperti virtual box atau vmware, berbeda dengan docker menggunakan linux container sehingga kita tidak perlu melakukan instalasi virtual machine.

Lalu kita lanjut ke cara kerja docker secara singkatnya
Oke dimulai dari Virtual Machine.
Jika pada virtual Machine itu untuk menjalankan Guest OS harus menggunakan hypervisor/Aplikasi yang digunakan untuk membangun Guest OS nya. Pada virtual machine itu guest dengan Host nya Terpisah. Untuk menginstall Guest OS nya Membutuhkan resource yang sesuai dengan minimum requirements pada OS nya (Membutuhkan Resources seperti install os biasa).
Dan selajutnya adalah Docker, Jika sebelumnya pada virtual machine untuk membangun guest OS membutuhkan Hypervisor, maka di docker menggunakan docker engine, dan docker engine berjalan langsung pada Host OS tanpa ada perantara/penghubung seperti Hypervisor.
Jadi bisa dibilang menggunakan docker bisa meringankan beban Physic untuk menjalankan suatu Aplikasi, sebagai contoh “Nginx”, Jika pada Virtual Machine untuk membangun Nginx diharuskan menginstal Guest OS (sebagai contoh ubuntu), dan untuk menginstall Guest OS nya harus menjalankan Keseluruhan OS nya, tidak seperti Docker hanya menjalankan Langsung Aplikasi “Nginx” dan itu akan terbuat container, tanpa harus menginstall Guest OS lagi, dan memang bisa meringankan beban resources.
Jika menjalankan aplikasi pada docker akan menjadi Container, dan container tersebut bersifat “Terisolasi”, maksudnya terisolasi adalah container yang berjalan tidak akan menggangu container lainnya, sebagai contoh jika membuat Aplikasi Nginx, dan Apache. Jika pada container apache mengalami masalah, maka Nginx tidak akan terkena jika karena mereka berbeda container (Sebut saja berbeda wadah/tempat).

Untuk saat ini docker sudah mendukung di semua platform (WIndows, Linux, Mac).
Untuk linux Docker sudah bisa dijalankan di beberapa Distro.
Pada docker menggunakan teknologi container, jika baru pertama kali mendengar container pada docker pasti langsung berpikir container yang seperti ini:
Ya, itu benar-benar container, dan dari situ pun sudah mengetahui fungsi dari container itu sendiri. Meletakan barang pada suatu tempat untuk dikirim. Sama halnya pada Docker container develop menjalankan container yang berisi aplikasi maupun OS.

Masih bingung?
Secara harfiah container merupakan alat untuk mempermudah mengemas dan mendistribusikan suatu hal dari satu tempat ke tempat lain. Sedangkan dalam konteks lingkungan linux (linux environment), container dapat diartikan sebagai alat yang dapat dipergunakan untuk memberikan sistem yang terisolasi (Isolated environment) pada level OS yang dijalankan pada satu host.

Jika sudah mulai memasuki docker yang lebih dalam (Belum terlalu dalam), pasti akan mendengar “Docker CE & Docker EE”, dan akan bertanya-tanya Perbedaan antara docker CE dan docker EE apa. Lalu adalagi pada melakukan instalasi docker biasanya pada ubuntu menggunakan perintah “sudo apt-get install docker.io”, menjadi pertanyaan lagi apa itu docker.io.

Dan dari ketiga perbedaan tersebut disini saya akan mencoba untuk membahas secara singkat perbedaan antara “CE,EE,IO”.
1.      Docker CE
Docker CE atau singkatan dari “Docker Community Edition”, yang diperuntukan untuk komunitas dan cocok untuk developer dan team yang baru memulai menggunakan docker, dan docker CE sudah mendukung banyak Platform.
2.      Docker EE
Docker EE atau singkatan dari “Docker Enterprise Edition”, mendengar kata-kata Enterprise bisa menangkap kalau enterprise itu sudah berskala besar/untuk perusahaan. Dan untuk versi EE ini sudah banyak kelebihan yang didapatkan ketimbang menggunakan CE, karena memang Pada EE ini membutuhkan Biaya, dan pada docker EE memiliki Sertifikat pada Plugin dan COntainernya. Serta Infrastructure nya.
3.      Docker IO
Untuk Docker IO sebenarnya saya juga awalnya belum tau, apa itu IO dan kenapa pada saat instalasi docker menggunakan perintah “IO”. Menggunakan itu karena Docker.io biasanya digunakan untuk di debian based (ubuntu, mint, dsb), Diberi nama docker.io karena sebelumnya sudah ada package yang bernama “Docker”, jadi docker.io itu hanya penamaan untuk package nya untuk menghindari conflict package name.

Sebenarnya penjelasan diatas kurang lengkap dan mungkin banyak kekurangannya, jadi untuk lebih lengkapnya bisa mengunjungi langsung web Dockernya.

Pada arsitektur docker terdapat beberapa bagian, yaitu:
1.      Docker Daemon
Docker daemon berfungsi untuk membangun, mendistribusikan dan menjalankan container docker. User tidak dapat langsung menggunakan docker daemon, akan tetapi untuk menggunakan docker daemon maka user menggunakan docker client sebagai perantara atau cli.
2.      Docker Images
Docker images adalah sebuah template yang bersifat read only. Template ini sebenarnya adalah sebuah OS atau OS yang telah diinstall berbagai aplikasi. Docker images berfungsi untuk membuat docker container, dengan hanya 1 docker images kita dapat membuat banyak docker container.
3.      Docker Container
Docker container bisa dikatakan sebagai sebuah folder, dimana docker container ini dibuat dengan menggunakan docker container. Setiap docker container disimpan maka akan terbentuk layer baru tepat diatas docker images atau base image diatasnya. Contohnya misalkan kita menggunakan image ubuntu, kemudian kita membuat sebuah container dari image ubuntu tersebut dengan nama ubuntuku, kemudian kita lakukan instalasi sebuah software misalnya nginx maka secara otomatis container ubuntuku akan berada diatas layer image atau base image ubuntu. Anda dapat membuat banyak docker container dari 1 docker images. Docker container ini nantinya dapat dibuild sehingga akan menghasilkan sebuah docker images, dan docker images yang dihasilkan dari docker container ini dapat kita gunakan kembali untuk membuat docker container yang baru.
4.      Docker Registry
Docker registry adalah kumpulan docker image yang bersifat private maupun public yang dapat anda akses di docker hub. Dengan menggunakan docker registry, anda dapat menggunakan docker image yang telah dibuat oleh developer yang lain, sehingga mempermudahkan kita dalam pengembangan aplikasi.

Buat yang pakai windows, kita perlu yang namanya docker toolbox. Kita install docker toolboxnya terlebih dahulu, semacam ngeinstall composer buat laravel gitu kurang lebih sih. Di windows cuma tinggal next next aja kok
Terus kalo buat linux, langsung dibuka aja terminalnya hehe, harus connect ke inet ya tapi kalau mau install. Setelah itu kita buka cmd, lalu ketikkan perintah:
docker -v
untuk mengetahui versi docker yang kita gunakan
untuk mempermudah proses pertama konfigurasi, gunakan Docker QuickStart

Lalu ini kita coba untuk merunningkan hello world di docker.
Kita masukkan perintah tsb untuk memulai atau menjalankan docker.
Setelah berhasil menjalankan dan mengkonfigurasikan docker,
Unduh image yang dibutuhkan di docker hub.
Teknisnya pada saat docker menerima perintah u/ menjalankan sebuah command, maka docker image akan menyala selepas itu akan mati lagi.
Untuk menjalankan sebuah container,  kita memerlukan container id
#docker ps -l
Ketikkan perintah: #docker start idcontaineranda , untuk memulai menjalankannya

semoga bermanfaat….

tambahan dari segi "how thing works".
Docker pake teknologi container linux, spesifiknya pake fitur namanya cgroup dan namespace untuk membuat container.
Bagaimana dengan mac os dan windows? mereka bukan linux. Jadi ada workaround untuk itu. Maka diciptakanlah Docker Machine
Docker Machine bekerja dengan membuat sebuah VM baru berisi Linux, distro yang dipake adalah distro khusus untuk docker. Docker Engine yang berjalan di Linux akan jalan di sini. Yes, gak ada Docker Engine native untuk windows / mac, Docker Engine hanya ada di Linux jadi yang pake windows / mac os harus install VM linux dulu: 9.
Di dalam VM ini lah semua container kita akan berjalan. Untuk bisa konek ke sana, kita akan pake "docker client" untuk konek ke server docker engine yang ada di docker machine (VM) via jaringan.
Mau pake vagrant atau pake docker machine mereka menggunakan VirtualBox.
solusi lebih baru (sekarang) adalah pake docker windows ... dimana (katanya) hanya work untuk Windows 10 dan Server 2016. Dia memanfaatkan Hyper-V alias teknologi virtualisasi native yang ada di Windows, gak pake virtualbox lagi. Tapi kekuarangannya si Hyper-V ini memonopoli penggunaan fasilitas virtualisasi (lock) sehingga gak bisa digunakan oleh VirtualBox, maka dari itu ada peringatan bahwa VirtualBox gak bisa dipake kalo docker windows diaktifkan. Tapi ujung-ujungnya tetep bikin VM untuk jalankan linux trus semua container ada di linux itu.


Sabtu, 29 Desember 2018

Pengenalan Tracking Mobile On Google Maps Using Socket.Io


Pengenalan Tracking Mobile On Google Maps Using Socket.Io

Hayyy sudah lama aku nggak update blog ini ternyata
Okeeee, kali ini aku akan share materi tentang tracking mobile on google maps using socket.io yang aku dapatkan dari kak Sadha yang sedang bekerja di TerralogiQ sebagai developer.
Sebelum lanjut kalian harus ikutin step by step materi ini yaaa dan yang paling penting jangan lupa install cordova (udah terinstall Android SDK) dan IDE prever Netbeans yaaaaa
Untuk proses develop ini sudah ada link downloadnya:
*Cordova*
https://cordova.apache.org/#getstarted
*Netbeans*
https://netbeans.org/downloads/?pagelang=pt_BR
*Android SDK*
https://developer.android.com/studio/index.html

Proses testing unduh Lockito di Hp Android masing-masing:
#Tracking
btw adakah sebelumnya yang pernah buat apps tracking, kalau ada yang pernah mungkin sudah mengerti apa itu tracking ya..
Tracking yang aku share ini ada hubungannya dengan current location tapi bukan berarti menentukan rute, lebih tepatnya tracking rute yang udah dilewati. Oke. secara singkat

#Tracking
adalah sistem pemantauan jarak jauh yang menggunakan Satelit GPS, sebagai penentu lokasi kendaraan/asset bergerak dengan tepat dan akurat dalam bentuk titik koordinat yang kemudian diimplementasikan ke dalam bentuk Peta digital, sehingga dapat dimengerti dengan mudah bagi penggunanya.

#Peta Digital.
sebenernya ada banyak untuk implementasi Peta Digital, yang aku tau misalnya bisa pakai Google Maps, ArcGIS, OpenStreetMaps. Namun untuk materi kali ini aku gunain Google Maps.
#Google Maps
seperti yang kita ketahui dan pasti kita lebih familiar dengan Google Maps.
Google Maps merupakan layanan pemetaan web yang dikembangkan oleh Google. Layanan ini memberikan citra satelit, peta jalan, panorama 360°, kondisi lalu lintas, dan perencanaan rute untuk bepergian dengan berjalan kaki, mobil, sepeda (versi beta), atau angkutan umum.
Googel Maps akan aku gunakan untuk Dashboard Monitoringnya. Nah untuk bisa gunain Google Maps kita butuh Google Maps API Key. Nanti aku kasih tau cara dapetin API Key itu.

#Socket.io
merupakan library javascript yang digunakan untuk komunikasi antara client dan backend dengan menggunakan socket.
Batasan implementasi malam ini:
1. Hanya untuk tracking 1 kendaraan (mobile)
2. Aplikasi mobile hanya untuk platform Android

Hal-hal yang perlu dipersiapkan:
#JDK (Java Development Kit)
disini aku pakai buat backend-nya. Yang digunakan IDE Netbeans tapi untuk IDEnya terserah kalian mau makai apa. cuman aku ini prever makai IDE Netbeans.
#Google Maps API Key
untuk dapetin servicenya Google Maps.
#Android SDK
digunain untuk compile aplikasi mobilenya
#Cordova
Aku gunain untuk membuat aplikasi mobile client
#Dashboard Monitoring
aku gunain html biasa seperti halnya buat website

List diatas harus sudah dipersiapkan semua karena akan digunakan sebagai proses development.
Untuk langkah-langkahnya tunggu blogku selanjutnya yaaa
Terimakasih sudah mengunjungi blog ini, semoga bermanfaat

Jumat, 28 Desember 2018

MATERI LENGKAP DAN CONTOH SOAL MATEMATIKA DISTRIK


Teori Matematika Diskrit
  
·         Diskrit:
1.      Terdiri dari sejumlah berhingga elemen yang berbeda
2.      Elemen-elemennya tidak bersambungan (unconnect)
Contoh: himpunan bilangan bulat (integer), -31 juta – 31 juta
·         Lawan diskrit adalah continue atau menerus (continous)
Contoh: himpunan bilangan riil (real), decimal.
·         Angka 63 adalah sebagai huruf a dalam kode computer.
·         Computer digital bekerja secara diskrit
·         Matematika diskrit merupakan ilmu dasar dalam bidang computer.
·         Matematika diskrit memberikan landasan matematis untuk kuliah IT.
Algoritma, struktur data, basis data, otomata dan teori bahasa formal, jaringan computer, keamanan computer, system operasi, teknik kompilasi, dll.
·         Materi dalam matematika diskrit:
1.      Teori himpunan (set)
2.      Relasi dan fungsi
3.      Matriks
4.      Barisan dan deret (bilangan dan geometri)
5.      Logika matematika
6.      Teori bilangan bulat
7.      Aljabar Boolean (Boolean algebra)
8.      Kombinatorial (combinatorics)
9.      Teori peluang diskrit (diskrit probability)
10.  Fungsi pembangkit dan analisis rekurens
11.  Pohon (tree)
12.  Teori graf (graph)
13.  Kompleksitas algoritma (algorithm complexity)
14.  Otomata dan teori bahasa formal (automata and formal language theory)
Mari kita bahas satu-persatu, pembahasan pertama yaitu himpunan.

HIMPUNAN
Definisi himpunan yaitu sembarang kumpulan objek. Dengan kata lain himpunan adalah kumpulan dari objek-objek tertentu yang merupakan suatu kesatuan. Elemen dari himpunan adalah objek-objek itu sendiri. Jadi, himpunan adalah kumpulan objek (“elemen”) yang berbeda.
a ϵ A          “a adalah elemen dari A”
      “a adalah anggota dari A”
a ϵ A          “a bukan elemen dari A”
A= {a, , …, }            “A mengandung…..”
Enumerasi mencacahkan anggotanya (enumerasi). Himpunan dinyatakan dengan menyebutkan semua anggota himpunannya didalam satu kurung kurawal. Contoh:
Himpunan empat bilangan ganjil pertama: A= {1,3,5,7}
Himpunan bilangan bulat ditulis {…, -2, -1, 0, 1, 2}
     
Simbol Standart (baku) yaitu  suatu himpunan dapat dinyatakan dalam suatu symbol standart (baku) yang telah diketahui secara umum oleh masyarakat (ilmiah).
§  P= Himpunan bilangan bulat positif: {1,2,3,…}
§  N= Himpunan bilangan alami (natural): {1,2,…}
§  Z= Himpunan bilangan bulat: {…, -2, -1, 0, 1, 2, …}
§  Q= Himpunan bilangan rasional
§  R= Himpunan bilangan riil
§  C= Himpunan bilangan kompleks
§  U/S= Himpunan yang universal (semesta)
Misalkan U: {1, 2, 3, 4, 5} dan Adalah himpunan bagian dari U, dengan A= {1, 3, 5}
     
Notasi, dengan menulis semua elemennya diantara tanda akolade -> {}. Syarat keanggotaannya adalah menyebut suatu sifat karakteristik dengan nama dapat ditentukan, apakah satu objek anggota dari himpunan dari himpunan tersebut atau bukan. Misal: { x | syarat yang harus dipenuhi oleh x}
§  {x, …, }      : himpunan yang terdiri dari unsur , …,
§  {x | p(x)}         : himpunan semua x dengan x adalah unsur sifat p(x)
§  x ϵ X   : x dalah unsur dari X
§  x ϵ X   : x bukan unsur dari X
§  X = Y  : kesamaan himunan (X & Y mempunyai unsur yang sama)
§  |X|                    : jumlah unsur di X
§  Ø                     : himpunan kosong
§  X ≤ Y  : X adalah subset dari Y
§  X ≥ Y  : X adalah superset dari Y
§  ɤ(x)      : pangkat himpunan (himpunan kuasa) dari x
§  x atau x’          : komplemen dari x

Kesamaan himpunan adalah himpunan A dan B dikatakan sama jika dan hanya jika keduanya memiliki elemen yang tepat sama. Contoh:
§  A= {9, 2, 7, -3}, B= {7, 9, -3, 2} => A=B
§  A= {anjing, kucing, kuda}
B= {kucing, kuda, tupai, sapi}
Jadi, A ≠ B
Contoh himpunan:
§  A = Ø  himpunan kosong
§  A = {Z}          catatan: Z ϵ A, tapi Z ≠ {Z}
§  A = {{b, c}, {c, x, d}}
§  A = {{x, y}}   catatan: {x, y} ϵ A, tapi {x, y} ≠ {{x, y}}
§  A = {X | P(x)} “himpunan semua x sedemikian hingga P(x)”
§  A = {x | x ϵ N ^ X > 7} = {8, 9, 10, …}        “notasi pembentuk himpunan”
Sekarang kita bisa mendefinisikan himpunan bilangan rasional Q:
Q = {a/b | a ϵ Z ^ b ϵ } atau Q = {a/b | a ϵ Z ^ b ϵ Z ^ b ≠ 0}
Bagaimana dengan bilangan riil R?
R = {r | r adalah bilangan riil}

RELASI DAN FUNGSI
Operasi-operasi dasar
1.      Gabungan (Union)
2.      Irisan (Intersection)
3.      Penjumlahan
4.      Selisih

Diagram venn adalah diagram yang digunakan untuk menyatakan suatu himpunan dengan cara menuliskan anggotanya dalam suatu gambar.
1.      Gabungan (Union)
Misal: A gabungan B (semua unsur di A dan B)
Notasi: A U B
contoh:
A= {1, 2, 3, 4}     
B= {2, 4, 6, 8}     
Jadi, A U B= {1, 2, 3, 4, 6, 8}
2.      Irisan (Intersection)
Notasi: A ∩ B
Contoh:
A= {1, 2, 3, 4}     
B= {2, 4, 6, 8}     
Jadi, A ∩ B= {2, 4}
3.      Penjumlahan
Notasi: A + B
Contoh:
A= {1, 2, 3, 4}     
B= {2, 4, 6, 8}     
A + B= {1, 3, 6, 8}
B + A= {1, 3, 6, 8}
4.      Selisih
Notasi: A – B / B – A
Contoh:
A= {1, 2, 3, 4}     
B= {2, 4, 6, 8}     
A - B= {1, 3}
B - A= {6, 8}

Selisih simetrik
A ∆ B= (A U B) – (A ∩ B)
Contoh:
A= {1, 2, 3, 4} dan B= {2, 4, 6, 8}         
A ∆ B        = (A U B) – (A ∩ B)
      = {1, 2, 3, 4, 6, 8} - {2, 4}
      = {1, 3, 6, 8}

Contoh soal
Diketahui:
S= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
A= {1, 2, 3, 5, 7}
B= {2, 3, 4, 8, 10}
Tentukan:
a.       A U B       = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
b.      A ∩ B       = {2, 3}
c.       A + B        = {1, 4, 5, 6, 7, 8, 9, 10}
d.      A – B        = {1, 5, 7}
e.       B – A        = {4, 8, 10}
f.       A   = {4, 6, 8, 9, 10}
g.      B   = {1, 5, 6, 7, 9}
h.      (A U B)’    = {4, 6, 8, 9, 10}
i.        A ∆ B        = (A U B) – (A ∩ B)
= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} - {2, 3}
= {1, 4, 5, 6, 7, 8, 9, 10}


Sifat-sifat
·         Hukum assosiatif
(A U B) U C = A U (B U C)
(A ∩ B) ∩ C = A ∩ (B ∩ C)
·         Hukum kumulatif
A U B = B U A
A ∩ B = B ∩ A
·         Hukum distributif
A ∩ (B U C) = (A ∩ B) U (A ∩ C)
A U (B ∩ C) = (A U B) ∩ (A U C)
·         Hukum identitas
A U Ï• = A
A ∩ S = A
·         Hukum komplemen
A U A = S
A ∩ A = Ï•
·         Hukum idempoten
A U A = A
A ∩ A = A
·         Hukum ikatan
A U S = S
A ∩ Ï• = Ï•
·         Hukum penyerapan
A U (A ∩ B) = A
A ∩ (A U B) = A
·         Hukum involusi
A = A
·         Hukum de morgan untuk himpunan
(A U B) = A ∩ B
(A ∩ B) = A U B

Latihan!
Diketahui: S= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}           A= {1, 4, 7, 10}   B= {1, 2, 3, 4, 5}   C= {2, 4, 6, 8}
Tentukan:
1.      A U B                               = {1, 2, 3, 4, 5, 7, 10}
2.      B ∩ C                                = {2, 4}
3.      A – B                                = {7, 10}
4.      B – C                                 = {1, 3, 5}
5.      A ∆ B                                = (A U B) – (A ∩ B)
= {1, 2, 3, 4, 5, 7, 10} – {1, 4}
= {2, 3, 5, 7, 10}
6.      B ∩ (C - A)                       = {6, 7, 8, 9, 10} ∩ {2, 6, 8}
= {2, 6, 8}
7.      A ∩ (B U C)                     = {1, 4, 7, 10} ∩ {1, 2, 3, 4, 5, 6, 8}
={1, 4}
8.      (A ∩ B) – C                      = {1, 4} – {2, 4, 6, 8}
= {1}
9.      (A U B) – (C - B)  = {1, 2, 3, 4, 5, 7, 10} – {6, 8}
= {1, 2, 3, 4, 5, 7, 10}
10.  (A ∩ B) U C                     = A U B U {2, 4, 6, 8}
= {2, 3, 5, 8, 9} U {6, 7, 8, 9, 10} U {2, 4, 6, 8}
= {2, 3, 5, 6, 7, 8, 9, 10} U {2, 4, 6, 8}
= {2, 3, 4, 5, 6, 7, 8, 9, 10}



Metode Perancangan Basis Data

 Metode perancangan basis data secara umum dikelompokkan kedalam: 1. Preliminary Design 2. Scratching Methode 1. Preliminary Design, Cirinya...