BAB II LANDASAN TEORI Dalam penelitian digunakan beberapa landasan teori yang diperlukan untuk membantu dalam penelitian dan pengamatan terhadap sistem yang berjalan maupun pembahasan masalah. Teori-teori pendukung yang berhubungan dengan penulisan penelitian ini adalah : 2.1 Aplikasi 2.1.1 Pengertian Aplikasi Perangkat lunak aplikasi yaitu perangkat lunak yang digunakan untuk membantu pemakai komputer untuk melaksanakan pekerjaannya. Jika ingin mengembangkan program aplikasi sendiri, maka untuk menulis program aplikasi tersebut, dibutuhkan suatu bahasa pemrograman, yaitu language software, yang dapat berbentuk assembler, compiler ataupun interpreter. Jadi language software merupakan bahasanya dan program yang ditulis merupakan program aplikasinya. Language software berfungsi agar dapat menulis program dengan bahasa yang lebih mudah, dan akan menterjemahkannya ke dalam bahasa mesin supaya bisa dimengerti oleh komputer. Bila hendak mengembangkan suatu progra aplikasi untuk memecahkan permasalahan yang besar dan rumit, maka supaya program aplikasi tersebut dapat berhasil dengan baik, maka dibutuhkan prosedur dan perencanaan yang baik dalam mengembangkannya. Sekarang, banyak sekali program-program aplikasi yang tersedia dalam bentuk paket-paket program. Ini adalah program-prog ram aplikasi yang sudah ditulis oleh orang lain atau perusahaanperusahaan perangkat lunak. Beberapa perusahaan perangkat lunak telah memproduksi paket- paket perangkat lunak yang mempunyai reputasi internasional. Program-program paket tersebut dapat diandalkan, dapat memenuhi kebutuhan pemakai, dirancang dengan baik, relatip bebas dari kesalahankesalahan, user friendly (mudah digunakan), mempunyai dokumentasi manual yang memadai, mampu dikembangkan untuk kebutuhan mendatang, dan didukung perkembangannya. Akan tetapi, bila permasalahannya bersifat khusus dan unik, sehingga tidak ada paket- paket program yang sesuai untuk digunakan, maka dengan terpaksa harus 6 http://digilib.mercubuana.ac.id/ mengembangkan program aplikasi itu sendiri (Jogiyanto Hartono, 2010, pp397-398) 2.2 Android 2.2.1 Pengertian Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. (Nazrudin Safaat, 2012, p1): Android adalah komprehensif platform untuk pertama perangkat yang bersifat mobile. terbuka Sederhananya, dan Android adalah kombinasi dari tiga komponen, yaitu (Meier, 2010, p4): 1. Sistem operasi yang bersifat open source untuk perangkat mobile. 2. Sebuah open source platform untuk menciptakan aplikasi mobile. 3. Perangkat, telepon seluler khususnya, yang menjalankan sistem operasi Android dan aplikasi dibuat untuk itu. Lebih spesifiknya, Android terdiri dari bagian-bagian yang saling dibutuhkan dan saling bergantung, seperti (Meier, 2010, p4): 1. Sebuah desain referensi kemampuan yang dibutuhkan hardware untuk yang menggambarkan sebuah perangkat mobile untuk mendukung software stack. 2. Sebuah kernel sistem operasi Linux yang menyediakan antarmuka tingkat rendah dengan hardware, manajemen memori, dan kontrol proses, semua dioptimalkan perangkat mobile. 3. Open source libraries untuk pengembangan aplikasi, termasuk SQLite, WebKit, OpenGL, dan media manager. 4. Sebuah run time yang digunakan untuk mengeksekusi dan host aplikasi Android, termasuk Dalvik virtual machine dan core libraries yang menyediakan fungsi spesifik dari Android. Run time ini dirancang kecil dan efisien untuk digunakan perangkat mobile. 7 http://digilib.mercubuana.ac.id/ 5. Sebuah framework aplikasi yang menghadapkan layanan sistem ke lapisan aplikasi, termasuk window manager dan location manager, penyedia konten, telephony, dan sensor. 6. Sebuah framework antarmuka yang digunakan sebagai host dan menjalankan aplikasi. 7. Aplikasi yang sudah terpasang sebagai bagian dari stack. 8. Sebuah software development kit yang digunakan untuk membuat aplikasi, termasuk tools, plug-ins, dan dokumentasi. Berikut layanan-layanan aplikasi yang menjadi pilar arsitektur dari semua aplikasi Android (Meier, 2010, p15): a) Activity Manager, digunakan untuk mengontrol daur hidup dan aktivitas, termasuk manajemen aktivitas stack. b) Views, digunakan untuk membangun user interfaces untuk aktivitas. c) Notification Manager menyediakan mekanisme yang konsisten dan tidak mengganggu untuk memberitahu user. d) Content Providers membiarkan aplikasi berbagi data. e) Resource Manager mendukung non-code resources seperti strings dan Grafis. 2.3 Tag Posisi Google Map Goggle Maps adalah Sebuah aplikasi pemetaan online yang cukup populer. Pada Google Maps, titik koordinat suatu tempat ditunjukkan dengan sistem koordinat geografis, oleh Sirenden (2012). 2.3.1 Google Maps API Merupakan aplikasi antarmuka yang dapat diakses lewat javascript agar Google Maps dapat ditampilkan pada halaman web yang sedang kita bangun, oleh Sirenden (2012). 2.3.2 Sistem Koordinat Geografi Google Maps Garis lintang adalah garis maya yang melingkari bumi ditarik dari arah barat hingga ke timur atau sebaliknya , sejajar dengan equator (garis 8 http://digilib.mercubuana.ac.id/ khatulistiwa). Garis lintang terus melingkari bumi, dari equator hingga ke bagian kutub utara dan kutub selatan bumi. Menurut penamaannya, kelompok garis yang berada di sebelah selatan equator disebut Lintang Selatan (S). Sedangkan kelompok garis yang berada di sebelah utara equator disebut Lintang Utara (U). Jarak antar garis dihitung dalam satuan derajat. Garis lintang yang tepat berada pada garis khatulistiwa disebut sebagai 0º (nol derajat). Makin ke utara atau ke selatan, angka derajatnya makin besar hingga pada angka 90º (Sembilan puluh derajat) pada ujung kutub utara atau kutub selatan. Satuan derajat bisa juga disebut Jam sehingga setiap derajat terbagi menjadi 60 menit (diberi symbol „) dan setiap menit terbagi lagi menjadi 60 detik (diberi symbol ”). Jika misalnya garis lintang suatu tempat tertulis seperti ini : 57º 27′ 14”S, maka dibaca sebagai 57 derajat 27 menit 14 detik Lintang Selatan. Pada system pemetaan internasional huruf U sebagai Lintang Utara diganti dengan huruf N (North). Sedangkan Lintang Selatan menggunakan huruf S Garis Lintang menandakan perbedaan zona iklim di bumi. Daerah diantara garis Khatulistiwa yang diapit oleh garis cancer dan garis capricorn (antara 23,27 o LU – 23,27 o LS) disebut daerah tropis, karena di sanalah sepanjang waktu matahari bersinar pada siang hari, di daerah ini hanya dikenal 2 musim yaitu musim panas dan penghujan. Sementara daerah antara 23,27o LU dan 66,33oLU serta antara 23,27oLS dan 66,33oLS disebut daerah sub-tropis, di daerah ini dapat terjadi 4 musim yaitu musim panas, musim gugur, musim dingin, dan musim semi. Sementara di daerah dekat Kutub utara dan selatan (90oLU dan 90oLS) dapat terjadi masa dimana dalam satu hari tidak muncul matahari, atau sebaliknya dalam satu hari matahari selalu bersinar (dikenal dengan istilah matahari tengah malam) Garis Bujur adalah garis maya yang ditarik dari kutub utara hingga ke kutub selatan atau sebaliknya. Dengan pengetahuan seperti itu berarti derajat antar garis bujur semakin melebar di daerah khatulistiwa dan makin menyempit di daerah kutub. Jika pada Garis Lintang, daerah yang dilalui garis khatulistiwa (equator) dianggap sebagai nol derajat, untuk 9 http://digilib.mercubuana.ac.id/ Garis Bujur, tempat yang dianggap sebagai nol derajat adalah garis dari kutub utara ke kutub selatan yang tepat melintasi kota Greenwich di Inggris. Jadi, garis bujur yang berada di sebelah barat Greenwich disebut Bujur Barat dan garis yang berada disebelah timur disebut Bujur Timur. Jarak kedua garis bujur itu dari Greenwich hingga pada batas 180º (seratus delapan puluh derajat) Pada jarak itu, Bujur Barat dan Bujur Timur kembali bertemu. Garis bujur inilah yang pada perkembangannya dijadikan sebagai patokan dalam menentukan waktu di berbagai belahan dunia. Sehingga sering kali pada setiap kapal terdapat dua jam yang digunakan. Jam yang menunjukkan waktu berdasarkan waktu di kota Greenwich dan jam yang menunjukkan waktu lokal atau berdasarkan matahari. Selisih dari dua jam yang berbeda itulah para pelaut secara praktis dapat menentukan derajat garis bujur dimana mereka berada. Sama seperti garis lintang, jarak antar garis bujur juga disebutkan dalam satuan derajat. Penulisannya pada koordinat juga sama seperti penulisan untuk Garis Lintang. Yang membedakan hanyalah symbol huruf di belakangnya. Misalnya huruf B untuk Bujur Barat dan huruf T untuk Bujur Timur. Pada peta internasional, huruf E (East) untuk Bujur Timur dan huruf W (West) untuk Bujur Barat. Kombinasi garis lintang dan garis bujur ini berguna untuk menentukan suatu lokasi di permukaan bumi. Garis Lintang menandakan sumbu x dan garus bujur menandakan sumbu y dalam sistem koordinat cartesian. Sebagi contoh kota Sabang di pulau We berada pada koordinat 6oLU 95o BT, dan kota Merauke di Papua memiliki koordinat 11oLS dan 141oBT , Jurnal Opung Dolli (2013) Lintang dan bujur yang ditampil pada Google Maps merupakan dasar dari sistem koordinat geografis digunakan untuk menunjukkan suatu titik di bumi. Garis lintang yaitu garis vertikal yang mengukur sudut antara suatu titik dengan garis khatulistiwa. Garis bujur yaitu garis horizontal yang mengukur sudut antara suatu titik dengan titik nol di bumi, yaitu Greenwich di London, Britania aya yang merupakan titik bujur 0 atau 360 yang diterima secara nternasional, oleh Sirenden (2012). 10 http://digilib.mercubuana.ac.id/ 2.3.3 Location Base Servise ( LBS ) Location Base Services atau layanan berbasis lokasi adalah istilah umum yang digunakan untuk menggambarkan tehnologi yang digunakan untuk menemukan lokasi perangkat yang kita gunakan. Dua unsur utama lbs adalah: 1. Location Manager ( API Maps ) menyediakan tools/source untuk LBS, Aplication Programming Interface ( API ) Map menyediakan fasilitas untuk menampilkan, manipulasi map/peta beserta feature-feature lainnya seperti tampilan satelit, street ( jalan ), maupun gabungannya. Paket ini berada pada com.google.android,maps. 2. Location Provider ( API Location ) menyediakan teknologi pencarian lokasi yang digunakan oleh device atau perangkat. API Location Berhubungan dengan data GPS ( global Positioning System ) dan data lokasi real-time. Oleh Nazrudin Safaat H ( 2012 ). Berikut ini adalah cara kerja LBS yaitu : 1. Smartphone membuka aplikasi LBS yang sudah terinstall. 2. Aplikasi LBS akan melakukan sambungan dengan jaringan provider (seperti telkomsel, xl, axis, dll) yang dipakai oleh si User (pengguna). 3. Jaringan mengirimkan request ke satelit untuk menentukan longitude (garis bujur) dan latitude (garis lintang) dari si pengguna aplikasi tersebut. 4. Provider menghubungkan aplikasi (di smartphone) dengan server LBS dan meminta data yang diinginkan User. 5. 2.4 User mendapatkan data dan ditampilkan di Smartphone. JSON ( JavaScrip Object Notation ) Menurut Deitel (2012, p1303) JSON (JavaScript Object Notation) adalah suatu format pertukaran data komputer. Format dari JSON adalah berbasis teks, dapat terbaca oleh manusia, digunakan untuk mempresentasikan struktur data sederhana, dan tidak bergantung dengan 11 http://digilib.mercubuana.ac.id/ bahasa apapun. Biasanya JSON digunakan pada aplikasi Ajax. Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui koneksi jaringan. Secara umum, JSON digunakan untuk mentransmisikan data antara server dan aplikasi web. Jenis media internet yang resmi untuk JSON adalah aplikasi/json. Format JSON sering digunakan untuk serialisasi dan mengirimkan data terstruktur melalui koneksi jaringan, terutama untuk pengiriman data antara server dan aplikasi web melayani sebagai alternatif ke XML. 2.5 DATABASE Menurut Connoly dan Begg (2010, p65), basis data adalah suatu kumpulan logikal data yang berhubungan dan dekripsi dari data tersebut yang di rancang untuk kebutuhan informasi suatu organisasi. 2.5.1 Database Management System Menurut Connolly dan Begg (2010, p16), “Database Management System (DBMS) adalah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengawasi akses ke database. Menurut Connolly dan Begg (2010, p17) ada beberapa keuntungan dari Database Management Systems (DBMS) diantaranya : a. Pengunaan data secara bersamaan (sharing of data) b. Mencegah duplikasi data (control of data redundancy) c. Menghindari ketidakkonsistensi data (data consistency) d. Keamanan yang terjamin (improved security) e. Integritas data yang terpelihara (improved data integrity) 2.5.2 MySQL Menurut Arief (2011d:152) “MySQL adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengolahan datanya”. MySQL dikembangkan oleh perusahaan swedia bernama MySQL AB yang pada saat ini bernama Tcx DataKonsult AB sekitar tahun 1994-1995, namun cikal bakal kodenya sudah ada sejak tahun 1979. Awalnya Tcx merupakan 12 http://digilib.mercubuana.ac.id/ perusahaan pengembang software dan konsultan database, dan saat ini MySQL sudah diambil alih oleh Oracle Corp. Kepopuleran MySQL antara lain karena MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses databasenya sehingga mudah untuk digunakan, kinerja query cepat, dan mencukupi untuk kebutuhan database perusahaan-perusahaan yang berskala kecil sampai menengah, MySQL juga bersifat open source (tidak berbayar) . MySQL merupakan database yang pertama kali didukung oleh bahasa pemrograman script untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software pembangun aplikasi web yang ideal. MySQL lebih sering digunakan untuk membangun aplikasi berbasis web, umumnya pengembangan aplikasinya menggunakan bahasa pemrograman script PHP. MySQL didistribusikan dengan licensi open source GPL (General Public License) mulai versi 3.23 pada bulan juni 2000. MySQL sebenarnya merupakan turunan dari SQL. SQL adalah sebuah konsep pengoperasian database, terutama utnuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbuktiuntuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. (Andri Kristanto, 2010:12). 2.6 PHP (Hypertext Preprocessor) 2.6.1 Pengertian PHP Menurut Arief (2011c:43) PHP adalah Bahasa server-side –scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena PHP merupakan server-side-scripting maka sintaks dan perintah-perintah PHP akan diesksekusi diserver kemudian hasilnya akan dikirimkan ke browser dengan format HTML. 13 http://digilib.mercubuana.ac.id/ Dengan demikian kode program yang ditulis dalam PHP tidak akan terlihat oleh user sehingga keamanan halaman web lebih terjamin. PHP dirancang untuk membuat halaman web yang dinamis, yaitu halaman web yang dapat membentuk suatu tampilan berdasarkan permintaan terkini, seperti menampilkan isi basis data ke halaman web. PHP juga dapat berjalan pada berbagai web server seperti IIS (Internet Information Server), PWS (Personal Web Server), Apache, Xitami. PHP juga mampu berjalan di banyak sistem operasi yang beredar saat ini, diantaranya : Sistem Operasi Microsoft Windows (semua versi), Linux, Mac Os, Solaris. PHP dapat dibangun sebagai modul web server Apache dan sebagai binary yang dapat berjalan sebagai CGI (Common Gateway Interface). PHP dapat mengirim HTTP header, dapat mengatur cookies , mengatur authentication dan redirect user. Salah satu keunggulan yang dimiliki PHP adalah kemampuannya untuk melakukan koneksi ke berbagai macam software sistem manajemen basis data atau Database Management Sistem (DBMS), sehingga dapat menciptakan suatu halaman web dinamis. PHP mempunyai koneksitas yang baik dengan beberapa DBMS seperti Oracle, Sybase, mSQL, MySQL, Microsoft SQL Server, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tidak terkecuali semua database ber-interface ODBC. Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan ini kita akan mempunyai suatu sistem basis data yang dapat diakses. 2.6.2 Konsep Kerja PHP Model kerja HTML(Hypertext Markup Language) diawali dengan permintaan suatu halaman web oleh browser. Berdasarkan URL atau dikenal dengan sebutan alamat internet, browser mendapatkan alamat dari web server, mengidentifikasi halaman yang dikehendaki dan menyampaikan segala informasi yang dibutuhkan oleh web server. Selanjutnya web server akan mencarikan file yang diminta dan memberikan isinya ke web browser. Browser yang mendapatkan isinya segera melakukan proses penerjemahan kode HTML dan menampilkannya ke layar pemakai. 14 http://digilib.mercubuana.ac.id/ Jika yang diminta adalah halaman PHP maka prinsipnya serupa dengan kode HTML, hanya saja ketika berkas PHP yang diminta didapatkan oleh web server, isinya segera dikirimkan ke mesin PHP dan mesin inilah yang memproses dan memberikan hasilnya (berupa kode HTML) ke web server. Selanjutnya web server menyampaikan ke klien. 2.6.3 PHP MyAdmin PhpMyAdmin adalah suatu program open source yang berbasis web yang dibuat menggunakan aplikasi PHP. Program ini digunakan untuk mengakses database MySQL. Program ini mempermudah dan mempersingkat kerja kita. Dengan kelebihannya, para pengguna awam tidak harus paham sintaxsintax SQL dalam pembuatan database dan tabel. 2.6.4 Fungsi PHP Function (fungsi) adalah kumpulan beberapa statement yang dibuat dengan tujuan menyelesaikan satu tugas tertentu. Kehandalan yang nyata dari PHP adalah dari tersedia banyak fungsi built-in (standar) yang dimilikinya. Dalam PHP terdapat lebih dari 700 fungsi built-in yang tersedia, dan akan bertambah setiap ada versi baru berikutnya. PHP dapat berjalan di berbagai system operasi seperti windows 98/NT, UNIX/LINUX, solaris maupun macintosh , Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti menambah fungsifungsi baru. Keunggulan lainnya dari PHP adalah PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 bahkan HTTP, PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script yang mandiri, Tingkat keamanan yang cukup tinggi, waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting, akses ke system database yang lebih fleksibel seperti MySQL. 15 http://digilib.mercubuana.ac.id/ 2.7 Teory Development Software 2.7.1 Sistem Development LifeCycle (SDLC) Sebuah sistem informasi bisa dikatakan berjalan dengan baik tentu dengan pengelolaan pelaksanaan yang baik. Di dalam sistem informasi, dalam pengembangan sistem informasi, ada metode yang paling umum digunakan dikenal dengan istilah SDLC (System Developement Life Cycle). Inilah acuan untuk bisa membangun dan mengelola sebuah sistem informasi yang baik. Pengertian SDLC adalah suatu proses berkelanjutan dari planning, analisis, desain dan implementasi. Yang pada setiap prosesnya dilakukan perbaikan secara bertahap.(Dennis et al, 2012:39) 2.8 Model Unified Modelling Language (UML) Menurut Nugroho (2010:6), UML (Unified Modeling Language) adalah „bahasa‟ pemodelan untuk sistem atau perangkat lunak yang berparadigma „berorientasi objek”. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Menurut Satzinger, J.W., Jackson, R.B., & Burd, S.D. (2010), diagram yang digunakan di dalam object-oriented analysis adalah sebagai berikut: 2.8.1. Class Diagram Menurut pendapat Satzinger, J.W., Jackson, R.B., & Burd, S.D (2010, p185), class diagram memiliki tiga bagian penting, yaitu sebagai berikut: 1. Class name Merupakan nama dari suatu class pada clas diagram. 2. Attribute Merupakan atribut-atribut yang dimiliki oleh suatu class. 3. Method Menjelaskan apa saja yang bisa dilakukan oleh objek-objek di dalam suatu Class. 16 http://digilib.mercubuana.ac.id/ Gambar 2.1 Contoh Class Diagram Satzinger, J.W., Jackson, R.B., & Burd, S.D. (2010, p187) 2.8.2. Sequence Diagram Sequence diagram digunakan untuk menjelaskan interaksi beberapa objek pada waktu tertentu secara berurutan. Menurut pendapat Satzinger, J.W., Jackson, R.B., & Burd, S.D. (2010, p252), notasi di dalam sequence diagram adalah sebagai berikut: 1. Actor Merupakan pengguna yang berinteraksi secara langsung dengan sistem. 2. Input message Merupakan pesan input dari pengguna ke dalam suatu sistem. 3. Returned value Merupakan pesan output dari suatu sistem ke pengguna, hasil dari pemrosesan input. 4. Object Merupakan objek-objek yang berinteraksi di dalam sequence diagram. 5. Object lifeline Menggambarkan urutan pesan dari atas ke bawah. 17 http://digilib.mercubuana.ac.id/ Gambar 2.2 Sequence Diagram Satzinger, J.W., Jackson, R.B., & Burd, S.D. (2010, p253) 2.8.3. Use Case Diagram Use case diagram digunakan untuk menunjukkan interaksi pengguna (actors) dengan suatu sistem. Actor merupakan pengguna dari suatu sistem yang secara langsung berinteraksi dengan sistem itu sendiri. Berikut ini adalah komponen-komponen dari suatu Use Case Diagram: 1. System Boundary Menggambarkan batasan antara sistem dengan actor. 2. Use case Menggambarkan apa yang dilakukan oleh actor di dalam sistem. 3. Actors Menggambarkan user atau pengguna dari suatu sistem. 4. Flow Menggambarkan hubungan antara use case dengan actor. 18 http://digilib.mercubuana.ac.id/ Gambar 2.3 Contoh Use Case Diagram Satzinger, J.W., Jackson, R.B., & Burd, S.D. (2010, p244) 2.8.4. Activity diagram Activity diagram merupakan jenis workflow diagram yang menggambarkan aktivitas pengguna di dalam sistem secara berurutan. Gambar 2.4 Simbol dalam Activity Diagram Satzinger, J.W., Jackson, R.B., & Burd, S.D. (2010, p142). 19 http://digilib.mercubuana.ac.id/