Perancangan Per ancangan Sis S is tem Motion Kam amera era Peng Pengaw awas as Mengg unakan Webcam dan dan Motor Motor Ste Stepp pper er Berbasis Client – Server Server
Muhamad Deky Deky Akbar
[email protected]
Prajna Deshanta Ibnugraha
[email protected] prj@politeknik telkom.ac.id
Mohamad Idham Iskandar
[email protected]
ABSTRAK
Sistem monitoring kamera pengawas menggunakan web camera dan motor stepper berbasis client - server ini ide dasarnya adalah dari pemanfaatan sebuah web camera. Dikarenakan untuk mendapatkan CCTV dan IP Camera relatif tidak mudah dibandingkan web camera baik dari ketersediaan di pasar maupun dari segi harga. Sistem monitoring kamera pengawas menggunakan web camera ini mengadaptasi dari IP Camera atau CCTV yang biasa digun akan sebag se bagai ai alat pengawas pen gawas an. Sistem ini dirancang dirancan g agar dapat dap at bekerja pad a web browser brows er se hingga hingg a sistem ini ini menjadi s istem yang tidak mem memil iliki iki ketergantungan t erhadap s istem operasi tertentu. Adapun dalam rancang sistem monitoring ini, memanfaatkan teknologi motor stepper sebagai penggeraknya. Pemprog Pemprogram raman an C dan script sc ript CGI CGI dimanfaat dimanfaatkan kan dalam pros es ant armuka armuka (interfacing) (interfacing) untuk meng meng gerak kan moto moto r stepper. Motor stepper berfungsi untuk menggerakkan web camera berputar searah jarum jam dan sebaliknya untuk mengikuti gerakan obyek yang di tangkap oleh kamera pengawas secara manual yang digerakan oleh client melalui fitur penggerak kamera. Sistem Sistem monitoring monitoring kamera kamera pen gawas ini dibangun seluruhnya menggu nakan p erangkat lunak beb as (Free Softwar Software), e), seh ingga dapat digun akan dan dikem dikembangkan bangkan s ecara bebas b ahkan diperbolahkan diperbolahkan untuk mendistribusikan mendistribusikan ulang. Sistem Sistem operas i server yan g digunakan ada lah Linux Linux Slackw Slackware, are, dengan web server Apache, databas e server MySQL dan server streamingnya yaitu Motion. Seluruhnya dapat diperoleh secara bebas melalui internet melalui website website pengembangnya. Selain itu penggunaan antarmuka sistem monitoring kamera pengawas ini menggunakan bahasa pemrograman PHP. Sistem monitoring ini juga dapat merekam video hasil dari streaming tanpa batasan waktu dengan memanfaatkan kapasitas pen yimpanan yimpanan h ardisk ardisk pada s erver.
Kata Kunci : Web Camera, Motor Stepper , C, CGI, CGI, PHP
1.
Pendahuluan
dihubungkan dengan pemprograman C dan script
Perkembangan teknologi kamera ditandai dengan
CGI.
munculnya berbagai macam kamera digital, yang
2.
Konsep Dasar Jaringan
dapat digunakan untuk mengambil gambar tidak
Sistem aplikasi Perancangan Sistem Motion
bergerak yang diseb ut foto, serta dap at merekam
kamera pengawas menggunakan Webcam dan Moto r
gambar yang bergerak dalam bentuk video. Salah
Stepper berbas is Client-Server yang d irancang ad alah
satu jenis kamera digital yang melakukan hal-hal
berbasis jaringan. Proto type merupakan s istem yang
tersebut, seperti mengawasi suatu ruangan maupun
dirancang penulis, karena sistem pada dasarnya
gedung
menggunakan model client-server .
adalah
dimanfaatkan
webcam.
sebagai
Webcam
sistem
sendiri
keamanan
dalam
pengambilan gambar secara tersembunyi, selain itu juga webcam ters ebut dapat berkomunikasi data dengan mudah dengan Personal Computer (PC) melalui port USB, sehingga mudah dipasarkan. Adapun
kelemahan
dari
webcam,
yaitu
kurang
mampu mengambil obyek pada ruang gelap yang Model Client-Server
menyebabkan obyek yang ditangkap menjadi kurang jelas.
Pada gambar diatas ada beberapa komponen
Dalam
rancangannya,
webcam
tersebut
das ar pembentukan komunikasi dat a, yaitu meliputi :
memanfaatkan terknologi motor steppler sebagai
a.
Pesan (M essage )
penggeraknya.
b.
Sender
menggunakan
c.
Receiver
C dalam proses
d.
Media Transmisi
antarmuka (interfacing). Fungsi dari motor stepper
e.
Protocol
motor
Akan
steppler
tetapi
juga
dalam meng gerakan
harus
pempograman CGI dan script
adalah menggerakan webcam untuk berputar searah
3.
Sis tem Penggerak
jarum jam dan sebaliknya mengikuti gerakan obyek
Sistem penggerak terkait dengan hardware dan
yang ditangkap oleh kamera peng awas secara manual
mekanik penggerak webcam. Komponen utama dari
yang digerakan oleh clien melalui fitur penggerak
penggerak adalah motor stepper dan rangkaian
kamera.
penguat arus
dari port paralel komputer. Arus
Motor stepper dengan PC dapat dihubungkan
keluaran dari port paralel komputer terlalu lemah
dengan memanfaatkan suatu driver, sehingga dapat
sehingga tidak dapat menggerakkan motor stepper
diperintahkan untuk bergerak melalui PC. Driver
secara
merupakan rangkaian elektronik yang dibuat sendiri,
penguat arus unt uk meny uplai rangkaian motor
dan mendapat masukan dari port parallel PC yang
stepper . Moto r stepp er adalah motor yang dikontrol
kemudian
oleh pulsa-pulsa digital .
keluarannya
dimanfaatkan
untuk
mengontrol gerakan motor stepper sesuai dengan perintah
dari
pemprogaman
PHP
yan g
telah
langsung.
Sehingga
diperlukan
adanya
Moto r stepper adalah motor yang dapat berputar per st ep dengan kemampuan 0.9 sampai 1.8 derajat
bergan tun g pad a karakterist ik dari motor stepper .
4.
Port Pararel DB-25
Moto r stepp er dipergunakan dalam pengendalian
Port paralel (DB-25) adalah salah satu jenis
suatu sistem yang memerlukan putaran yang tepat.
soket pada person al komputer untuk berkomunikasi
Penerapan motor stepper antara lain bisa kita temui
dengan peralatan luar seperti prin ter model lama.
pada Flop py disk
Karena itu parallel port sering juga disebut printer
drive yang digunakan untuk
menggerakkan head baca/ tulis pada disket , motor
port .
stepp er pada prin ter untuk menggerakkan head tinta pada kertas.
Pin DB25 berfung si u ntu k menghu bun gkan data, kontrol, dan status dari port paralel dengan register-
Pengiriman pulsa-pulsa digital baik dari PC atau
register yang ada di dalam komputer. Dengan
PLC selanjutnya akan diterjemahkan oleh motor
mengakses
langsung
register-register tersebut,
stepp er sebagai gerak langkah ( step) sesuai dengan
masukan dan keluaran dari port paralel dapat diatur.
kombinasi pulsa-pulsa digital yang diterima. Arah
Register-regi ster pada p ort paralel adalah :
gerak langkah motor stepper dapat diprogram dengan
1. Register data
komputer PC. Deretan pulsa digital menggunakan
2. Register stat us
kombinasi bit-bit heksadesimal yang ditransmisikan
3. Register con trol
melalui port p aral lel computer PC.
Pada umumnya di komputer person al alamat
Pada umunya terdapat beberapa jenis Motor Stepper, yaitu :
dasar LPT1 adalah 0x378 (378 hexadecimal) dan LPT2 adalah 0x278. Alamat dari ketiga register
Motor Stepper Unipolar
tersebut
diatas
dapat
ditentukan
dengan
Moto r Stepper Unipolar adalah motor stepper
menjumlahkan alamat dasar dari port paralel dengan
yang dapat berputar dua arah tanpa harus
bilangan d esimal terten tu.
membalik arus yang dialirkan ke dalam motor .
5.
Slackware Linux
Slackware merupakan satu diantara beberapa
Motor Stepper Bipolar
Moto r stepper bipola r dapat berputar dua arah
distribusi Linux tertua. Pertama kali dikembangkan
namun dengan cara yang berbeda dari motor
pada tahun 1992 oleh Parick Volkerding dengan
stepp er
uni pol ar .
Untuk
membalik
kutub
menggunakan basis distribusi Linux SLS. Slackware
elektromagnet dalam motor stepper bipolar
masih
harus
Slackware tidak terdapat jadwal rilis reguler seperti
dilakukan
dengan
membalik
arus
aktif
dikembangkan,
sehingga
dalam
masukan dari motor stepper .
pada distribusi Ubunt u, Fedora dan distribusi Linux
Konsep Dasar Motor Stepper
yang lain.
Moto r stepper berbeda dengan motor DC,
6.
Moto r
DC akan
berputar
terus-menerus
Streaming Server
Streaming
server
yang
digunakan
untuk
apabila diberi arus listrik dan akan berhenti
melakukan streaming ke jaringan komputer secara
bila arus listrik diput us . Sedangkan moto r
keseluruhan
stepper hanya akan berputar perlangkah ( per-
opensource. Server dibangun dengan sistem operasi
step ) apabila diberi arus listrik.
Linux. Sedangkan software streaming menggunakan
dibangun
menggunakan
software
Motion. Software tersebut berlisensi GNU GPL
(GNU General Public License). Motion merupakan
MySQL adalah sebuah perangkat lunak sistem
software yang dapat digunakan untuk melakukan
manajemen basis data SQL (database management
monitoring satu atau lebih dari kamera. Software ini
system) atau DBMS yang multithread , multi-user .
juga dapat melakukan pend eteksian t erhadap gerakan
MySQL merupakan sebuah implementasi dari sistem
yang terjadi. Hasil keluaran software Motion ini
manajemen
dapat berupa file jpeg, swf, flv, mpeg4 dan mpeg1.
didistribusikan secara gratis dibawah lisensi GPL
7.
Sistem Kendali
(General Public License). MySQL juga merupakan
Sistem kendali dari sistem video monitoring ini
turunan salah satu konsep utama dalam basis data
berup a program aplikasi yang ditulis dengan bah asa
yang telah ada sebelumnya SQL (Structured Query
pemrograman
Lang uag e).
C dan
CGI. Program aplikas i ini
berfung si untuk meng irimkan data ke port paralel yang dihuhubungkan ke rangkaian penguat arus, sehingga dapat mengatur putaran motor stepper.
basisdata
relasional
(RDBMS)
yang
10. Pemprograman Web Dengan PHP Hypertext Preprocessor adalah akronim untuk
PHP, yang artinya adalah terdapat sebuah halaman aktif pada sebuah server . Halaman yang dimaksud
A. Common Gateway Interface (CGI)
Common Gateway Interface (CGI) adalah
sebuah file dengan extension .php (file PHP) dan
suatu standar untuk menghubungkan berbagai
server yang dimaksud adalah sebuah komputer yang
program aplikasi ke halaman web. Pada awalnya
didalamnya terdapat web server (seperti Apache)
CGI adalah salah satu yang mendekati aplikasi
yang aktif. Web server akan meng-interpreter file-file
server-side programming. CGI merupakan bagian
PHP, sehingga perintah kode PHP tidak akan pernah
dari web server yang dapat berkomunikasi dengan
dapat diketahui client hanya hasilnya saja yang akan
program lain yang ada d i server.
sampai ke komputer client . Script PHP dapat terletak
B.
di mana saja dan dapat berkombinasi dengan tag-tag
Bahasa Pemrograman C
Bahasa pemrograman
C
termasuk
tingkat
sebagai
menen gah , yang
bahasa
HTML. Adapun script PHP memiliki 4 komponen
bisa
dasar yang penting dan menjadikannya berarti yaitu
digunakan untuk merekayasa program dari segala
nilai, variable, array dan operator .
kebutuhan, baik untuk aplikasi bisnis, matematis
11. Web Camera
atau bahkan game. 8.
Kamera web yang akan digunakan berfungsi
Apache Web Server
sebagai pengganti kamera CCTV. Kamera web
Server HTTP Apache atau Server Web/WWW
memiliki
harga
yang
atau
IP
murah
dibandingkan
banyak sis tem operasi (Unix, BSD, Linux, M icrosoft
Kamera web ini digunakan untuk mengambil gambar
Windows dan Novell Netware serta pla tform lainnya)
dari obyek bergerak. Pemilihan web kamera Logitech
yang berguna untuk melayani dan memfungsikan
C200 karena aspek dukungan dari sistem operasi
situs web. Proto k ol yang digunakan untuk melayani
Linux. Web kamera Logitech C200 sudah dikenali
fasilitas web/www ini menggunakan HTTP.
dengan baik oleh kernel Linux terbaru.
Database MySQL
CCTV
lebih
Apache adalah server web yang dapat dijalankan di
9.
kamera
relatif
Camera.
Kaki-kaki
12. Gambaran Umum Sis tem
Sistem
monitoring
stepper
(unipolar)
akan
pengawas
terhubung ke pin 11, 12, 13, 14 dan 9 dari IC UNL
menggunakan web camera berbasis client-server
2003. Khusus untuk kaki 9 dari UNL 2003 sebelum
yang dibangun ini terdiri dari tiga bagian, sistem
terhubung ke kaki common motor stepper dan ke +12
penggerak,
user
volt DC terlebih dahulu dihubungkan dengan sebuah
interface. Sistem penggerak dan kendali didalamnya
dioda zener. Sedangkan untuk pin 3, 4, 5 dan 6 UNL
meliputi
dan software kendali.
2003 akan terhubung ke pin no 2, 3, 4 dan 5 DB25
Sistem penggerak dan kendali ini berfungsi untuk
yang selanjutnya akan terkoneksi ke port pararel (port
memutar
printer) dari mesin server.
sis tem
sistem
mekanik
kamera
sebaliknya.
video
kamera
motor
streaming ,
web searah
Sistem
video
jarum
dan
jam
dan
streaming merupakan
Dalam perancangan kamera penggerak, motor
software yang berfungsi mengambil gambar bergerak
stepper yang digunakan diambil dari sebuah printer
dengan web camera, kemudian di proses sehingga
bekas den gan no se ri moto r stepp er STH-39H202.
dapat ditampilkan melalui live streaming dengan
Kaki-kaki dari motor stepper tersebut memiliki warna
menggunkan software Motion. Yang terakhir, User
yang berbeda kecuali untuk common , sehingga
interface merupakan
berhubungan
untuk mengetahui kaki-kaki yang bertindak sebagai
langsung dengan pengguna. User interface ini
coil 1, coil 2, coil 3 dan coil 4 dilakukan pengujian
menghubungkan antara sistem penggerak, kendali
secara manual.
sistem
yang
dan sistem video streaming . User interface dibangun menggu nakan bah asa pemprograman PHP.
Pengujian s ecara manual dap at dilakukan dengan menjepitkan kaki common motor stepper ke kutub pos itif (+12 volt DC) power su pply sementara untu k ground power supply dikaitkan ke salah satu kaki motor
stepper
secara
bergantian
dan
amati
pergerakan moto r-nya. Tentukan su su nan kaki/kabel motor stepper dari kaki 1 – 4 yang memiliki pergerakan s earah. Setelah seluruh komponen pengendali selesai dibuat, selanjutnya komponen tersebut baik motor, Gambaran Umum Sis tem 13. Implementasi
rangkaian pengendali motor, dan dudukan kamera disatukan dalam kerangka alat. Kerangka alat dibuat dari bahan alumunium dengan maksud supaya alat tersebut
ringan,
tahan
karat,
dan
dapat
menghantarkan panas yang dihasilkan oleh motor stepper sehingga mengurangi panas pada motor stepper. Kecepatan putaran dapat diatur menggunakan delay yang didefinisikan ke dalam fungsi delay, Desain Sederhana Rangkaian Elektronika
sehingga dapat dipanggil ulang oleh program utama.
Fungsi delay berisi looping yang berfungsi menunda
2.
Pengujian Terhadap Fasil itas Web
pengeksekusian program utama. Berikut ini kode
Fasilitas yang diperoleh oleh client hanya
program penggerak moto r st epper dalam bah asa
layanan video streaming saja, sedangkan fasilitas
pemrograman C dan script CGI se cara lengkap.
administrator
14. Pengujian Sistem
streaming , menggerakan kamera, manajemen user
1.
Sistem Streaming
Sistem
video
mendapatkan
fasilitas
dan view image.
streaming
ditangani
oleh
program st reaming server Mot ion. Konfiguras i Motion
seperti
yang
telah
dijalaskan
akan
membuka port 8081 sebagai konfigurasi melalui antar muka web. Untuk menjalankan aplikasi Motion hanya dengan perintah :
Tampilan awal s aat web dibuka Program Motion dijalankan
Untuk melihat port yang terbuka digunakan perintah :
Tampilan administrator Port yang terbuka
Memanggil
program
Motion
dengan
memanggil ip dan port-ny a.
Tampilan manajemen user
Pengujian streaming pada 192.168.1.2:8081
Tampilan daftar image
video
Pada
browser pengujian
pertama
video
streaming supp ort terhadap web browser Google Chrome v13. c.
Internet Explorer
Tampilan view image 3.
Pengujian Terhadap Web B rowser yang Berbeda
Untuk tahap pengujian kali ini, sistem akan di Web browser Internet Explore 8
uji dengan menggunkan tiga web browser yaitu Mozilla
Firefox
6,
Google
Chrome
v13
Internet Explore 8. a.
Sedangkan
dan
Mozilla Firefox 6
pengujian
Internet Explorer, didapatkan
pada
web
browser
bahwa gambar has il
streaming tidak dapat ditampilkan, sehingga hanya terlihat antarmuka tanpa gambar hasil streamin g . Hal ini dikarenakan Motion browser Internet Explorer tidak mendukung format gambar m-jpeg yang dihasilkan oleh streamin g Motion. 4.
Penggunaan Media Penyimpanan
Pada pengambilan data ini, dilakukan dengan menjalankan perekaman video dalam durasi selama Web browser Mozilla Firefox 6
Pada web browser pengujian pertama video streamin g support terhadap web browser Mozilla Firefox 6. b.
Google Chrome v13
3 menit menggunakan stop watch. Kemudian, hasil dari rekaman video tersebut dilihat ukuran dari file video dan gambar yang dihasilkan. Dari
hasil
perekaman
selama
3
menit,
diketahui besar dari ukuran file video yang dihasilkan adalah s ebes ar 3.6 MB dan gambar yang dihasilkan
terdapat
1299
file
dengan
ukuran
kesemua gambar sebesar 56.9 MB, total apabila video dan gambar di gabungkan maka sebesar 60.5 MB. Artinya pe ngukuran ruang p enyimpanan video dan gambar selama 3 menit sebesar 60.5 MB. 5.
Waktu Proses dan Putaran Kamera
Waktu proses adalah respon gambar hasil Web browser Google Chrome
streaming terhadap instruksi gerakan kamera yang diberikan melalui antarmuka web. Pengukuran putaran kamera dilakukan dengan meng hitung
sudut setiap langkah kamera, serta kecepatan
26
2
1.7
1.6
put aran per- step searah jarum jam dan sebaliknya.
27
2
1.2
1.5
Pengukuran
menggunakan
28
2.4
1.4
1.6
bantuan stop watch. Pengambilan data dilakukan
29
1.9
1.4
1.6
sebanyak 30 kali dengan jarak 2 meter antara
30
2.2
1.1
1
dilakukan
dengan
kamera pengawas dengan client . Waktu Proses No
pada Web
Putaran Searah Jarum Jam (detik)
(detik)
Data waktu proses dan putaran k amera Putaran
Dari hasil pengukuran waktu respon gambar
Berlawan
hasil streaming terhadap instruksi gerakan kamera
Arah
di web dan putaran kamera sistem monitoring ,
Jarum Jam
dapat diketahui bahwa rata-rata waktu proses
(detik)
respon gambar hasil streaming terhadap instruksi
1
2
1.9
1.4
gerakan kamera sistem monitoring ini sebesar 2.22
2
2.6
1.7
1.5
detik dan sistem monitoring gerak kamera dapat
3
2.3
1.6
1.6
menjangkau su dut pandan g ho rizontal 360°.
4
1.8
1.7
1.6
Untuk rata-rata pergerakan step kamera searah
5
2.3
1.6
1.6
jarum jam se bes ar 1.56 detik, beg itu pula den gan
6
2
1.9
1.7
dengan
7
2.7
1.3
1.6
berlawanan arah jarum jam sebes ar 1.58 detik
8
2.7
1.7
1.7
dengan setiap langkah putaran masing-masing
9
2.5
1.6
1.8
seb esar 18°.
10
2.4
1.7
1.8
11
2.8
1.4
1.5
12
2.6
1.6
1.7
Berdasarkan dari pengujian fungsional dan
13
1.8
1.7
1.9
kinerja sistem monitoring, dapat ditarik beberapa
14
2.3
1.7
1.4
15
2.4
1.8
1.8
16
1.9
1.8
1.8
17
2.4
1.6
1.8
18
2.4
1.8
1.6
19
2.4
1.5
1.5
20
2.3
1.6
1.9
21
2.1
1.5
1.2
22
1.6
1.3
1
23
2
1.5
1.6
24
2.1
1.3
1.5
25
1.7
1.3
1.6
rata-rata
pergerakan
step
kamera
15. Kesimpulan
kesimpulan sebagai berikut : 1.
Sistem monitoring dapat diimplementasikan dan
bisa
diakses
menggunakan
browser
Mozilla Firefox 6 dan Google Chrome. 2.
Sistem
monitoring tidak
dapat
diakses
menggunakan browser Internet Explorer 8 karena Motion browser Internet Explorer tidak mendukung
format
gambar
m-jpeg
yang
dihasilkan oleh streamin g Motion. 3.
Sistem monitoring dapat diakses dengan baik oleh client dengan sistem Windows XP dengan Prosesor Core 2 Dou dengan RAM 1 GB.
4.
Penggunaan media penyimpanan server pada
and Ahmad Ashari. (2008). Linux System
ruang seb esar
Admini strator . Bandun g : Informatika.
Rangkaian
60,5 MB untu k streamin g [3].
driver motor
stepper dapat
Membuat
rata-rata
pergerakan step kamera
[4].
Nugroho,
Interaktif
Bunafit.
searah jarum jam sebesar 1.56 detik, begitu
Konfigurasi
pula den gan dengan rata-rata pergerakan step
Yogyakarta : ANDI.
(2004). dengan
[5].
(2005).
Jaringan
Instalasi
Windows
&
&
Linux.
Kadir, Abdul. (2008). Dasar Pemrograman
1.58 detik dengan setiap langkah putaran
Web Dinamis Mengg unakan PHP. Yogyakarta
masing-masing sebesar 18°.
: ANDI.
Untuk
Piclist.com, Operation principle of stepper motor.
pengembangan
sistem
sejenis
ke
antara lain :
(Online).
Tersedia
:
http://www.piclist.com/images/www/hobby_el
depannya dapat dilakukan beberapa pegembangan
ec/ e_s tep1.ht m [10 Mei 2011 - 22.15] [7].
Khannedy,
Eko
dari satu kamera dengan has il streamin g yang
UNIKOM.
ditampilkan
http://www.scribd.com/doc/5040002/Pemrogra
dapat
mengingat software
menangani
kamera
dalam
jumlah banyak.
(Online)
(2007).
Pemrograman
terpisah
C.
Kurniawan.
Sistem monitoring dapat menggunakan lebih
Motion
Bandung
:
Tersedia
:
man-C-Indonesia [11 Mei 2011 - 23.30] [8].
UNIKOM.
(Online).
Tersedia
:
Sistem monitoring dapat supp ort dengan web
http://elib.unikom.ac.id/download.php?id=661
browser Int ernet Explorer.
0 [31 Juli 2011 – 21.38]
Penambahan motor stepper dapat membuat
[9].
Joni, I Made, Budi Raharjo. (2006). Cara
sis tem kamera dapat bergerak vertikal.
Mudah
Penambahan sistem pendingin yang baik pada
Implementasinya. E-Book. Bandung.
sistem penggerak agar dapat meningkatkan umur rangkaian elektronik dan motor stepper .
Referensi
[1].
Website
ANDI.
Wahana Komputer, Yogyakarta : ANDI.
16. Saran
4.
and
menjangkau sudut pandang horizontal 360°,
[6].
3.
computer
Macromedia Dreamweaver MX. Semarang :
kamera berlawanan arah jarum jam sebesar
2.
Wahana
dibangun sehingga Sistem monitoring dapat
dengan
1.
Bambang, Wilfridus T. H, Bernard Renaldy S
pros es perekaman streamin g menghabiskan
selama 3 menit. 5.
[2].
Azikin,
Askari.
(2005).
Kamera
Pengawas
Berbasis Open Source. Jakarta : Elex Media Komputindo.
Mempelajari
Pemrograman
C
&