Hallo jack sist. Lagi bingung masalah ADT? Program Java, C atau yang lain? jangan ke klinik Tongfang, soalnya disana belum ada ADT solution. Yang ada malah ADT yang lain (Asma Diabetes dan Tumbakcucukan). Berikut saya mau berbagi informasi, karena sesuai dengan UKM PCC (Politeknik Computer Club) yang pernah saya ikuti dulu yang punya jargon, BLESSED FOR BLESSING (oops salah, itu UKM rohani saya, Rokris tercinta hehe) yang bener SHARE YOUR KNOWLEDGE, karena ilmu tidak akan pernah habis jika dibagi, maka dari itu saya mau tentang apa itu ADT yang sesungguhnya. hahaha -___-
ADT atau Abstract Data Type yang kalo di indonesiakan jadi Tipe Data Abstrak, maksudnya tipe data yang dibuat oleh programer sendiri yang memiliki nilai dan nama tertentu. Hi kesuen basa basi ne, langsung program gan.
Yang pertama yang mau saya bahas adalah ADT POINT.
Sebelum masuk ke programnya, lebih dulu kita harus kenal beberapa istilah berikut :
- CAR = adalah fungsi yang akan menghasilkan elemen pertama dari suatu list. Misal ada list 1 2 3 4, maka kalo car (list 1 2 3 4) hasilnya adalah 1.
- CDR = adalah fungsi yang akan menghasilkan list L tanpa elemen pertama. Misal ada list 1 2 3 4, maka kalao CDR (list 1 2 3 4) hasilnya adalah list (2 3 4).
- CONS = ekspresi, list yang akan menghasilkan list L dengan penambahan elemen pertama ekspresi.
ADT POINT
Berikut adalah pembahasan programnya :
Type Point
fungsi untuk menampilkan titik x,y saja dengan menggunakan fungsi list.
defun poin(x y) ('(x y))
Menentukan Absis atau Sumbu X
fungsi untuk menentukan nilai x dari suatu masukkan x,y tertentu.
defun absis(A) (car A)
Menentukan Ordinat atau Sumbu Y
fungsi untuk menentukan nilai y dari suatu masukkan x,y tertentu.
defun ordinat (A) (car (cdr A))
MakePoint
hlaiske -___- yang ini masih belum maksud saya. Haha. Tapi harus tetep staycool :)
Fungsi IsOrigin?
fungsi yang digunakan untuk mengecek masukan x,y apakah titik awal (0,0) atau tidak. seperti biasa koding dengan menggunakan kondisional True or False.
defun IsOrigin(A) (and (= (absis A) 0) (= (ordinat A) 0))
Fungsi untuk menghitung Jarak dari dua titik
ada beberapa fungsi yang kita gunakan buat ngrjain soal yang ini. Tapi sebelumnya pahami dulu rumus matematika untuk mencari dua buah titik A(x1, y1) dan B(x2, y2).
defun absis(A) (car A)
defun fx1 (A) (absis A)
defun fy1 (A) (car (cdr A))
defun fx2 (A) (car (cdr (cdr A)))
defun fy2 (A) (car (cdr (cdr (cdr A))))
defun fungsikuadrat(x) (* x x)
defun JARAK(A)
(
sqrt (+ (fungsikuadrat (- (fx1 A) (fx2 A))) (fungsikuadrat (- (fy1 A) (fy2 A))))
)
Fungsi untuk menghitung Jarak Titik A dengan pusat (0,0)
rumus sama dengan yang sebelumnya.
Fungsi Kuadran
Fungsi untuk menentukan berada di kuadran berapa titik yang kita masukkan berdasarkan koordinat yang dibaca. Kuadran masih ingatkan? Yang biasa kita pake pas ngitung sin cos tan dkk.
Nah gitu teman beberapa helai koding yang bisa saya share. Jangan lupa pahami dulu maksudnya ya, biar kedepannya, lebih mudah dalam pengerjaannya. Monggo kalo ada ralat langsung dimasukkan ke kolom komentar ya jack sist :)
Untuk ADT Pecahan dan ADT Date, masih belum. Ntar kalo udah saya kerjain saya coba update lagi disini. Yuk follow twitter nya guwe di @goandrew92 atau yang mau kenal lebih dekat bisa lewat FB juga bisa. Lebih dekat tu maksudnya ga mepet banget, santai saja haha.
HORE CHELSEA menang !! 6-0 lawan Arsenal ndaa .. ahaha.
Oke deh, thx udah mampir. Maaf kalo ada kesalahan tapi kalo ga ada ga usah dimaafkan.
Sukses and God Bless :)