Friday, January 28, 2022

 Privacy Policy

Alexander Dennis ,Tenny Agatha, Aldin built the ToDoListKuh app as a Free app. This SERVICE is provided by Alexander Dennis ,Tenny Agatha, Aldin at no cost and is intended for use as is.

This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.

If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which are accessible at ToDoListKuh unless otherwise defined in this Privacy Policy.

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information. The information that I request will be retained on your device and is not collected by me in any way.

Log Data

I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third-party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third-party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.

Service Providers

I may employ third-party companies and individuals due to the following reasons:

  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.

I want to inform users of this Service that these third parties have access to their Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Security

I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

Children’s Privacy

I do not knowingly collect personally identifiable information from children. I encourage all children to never submit any personally identifiable information through the Application and/or Services. I encourage parents and legal guardians to monitor their children's Internet usage and to help enforce this Policy by instructing their children never to provide personally identifiable information through the Application and/or Services without their permission. If you have reason to believe that a child has provided personally identifiable information to us through the Application and/or Services, please contact us. You must also be at least 16 years of age to consent to the processing of your personally identifiable information in your country (in some countries we may allow your parent or guardian to do so on your behalf).

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page.

This policy is effective as of 2022-01-29

Contact Us

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at Alexander.suwardi@binus.ac.id.

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

Tuesday, April 28, 2020

AVL tree

AVL tree adalah salah satu cara rebalancing dari BST yang tidak seimbang antara node kanan dan node kiri .
BST memiliki kekurangan yaitu jika user memsasukkan input dengan angka yang terus bertambah maka salah satu cabang akan memiliki depth yang lebih dari yang lainnya. AVL tree bisa membantu meminimalisir hal ini.

BST yang mau di seimbangkan dapat dilakukan :
- Single rotation untuk menyeimbangkan tree yang dimana node yang menyebabkan masalah ada di bagian kanan dari node kanan dari node yang tidak seimbang atau bagian kiri dari bagian node kiri yang tidak seimbang
- double rotation untuk menyeimangkan tree dimana node yang menyebabkan masalah berada di bagian kiri dari node bagian kanan yang tidak seimbang atau node bagian kanan dari node kiri dari node yang tidak seimbang

Tuesday, March 10, 2020

Hashing and binary tree

Hashing

Hashing adalah merubah sebuat string ke dalam bentuk aritmatik yang merepresentasikan string tersebut. Hashing memasukkan bentuk aritmatik tersebut sebagai key dan memasukkannya ke dalam hash table

ada beberapa cara mendapatkan key yaitu:
1. mid-square
2. division
3. folding
4. digit extraction
5. rotating hash

jika ada beberapa string yang masuk ke dalam 1 array yang sama disebut dengan collision. Collision dapat di selesaikan dengan beberapa cara yaitu:
1. Linear Probing -> memasukkan string yang akan di masukkan ke dalam array yang sudah ada isinya tersebut ke array kosong terdekat.
2. Chaining -> tetap memasukkan string tersebut ke dalam srray yang sama dan menghubungkannya dengan linked list

Hashing digunakan dalam cryptographic untuk memperkecil output yang di keluarkan dan membuat transaksi menjadi aman dan tidak dapat di artikan oleh orang lain selain program itu sendiri.


Binary Tree

node yang paling atas disebut dengan Root

node yang dibuat dengan struct akan seperti ini
struct node {
  int data;
  struct node *left;
  struct node *right;
  struct node *parent;
};
struct node *root = NULL;


jika suatu node tidak memiliki child pointernya diisikan NULL

Tuesday, March 3, 2020

pertemuan 2

Linked list

ada 2 hal yang dapat dilakukan pada linked list yaitu
1. Push / insert -> push atau insert digunakan untuk menambahkan node dari sebuah linked list
2. Pop -> pop digunakan untuk menghilangkan sebuah node

A. Push
push dibedakan jadi 3 yaitu:
1. Push depan -> push depan berarti menambahkan node di depan linked list dan node baru itu menjadi node head. Harus diperhatikan bahwa node baru harus menunjuk ke node head yang lama baru node head bisa dipindahkan ke node yang baru ditambahkan.
2. Push belakang -> push belakang berarti menambahkan node menjadi tail sebuah linked list harus diperhatikan bahwa node yang baru harus memuliki nilai next yaitu NULL (kecuali  circular linked list). push belakang juga harus memperhatikan tail yang lama untuk menunjuk ke pada node yang baru.
3. Push tengah -> push tengah yaitu menambahkan node ke dalam linked list yang sudah ada. Perlu diperhatikan bahwa node sebelum harus menunjuk node yang baru tersebut dan node yang baru menunjuk node setelahnya agar linked list tetap berhubungan.

B. Pop
Pop dibedakan menjadi 3 yaitu:
1. Pop depan-> menghilangkan node head. Perlu dperhatikan bahwa node head harus dipindahkan dulu ke node sebelahnya baru melakukan free() pada node pertama.
2. Pop tengah-. menghilangkan node di antara head dan tail. Perlu diperhatikan bahwa node yang ada sebelum node yang akan di Free di hubungkan dulu ke node yang ada sesudah node yang akan di free baru bisa melakukan Free() kepada node yang ingin di hapus.
3. Pop belakang-> melakukan free pada node tail. perlu diperhatikan bahwa node tail harus dipindahkan dulu ke node sebelum yang kita inginkan untuk di hapus lalu melakukan Free() pada node paling akhir. Perlu juga diingat untuk memberikan nilai next pada tail yaitu NULL.

Tuesday, February 25, 2020

GSLC 1


Linked List adalah urutan data yang saling berhubungan.

CIRCULAR LINKED LIST
Circular linked list merupakan linked list dimana pointer tail menunjuk kepada pointer head dari linked list itu sendiri. Berbeda dari Single Linked List, Circular Single Linked List pada praktiknya tidak akan memiliki pointer yang menyimpan nilai NULL, karena semuanya saling terkoneksi membentuk loop.

DOUBLY LINKED LIST
Konsep double linked list sama seperti single linked list tapi yang membedakan yaitu setiap node mamiliki 2 hubungan yaitu dengan list sesudahnya dan sebelumnya.Dengan kata lain setiap node memiliki 2 pointer.
DOUBLY LINKED LIST: INSERT
Saat akan memasukka suatu list ke list yang sudah ada harus memperhatikan 2 node yang akan di geser agar list pointer next list sebelum menunjuk ke list kita yang baru dan pointer prev node sesudah menunjuk ke node baru.
DOUBLY LINKED LIST: DELETE
Ada 4 kondisi yang harus diperhatikan saat ingin mendelete suatu node:
1.      Node tersebut adalah satu satunya node dalam linked list
2.      Node tersebut adalah head
3.      Node tersebut adalah tail
4.      Node tersebut bukan merupakan head maupun  tail
CIRCULAR DOUBLY LINKED LIST
Mirip dengan single linked list circular doubly linked list seolah olah memiliki 2 loop yaitu:
1.      Loop 1: saat berada di node terakhir pointer next menunjuk ke head node
2.      Loop 2: saat berada di node pertama pointer prev  menunjuk ke tail node