BAB II DASAR TEORI Pada bab ini akan dibahas beberapa teori pendukung yang digunakan sebagai acuan dalam merealisasikan sistem seperti teori dasar tentang komunikasi serial RS232, Entity Relationship Diagram (ERD), raspberry pi dan protokol User Datagram Protocol (UDP). 2.1. Serial RS232 RS232 adalah standard komunikasi serial yang digunakan untuk koneksi periperal ke periperal. Biasa juga disebut dengan jalur I/O (input / output). Contoh yang paling sering kita temui adalah koneksi antara komputer dengan modem, atau komputer dengan mouse bahkan bisa juga antara komputer dengan komputer, semua biasanya dihubungkan lewat jalur port serial RS232. Standar ini menggunakan beberapa piranti dalam implementasinya. Paling umum yang dipakai adalah plug / konektor DB9 atau DB25 [1]. Dalam pengerjaan skripsi ini yang digunakan adalah konektor DB9. Untuk standar RS232 sendiri ditetapkan oleh Electronic Industry Association and Telecomunication Industry Association pada tahun 1962. Nama lengkapnya adalah EIA/TIA-232 Interface Between Data Terminal Equipment and Data Circuit- Terminating Equipment Employing Serial Binary Data Interchange[2]. Serial Port RS232 juga mempunyai fungsi yaitu untuk menghubungkan / koneksi dari perangkat yang satu dengan perangkat yang lain, atau peralatan standar yang menyangkut komunikasi data antara komputer dengan alat-alat pelengkap komputer. Perangkat lainnya itu seperti modem, mouse, cash register dan lain sebagainya. Serial port RS232 pada konektor DB9 memiliki pin 9 buah[3]. Keterangan serta fungsi dari masing-masing pin yang ada pada DB9 ditunjukkan pada tabel di bawah ini : 5
Tabel 2.1. Keterangan mengenai pin-pin pada serial DB25 dan DB9. Pin DB9 Singkatan Fungsi Pin 1 CD (Carrier Detect) Saat perangkat mendeteksi suatu carrier dari perangkat lain, maka sinyal ini akan diaktifkan. Pin 2 RD (Receive Data) Untuk penerimaan data serial (RDX). Pin 3 TD (Transmit Data) Untuk pengiriman data serial (TDX). Pin 4 DTR (Data Terminal Ready) Untuk memberitahukan bahwa UART siap melakukan pertukaran data. Pin 5 SG (Signal Ground) Dihubungkan ke ground. Pin 6 DSR (Data Set Ready) Memberitahukan UART bahwa perangkat siap melakukan pertukaran data. Pin 7 RTS (Request To Send) Sinyal untuk menginformasikan perangkat bahwa UART siap melakukan pertukaran data. Pin 8 CTS (Clear To Send) Digunakan untuk memberitahukan bahwa perangkat siap untuk melakukan pertukaran data. Pin 9 RI (Ring Indikator) Akan aktif jika ada sinyal masuk. 2.2. Protokol UDP UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Karakteristik dari UDP antara lain, yaitu : 1. Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi. 2. Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, 6
atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan. 3. UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification. 4. UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP. UDP sering digunakan dalam beberapa tugas berikut: 1. Protokol yang ringan (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan.. 2. Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP). 3. Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one [4]. 2.3. Microsoft Visual Studio 2010 Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#,Visual Basic, Visual Basic.NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.Microsoft Visual Studio dapat 7
digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas.net Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas.net Compact Framework) [5]. 2.4. Visual Basic Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM). Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan[6]. 2.5. Entity Relationship Diagram (ERD) ERD adalah model konseptual yang merepresentasikan konsep dari sebuah database seperti apa yang terlihat pada pengguna. ERD menggambarkan komponenkomponen utama database seperti entity, attribute dan relationship. Karena sebuah entitiy merepresentasikan sebuah obyek nyata, kata-kata entity dan obyek seringkali dipakai secara bergantian. Relasi antar entitas dapat dikategorikan menjadi tiga macam, yaitu: 1) Relasi satu ke satu (one-to-one relationship), setiap entitas hanya berelasi dengan satu entitas lainnya. 2) Relasi satu ke banyak (one-to-many relationship), setiap entitas dapat mempunyai relasi lebih dari satupada entitas lainnya. 3) Relasi banyak ke banyak (many-to-many relationship), relasi ini entitas dapat berelasi dengan banyak entitas lainnya [7]. 8
2.6. Raspberry Pi Raspberry Pi atau disingkat Raspi adalah sebuah mini PC atau Komputer Mini seukuran kartu kredit dengan SDcard Memory sebagai Hardisk, karena Raspberry Pi mini membutuhkan daya yang mini juga. Hanya dengan tegangan 5 volt dan arus sebesar 2-3 ampere untuk dayanya. Kita bisa memanfaatkan charger Smartphone yang memiliki adaptor 5 volt sampai 2-3 ampere saja[8]. Layaknya sebuah PC, Raspberry Pi membutuhkan Operating System (OS) agar dapat digunakan. OS ini disimpan dalam Secure Digital (SD) Card yang digunakan juga untuk media penyimpanan data seperti halnya hard disk. OS yang digunakan untuk Raspberry Pi merupakan varian dari OS Linux[9]. Gambar 2.1. Wujud fisik dari raspberry pi tipe B+ Versi 2. Raspberry Pi menggunakan system on a chip (SoC) dari Broadcom BCM2835, juga sudah termasuk prosesor ARM1176JZF-S 700 MHz, GPU VideoCore IV dan RAM sebesar 256 MB. Tidak menggunakan hard disk, namun menggunakan SD Card untuk proses booting dan penyimpanan data jangka panjang[10]. 2.7. Timbangan Digital Huong Dan XK3190-A9 Timbangan digital Huong Dan XK3190-A9 adalah sebuah timbangan yang digunakan untuk berbagai keperluan, biasanya digunakan untuk menimbang barangbarang dengan massa yang cukup besar. Dalam skripsi ini, timbangan digunakan untuk 9
menimbang truk yang datang ke PT. TBM membawa bahan-bahan dasar asbes. Foto dari timbangan digital Hong Dan XK3190-A9 dapat dilihat pada gambar 2.2. Gambar 2.2. Wujud fisik dari timbangan digital Huong Dan XK3190-A9. Ketika ada truk yang datang, truk akan ditimbang di jembatan timbang yang sudah tersedia di PT. TBM. Ketika ditimbang, supir truk harus turun terlebih dahulu agar massa supir truk tidak ikut terhitung. Jembatan untuk penimbangan truk di PT. TBM dapat dilihat pada gambar 2.3. Gambar 2.3. Wujud fisik dari jembatan timbang di PT. TBM. 10
Saat truk datang dan ditimbang, timbangan akan terus mengirimkan data ke raspberry pi secara terus menerus sampai truk sudah tidak melakukan penimbangan lagi dan timbangan menunjukkan angka 0. Dalam 1 frame data yang dikirim oleh timbangan ini, hanya akan ditampilkan 8 digit saja yaitu +0000000 sehingga data bisa lebih mudah untuk dibaca. Satu frame data adalah satu rangkaian data yang dikirim/ diterima oleh sebuah perangkat. Pada format data ini, digit ke-8 merupakan digit yang menunjukkan berapa titik desimal yang ingin digunakan. Pada spesifikasi dari timbangan, timbangan bisa menggunakan hingga 4 titik desimal sehingga apabila digit ke-8 adalah 0 maka tidak ada titik desimal yang digunakan, sedangkan jika digit ke-8 bernilai 1 maka ada 1 angka di belakang koma, bila digit ke-8 bernilai 2 maka digunakan 2 angka di belakang koma, dan seterusnya. Format data timbangan dalam 1 frame ini sudah ditentukan dari pabrik sehingga tidak perlu lagi dilakukan pengubahan terhadap format tersebut. Untuk mengakuisisi data dari timbangan ini, masalah yang dihadapi adalah tidak diketahuinya baudrate yang digunakan oleh timbangan ini. 11